Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ чтение image из файла

Автор: Адель 2.05.2007 11:10

как можно прочитать image из файла, записанный в него либо по одной картинке либо вот таким вот способом:

Procedure AddToStream ( Source , Dest : TStream );
var
Size: Integer;
begin
Source.position := 0;
Size := Source.Size;
Dest.Write(Size,SizeOf(Integer));
Dest.CopyFrom(Source,Source.size);
end;

procedure TForm1.SaveClick(Sender: TObject);
var
s1, s2: TMemoryStream ;
i: integer;
begin
s1:= TMemoryStream.Create ;
try
s2:= TMemoryStream.Create ;
try
for i:=1 to 300 do
begin
s2.LoadFromFile('C:\Image\'+IntToStr(i)+'.jpg');
AddToStream(s2,s1);
end;
finally
s2.Free ;
end;
s1.SaveToFile('C:\Image.dat')
finally
s1.free ;
end;
end;



Автор: Malice 2.05.2007 13:14

Это надо было в отдельный файлик писать размеры всех картинок (либо позицию в файле), или в тот же файл (длина/картинка, длина/картинка..). Теперь придется искать начало картинки либо по сигнатуре (jpg-и начинаются одинаково), либо разобрать заголовок и оттуда вычислить длину. По сигнатуре проще наверное.

Автор: Адель 2.05.2007 20:31

допустим если записями писать типа:
1.имя
2.размер
3.картинка
то как присвоить Timage картинку с определенным именем...какой фукцией?
если можно кодом пожалуйста, а то затрудняюсь unsure.gif

Автор: hardcase 5.05.2007 23:31

Цитата(Адель @ 2.05.2007 17:31) *
как присвоить Timage картинку с определенным именем...какой фукцией?

Загрузка картинки осуществляется так:

Image1.Picture.LoadFromFile();

Кроме того, я как-то собирал сериализатор объектов в поток (stream), который позволял сохранять достаточно сложные структуры из объектов (включая циклические ссылки друг на друга), насколько помню он был очень компактен (200-300 строк). Если заинтересует - могу выложить код...

Автор: Адель 6.05.2007 0:38

если не сложно smile.gif

Автор: hardcase 6.05.2007 4:11

Цитата(Адель @ 5.05.2007 21:38) *
если не сложно smile.gif

Не поленился и кое какую документацию написал.



Прикрепленные файлы
Прикрепленный файл  Serializer.zip ( 21.48 килобайт ) Кол-во скачиваний: 151

Автор: Адель 6.05.2007 12:39

спасибо )