![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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. Я так думаю, что ошибки при заполнении потоков нет, потому что сохраненные файлы из этих потоков читаются и имеют правильный размер.