Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];

Вниз

сжатие отсканированной фотки   Найти похожие ветки 

 
gentos   (2007-08-13 14:40) [0]

Уважаемые мастера, я со сканера получаю в битмэп документ 10 Мб, мне надо помещать его в базу, я уже это реализовал, но 10 Мб это как-то есть много :), поэтому хотелось бы как-то уменьшить размерчик до 1 Мб, как это можно сделать и если уже кто-то с этим сталкивался можете дать код , вот что я написал ругаеться error 52 bla bla jpeg

function TScanDocForm.BmpToJpg(Mstream: TMemoryStream):TMemoryStream;
var
 Jpg: TJPEGImage;
 Strm: TMemoryStream;
begin
  try
    Jpg:=TJPEGImage.Create;
    Strm:=TMemoryStream.Create;
    Jpg.LoadFromStream(MStream);
    Jpg.SaveToStream(Strm);
    Result := Strm;
  finally;
  Jpg.Free;
  Strm.Free;
  end;
end;

вызываю следующим образом

    ScanImage.Picture.Bitmap.SaveToStream(Mstream);
    Mstream.Position :=0;
    LOB.CopyFrom(BmpToJpg(Mstream),BmpToJpg(Mstream).Size);


писал это учитывая мой предыдущий опыт перевота с

  Bit : TBitmap;
  в
  Jpg: TJPEGImage;

но, к сожалению, не прошло, что делать ? :)...


 
DVM ©   (2007-08-13 14:44) [1]


> но, к сожалению, не прошло, что делать ? :)...

Странный у тебя подход - сохраняешь в поток битмап, а читаешь из потока в жпег. Это то же самое что битмап сохранить в файл, а потом пытаться прочитать из этого же файла но уже жпег.


 
gentos   (2007-08-13 14:47) [2]

согласен, глупо, но это проблемы не решает :)


 
DVM ©   (2007-08-13 14:49) [3]

procedure TForm1.Button1Click(Sender: TObject);
var
 JPEG: TJPEGImage;
 Bitmap: TBitmap;
begin
 JPEG := TJPEGImage.Create;
 Bitmap := TBitmap.Create;
 try
   Bitmap.LoadFromFile("C:\test.bmp");
   JPEG.Assign(Bitmap);
  ///// тут сохраняй жпег куда тебе надобно
 finally
   JPEG.Free;
   Bitmap.Free;
 end;
end;


 
gentos   (2007-08-13 14:50) [4]

:) тока сам написал такое же :)

 LobCreateTemporary(LOB);           // cr temp
    Jpg:=TJPEGImage.Create;
    Mstream:=TMemoryStream.Create;
    //
    Jpg.Assign(ScanImage.Picture.Bitmap);
    jpg.SaveToStream(Mstream);
    //
  //  ScanImage.Picture.Bitmap.SaveToStream(Mstream);
    Mstream.Position :=0;
    LOB.CopyFrom(Mstream,Mstream.Size);


 
gentos   (2007-08-13 14:51) [5]


> DVM ©   (13.08.07 14:49) [3]


сенкс



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.044 c
2-1187077994
Krants
2007-08-14 11:53
2007.09.09
DBGrid фон активной ячейки


2-1187261635
Quart
2007-08-16 14:53
2007.09.09
Ошибка BLOB


2-1187124924
Евгений Р.
2007-08-15 00:55
2007.09.09
ввод tDateTimePicker


15-1186739788
Сергей М.
2007-08-10 13:56
2007.09.09
За что я уважаю или не уважаю Styx


2-1187035315
loeg
2007-08-14 00:01
2007.09.09
Delphi и Касперский





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский