![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
получение bmp-заголовка из jpeg [D6, WinXP]
NorthMan © (2005-04-25 11:54:00)Проблема такая. Нужна ф-ция, которая на входе получает jpeg, а на выходе выдает инфу bmp-формата, т.е. структуры TBitmapFileHeader, PBitmapInfo и саму битовую карту, точнее указатель на нее.
Что-то типа
function GetInfo(FileName:String; var BitmapFileHeader: TBitmapFileHeader; var BitmapInfo: PBitmapInfo; var Bits: THandle):integer;
При этом TBitmap использовать нежелательно. Какие будут идеи?
MBo (2005-04-26 13:42:00) [1]мне обычно хватает jpeg.dcu
У Intel есть библиотека jpeg-овская, оптимизированная под MMX и SSE, но придется с собой таскать длл-ку. И не знаю, как там с лицензией дела обстоят (года 4 назад было бесплатно, потом они эту практику прекратили)
Еще можно на codecentral (cc.borland.com) покопаться.
вот один пример:
http://cc.borland.com/ccweb.exe/listing?id=19723
NorthMan (2005-04-26 10:22:00) [2]Может кто видел готовое решение? А то я ищу уже который день, но ничего толкового не нарыл...
Jeer (2005-04-26 09:57:00) [3]Конечно можно - написав свою Lib.
MBo (2005-04-26 09:57:00) [4]да, можно, со своей библиотекой декодирования.
но это порядка десять-тридцать килобайт текста кода, так что лучше найти готовое решение.
NorthMan (2005-04-26 09:34:00) [5]Спасибо за ответы. Меня еще интересует, можно ли выполнить jpeg-преобразования без использования jpeg.dcu и сторонних библиотек?
MBo (2005-04-25 18:50:00) [6]>как получить указанные структуры из TBitmap?
В модуле Graphics для этого есть специальные процедуры.
Также можно воспользоваться GetDiBits. Первый вызов с нулевым указателем вместо буфера под данные заполнит InfoHeader, второй с указателем на буфер нужного размера получит цветовые данные.
P.S. TBitmap FileHeader из битмапа в памяти, конечно, не получить, но он просто состоит из сигнатуры "BM", размера файла, а дальше - InfoHeader
NorthMan (2005-04-25 14:38:00) [7]Если можно, пример, как получить указанные структуры из TBitmap?
MBo (2005-04-25 13:58:00) [8]c TBitmap - сделать очень просто и быстро.
Альтернатива - OleLoadPicture