Главная страница
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.041 c
14-1082109682
Voland2000
2004-04-16 14:01
2004.04.11
Nokia 8110-forever


14-1079221527
ИМХО
2004-03-14 02:45
2004.04.11
Что это за кодировка?


1-1080033509
alk_none
2004-03-23 12:18
2004.04.11
creating add-ins for MS Office


11-1059645060
Babenko Alexey
2003-07-31 13:51
2004.04.11
Проблемі с ON E: exception


8-1070635022
Tracker
2003-12-05 17:37
2004.04.11
Запись музыки