![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Если кто-то работал с ZLib, помогите! [D5, Win2k]
Unknown user © (2004-12-01 19:22:00)Как заставить грузится TBitmap из TDecompressionStream. При вызове TBitmap.LoadFromStream определяется размер потока- вызывается TStream.GetSize, в котором используется Seek(0, soFromEnd), а для TDecompressionStream Origin=soFromEnd в Seek -это недопустимая операция. Как выйти из этого положения, Надо записывать/считывать графику...
Unknown user (2004-12-06 16:41:00) [1]2 GuAV. Запоздавшее спасибо. Очень мне помогли, сам бы я, по причине невнимательности, никогда бы не нашел эти процедуры.
GuAV (2004-12-02 00:44:00) [2]Пардон, без вторго True, с WriteStream попутал.
GuAV (2004-12-02 00:43:00) [3]Сам хотел уже написать [3] кодом, как нашел способ проще
type
TXBitmap = class(TBitmap);
...
TXBitmap(Bmp).ReadData(S, True)
TXBitmap(Bmp).WriteData(S, True)
Unknown user (2004-12-01 20:36:00) [4]2 GuAV. Проблема в том, что размер распакованных данных в процессе чтения сжатого потока мы знать не можем, поэтому TDecompressionStream так и реагирует на GetSize. А менять TBitmap.LoadFromStream -значит создавать свой класс. Может есть графичесские библиотеки для Делфи, которые содержат граф. классы имеющие методы LoadFromStream?
GuAV (2004-12-01 19:47:00) [5]А если объявить своего наследника TStream, и из TDecompressionStream прочитать размер для GetSize, , и дальнейшее чтение делать из TDecompressionStream ?
Unknown user (2004-12-01 19:29:00) [6]Ч использую стандартный TBitmap.LoadFromStream. Создавать свои графические классы только для считывания/записи в поток как-то не хочется.
GuAV (2004-12-01 19:23:00) [7]Unknown user © (01.12.04 19:22)
Писать размер вперёд данных.