Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Bitmap.LoadFromStream для bmp, сделанных в разных программах   Найти похожие ветки 

 
Ал   (2003-11-14 11:28) [0]

Никто не встречался с таким эффектом:

Делаю в PhotoShop5.5 несколько 256-цветных bmp. Затем с помощью Stream записываю их в один файл (делаю библиотеку).

Когда читаю с помощью Bitmap.LoadFromStream, возникает интересный эффект:

- если картинки делались в PhotoShop, то при чтении из Stream они читаются правильно, НО после чтения каждой картинки нужно на 2 байта передвигать указатель вперед - иначе следующий прочитается с ошибкой;

- если картинки делались в Paint, то картинки читаются, передвигать указатель не нужно, а вот с последней картинкой бывают проблемы (если после нее еще что-то есть в Stream, напр., массив строк, то картинка может прочитаться с ошибкой).

В VCL не экспериментировал.

Есть какие-нибудь идеи?


 
SAGE   (2003-11-14 12:49) [1]

Такой эффект я замечал еще с PhotoShop3.
Он помоему всегда добавлял два абсолютно лишних байта к каждому файлу :)

Для себя я когда-то еще в далеком 1998 на TP написал утилитку, что-то вроде BMP-оптимизатора.
Например картинка содержит десяток цветов, а сохранена как Truecolor. После оптимизации такой битмап становится меньше как минимум в 4 или 8 раз!!! А если в картинке 2 цвета, то и во все 32 раза, причем наблюдается интересный эффект - получается двухцветная (не черно-белая) картинка, чего я не встречал еще ни в одном редакторе!!!
Понятное дело часть ненужных цветов в палитре (в случае 16-ти и 256-ти цветов) теряется.
Я вообще ни один битмап не добавляю к проектам предварительно не оптимизировав.


 
SPeller ©   (2003-11-14 15:14) [2]

А какая разница, что там фотошоп пишет? В заголовке файла всё-равно указывается размер, и фотошоповкий файл в заголовке имеет длину на 2 больше чем, например, из paint"а. Ты и у себя в библиотеке тоже записывай длину данных и ориентируйся по ней.



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

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.091 c
8-1075933617
DjTheme
2004-02-05 01:26
2004.04.11
Как проиграть МП3 или что то другое на двух звуковухах


1-1080300909
WondeRu
2004-03-26 14:35
2004.04.11
Как направить сообщения с консоли в TMemo


4-1075386758
_hunter_
2004-01-29 17:32
2004.04.11
как добавить пользователя в группу


1-1080015761
Balkon
2004-03-23 07:22
2004.04.11
StringGrid и DrawText в onDrawCell.


1-1082706888
Шлей Артем
2004-04-23 11:54
2004.04.11
Установка программы