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

Вниз

получение bmp-заголовка из jpeg   Найти похожие ветки 

 
NorthMan   (2005-04-25 11:54) [0]

Проблема такая. Нужна ф-ция, которая на входе получает jpeg, а на выходе выдает инфу bmp-формата, т.е. структуры TBitmapFileHeader, PBitmapInfo и саму битовую карту, точнее указатель на нее.

Что-то типа
function GetInfo(FileName:String; var BitmapFileHeader: TBitmapFileHeader; var BitmapInfo: PBitmapInfo; var Bits: THandle):integer;

При этом TBitmap использовать нежелательно. Какие будут идеи?


 
MBo ©   (2005-04-25 13:58) [1]

c TBitmap - сделать очень просто и быстро.
Альтернатива  - OleLoadPicture


 
NorthMan   (2005-04-25 14:38) [2]

Если можно, пример, как получить указанные структуры из TBitmap?


 
MBo ©   (2005-04-25 18:50) [3]

>как получить указанные структуры из TBitmap?
В модуле Graphics для этого есть специальные процедуры.
Также можно воспользоваться GetDiBits. Первый вызов с нулевым указателем вместо буфера под данные заполнит InfoHeader, второй с указателем на буфер нужного размера получит цветовые данные.

P.S. TBitmapFileHeader из битмапа в памяти, конечно, не получить, но он просто состоит из сигнатуры "BM", размера файла, а дальше  - InfoHeader


 
NorthMan   (2005-04-26 09:34) [4]

Спасибо за ответы. Меня еще интересует, можно ли выполнить jpeg-преобразования без использования jpeg.dcu и сторонних библиотек?


 
Jeer ©   (2005-04-26 09:57) [5]

Конечно можно - написав свою Lib.


 
MBo ©   (2005-04-26 09:57) [6]

да, можно, со своей библиотекой декодирования.
но это порядка десять-тридцать килобайт текста кода, так что лучше найти готовое решение.


 
NorthMan   (2005-04-26 10:22) [7]

Может кто видел готовое решение? А то я ищу уже который день, но ничего толкового не нарыл...


 
MBo ©   (2005-04-26 13:42) [8]

мне обычно хватает jpeg.dcu
У Intel есть библиотека jpeg-овская, оптимизированная под MMX и SSE, но придется с собой таскать длл-ку. И не знаю, как там с лицензией дела обстоят (года 4 назад было бесплатно, потом они эту практику прекратили)
Еще можно на codecentral  (cc.borland.com) покопаться.
вот один пример:
http://cc.borland.com/ccweb.exe/listing?id=19723



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

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

Наверх




Память: 0.48 MB
Время: 0.042 c
14-1124343430
cherrex
2005-08-18 09:37
2005.09.11
Картинки для компонентов


4-1121870239
Profik
2005-07-20 18:37
2005.09.11
Прога в трее


14-1124224030
Cheaterr
2005-08-17 00:27
2005.09.11
Вопрос к тем, кто работает на производстве или торговых компаниях


9-1116081379
Sakhnov K S
2005-05-14 18:36
2005.09.11
Всех прошу о помощи! - протестируйте игрушку


14-1124103208
root
2005-08-15 14:53
2005.09.11
Проблемма с часам