Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TJPEGImage проблемы с потоком


Zeqfreed ©   (2004-09-12 10:01:00) 

procedure LoadImg(idx : Cardinal);
var
JPG : TJPEGImage;
begin
if (idx > imgsNum - 1) then Exit;

Streams[idx].SaveToFile('f:\tst.jpg');

JPG := TJPEGImage.Create;
JPG.LoadFromStream(Streams[idx]);

frmScr.imgMain.Picture.Assign(JPG);
JPG.Destroy;
end;


Этот код выдает ошибку "JPEG error #41".

procedure LoadImg(idx : Cardinal);
var
JPG : TJPEGImage;
begin
if (idx > imgsNum - 1) then Exit;

Streams[idx].SaveToFile('f:\tst.jpg');

JPG := TJPEGImage.Create;
JPG.LoadFromFile('f:\tst.jpg');

frmScr.imgMain.Picture.Assign(JPG);
JPG.Destroy;
end;


Этот код работает

Объясните, а чем причина, пожалуйста! Я никак не могу понять, почему он не хочет грузить из потока (Streams - массив of TMemoryStream) но из файла, сохраненного из потока грузит прекрасно. И что значит ошибка 41?


Zeqfreed   (2004-09-12 10:09:00) [1]

Добавлю, что если я гружу поток из файла, то 1-ый код тоже работает, но у меня есть файл в нем подряд записаны несколько JPG-изображений. Так вот я считываю в потоки последовательно данные из этого файла, т.е. Stream.CopyFrom. Я так думаю, что ошибки при заполнении потоков нет, потому что сохраненные файлы из этих потоков читаются и имеют правильный размер.


Наверх

Титульная страница Поиск, карта сайта Написать письмо