Вниз
Скачать: CL | DM;

Если кто-то работал с ZLib, помогите!   Найти похожие ветки 

 
Unknown user ©   (2004-12-01 19:22) [0]

Как заставить грузится TBitmap из TDecompressionStream. При вызове TBitmap.LoadFromStream определяется размер потока- вызывается TStream.GetSize, в котором используется Seek(0, soFromEnd), а для TDecompressionStream Origin=soFromEnd в Seek -это недопустимая операция. Как выйти из этого положения, Надо записывать/считывать графику...


 
GuAV ©   (2004-12-01 19:23) [1]

Unknown user ©   (01.12.04 19:22)

Писать размер вперёд данных.


 
Unknown user ©   (2004-12-01 19:29) [2]

Ч использую стандартный TBitmap.LoadFromStream. Создавать свои графические классы только для считывания/записи в поток как-то не хочется.


 
GuAV ©   (2004-12-01 19:47) [3]

А если объявить своего наследника TStream, и из TDecompressionStream прочитать размер для GetSize, , и дальнейшее чтение делать из TDecompressionStream ?


 
Unknown user ©   (2004-12-01 20:36) [4]

2 GuAV. Проблема в том, что размер распакованных данных в процессе чтения сжатого потока мы знать не можем, поэтому TDecompressionStream так и реагирует на GetSize. А менять TBitmap.LoadFromStream -значит создавать свой класс. Может есть графичесские библиотеки для Делфи, которые содержат граф. классы имеющие методы LoadFromStream?


 
GuAV ©   (2004-12-02 00:43) [5]

Сам хотел уже написать [3] кодом, как нашел способ проще

type
 TXBitmap = class(TBitmap);
...

 TXBitmap(Bmp).ReadData(S, True)
 TXBitmap(Bmp).WriteData(S, True)


 
GuAV ©   (2004-12-02 00:44) [6]

Пардон, без вторго True, с WriteStream попутал.


 
Unknown user ©   (2004-12-06 16:41) [7]

2 GuAV. Запоздавшее спасибо. Очень мне помогли, сам бы я, по причине невнимательности, никогда бы не нашел эти процедуры.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
3-1100862240
Dush
2004-11-19 14:04
2004.12.19
Хранимая процедура


1-1101988376
X-gen
2004-12-02 14:52
2004.12.19
Бегущая строка


3-1100784986
Игорь Писанко
2004-11-18 16:36
2004.12.19
Открыть .dbf без индекса


3-1100685372
Highlander
2004-11-17 12:56
2004.12.19
Подключение к БД IB/FB по локалке


1-1101992869
Aleksandr.
2004-12-02 16:07
2004.12.19
У меня Делфи сломалась, или как?




   Наверх