Форум: "Основная";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
ВнизJpeg в поток Найти похожие ветки
← →
Oleg_ (2003-11-08 00:12) [0]var ...
sm: TmemoryStream;
//Следующая строка выполняется только если в bitmap
//сидит картинка bmp, если же jpeg то sm остается пустым.
Image1.Picture.Bitmap.SaveToStream(sm);
//Как можно загнать Jpeg в поток?
← →
Palladin (2003-11-08 00:17) [1]попробуй вызвать перед записью TJpegImage.DIBNeeded
← →
wicked (2003-11-08 00:29) [2]TJpegImage.SaveToStream....
← →
Oleg_ (2003-11-08 00:39) [3]Пробовал, не помогает да и собственно TJpegImage.DIBNeeded обеспечивает декомпрессию.
← →
Oleg_ (2003-11-08 00:44) [4]TJpegImage.SaveToStream тоже пробовал
...
jp := TJPEGImage.Create;
jp.Assign(wotchet.image_profil.Picture.Bitmap);
// jp.CompressionQuality:=80;
jp.Compress;
jp.JPEGNeeded;
//jp.DIBNeeded;
Image1:=TImage.Create(nil);
Image1.Picture.Assign(jp);
jp.SaveToStream(sm);
//Image1.Picture.Bitmap.SaveToStream(sm);
jp.Free;
Image1.Free;
...
При таком коде как ни странно в поток попадает bmp,
попадает именно здесь, я проверял, комментировал
jp.SaveToStream(sm); в этосм случае поток был пуст.
← →
Oleg_ (2003-11-08 16:45) [5]Поток в дальнейшем попадает в вебброузер по средствам переопределения пространства имен
namespace
Изменеия параметра
jp.CompressionQuality:=80;
сказываются на качестве выдаваемого изображения, а вот уже из вебброузера рисунок сохраняется только как БМП.
← →
Oleg_ (2003-11-08 22:18) [6]Пробовал непосредственно из jpg файла залить изображение
И результат тот же. Из вебброузера рисунок сохраняется только как bmp.
Быть может при такой потоковой отправке данных необходимо как-то указать тип данных?
F := TFileStream.Create("c:\1.jpg", fmOpenRead);
CreateStreamOnHGlobal(0, True, DataStream);
TOleStream.Create(DataStream).CopyFrom(F, F.Size);
DataStream.Seek(0, STREAM_SEEK_SET, Dummy);
TotalSize := F.Size;
F.Free;
(*Inform Transaction handler that all data is ready *)
ProtSink.ReportData(BSCF_FIRSTDATANOTIFICATION or
BSCF_LASTDATANOTIFICATION or BSCF_DATAFULLYAVAILABLE, TotalSize, TotalSize);
(* -> Here our Read Method is called by transaction handler*)
ProtSink.ReportResult(S_OK, S_OK, nil);
(* Report result to transaction handler. Our Terminate method will be called *)
Result := S_OK;
← →
Oleg_ (2003-11-08 22:36) [7]Конечно же если отключить обработку загрузки изображения (без использования пространства имен) и вебброузер сам его находит jpeg по определенному пути, то по команде сохранить рисунок как... есть опция jpeg.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.015 c