|
Если вам необходимо
загрузить файл в HBITMAP, то нужно выделить память для структуры ImageStruct и вызвать функцию LoadImageFile(), где указать
имя файла и указатель на структуру ImageStruct.
Если возвращаемое значение не NULL, то это идентификатор HBITMAP,
который дальше можно использовать в своих корыстных целях :).
Если вам нужно загрузить в какой то участок памяти,
то тогда вы должны сделать следующие манипуляции
- Выделить память для структуры ImageStruct.
- Получить идентификатор файла с помощью функции file_open().
- Выделить память под void* для хранения
переменной HeaderInfo.
- Вызвать функцию ReadImageHeader().
- Если значение переменной iBitPexPixel структуры
ImageStruct
> 8, то тогда нужно выделить память под хранение изображения. Нужно
помнить, что каждая строка в изображении выравнивается по границе
двойного слова (4 байта). Затем вызвать функцию ReadImageData(). Вы получите
данные изображения в формате, указанном структуре ImageStruct.
- Если значение переменной iBitPexPixel структуры
ImageStruct
<= 8, то тогда нужно загрузить палитру функцией ReadImagePalette(). Потом
сделать то же самое, что и в пункте 5, с той оговоркой, что вы получите
не пикселы, а индексы в палитре.
- После загрузки освободить данные необходимые
для загрузки функцией DeleteImageHeaderInfo() и
закрыть файл функцией file_close.
|
|