Главная страница
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.03 c
3-1081937395
Vitaliy
2004-04-14 14:09
2004.04.11
Создание dbf таблицы через ADO


7-1075284543
retro
2004-01-28 13:09
2004.04.11
Запуск приложения автоматически


14-1080143655
Piter
2004-03-24 18:54
2004.04.11
FAQ: Добавление иконки в SysTray


1-1079903483
SeriousSam
2004-03-22 00:11
2004.04.11
Как сделать импорт из exel?


1-1079900343
Nekto
2004-03-21 23:19
2004.04.11
Процессы