![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TCompressionStream [D7, XP]
savyhinst © (2008-01-18 18:22:00)Здраствуйте.
Подскажите пож. как использовать TCompressionStream?
Желательно на примере сохранения и загрузки туда чего-либо. Например картинки из TImage.
Спасибо за внимание.
Efir (2008-01-18 20:56:00) [1]Примерно так, запись:
var
cs:TCompressionStream;
f:TFileStream;
bmp:TBitmap;
f:=TFileStream.Create('куда сохраняем', fmWrite);
cs:=TCompressionStream.Create(clDefault, f);
bmp.SaveToStream(cs);
Считывание:
const
BuffSize = 16384;
var
f:TFileStream;
ms:TMemoryStream;
cs:TDecompressionStream;
BytesRead:integer;
bmp:TBitmap;
ms:=TMemoryStream.Create;
f:=TFileStream.Create(FileName, fmOpenRead);
cs:=TDecompressionStream.Create(f);
repeat
BytesRead:=cs.Read(Buffer, BuffSize);
ms.Write(Buffer, BytesRead);
until BytesRead<BuffSize;
bmp.ReadFromStream(ms);
Соответственно не забывая try-finaly и free.
Palladin (2008-01-18 18:27:00) [2]как обычный stream, только соответственно read работать не будет
лучше использовать процедуры ZCompressStream/ZDecompressStream