Набор функций для работы с BMP файлами. Позволяет работать как с файлами, так и с ресурсами. Лицензия GNU (GNU GPL ver.2).
Перечислю группы функций:
-
SizeBitmap
Набор функций позволяющий узнать размер картинки как по её хэндлу, так и сразу из файла/ресурса.
-
LoadBitmap
Собственно, самый главный набор функций - получение хендла нужного BMP из файла, ресурса EXE/DLL (по его имени, с учётом/без учёта языка) или по данным из структур BITMAPINFO / BITMAPFILEHEADER.
-
ExtractBmp
Тоже интересный набор функций. Позволяет сохранить нужный BMP из ресурса с учётом/без учёта языка.
-
SaveBitmap
Набор функций для сохранения BMP файла из хэндла картинки и/или DC (window grafics device context).
-
DrawBitmap
Рисование BMP - две ф-ции для вывода изображения. Для 32х битных картинок учитывается альфа канал.
-
Работа с ресурсами
Парочка ф-ций для перечисления инфы о картинках из нужного DLL/EXE модуля.
-
И ещё несколько вспомогательных, но нужных ф-ций - для создания маски; совместимой картинки; монохромной и просто нужного размера.
Как бонус - ф-ция для вращения BMP на произвольный угол.
В случае неудачной отработки любой из функций причину можно узнать с помощью вызова GetLastError().
Отображение картинок выполняется с учётом альфа-канала! (946 Кб)
Также приведён тестовый проект под MS VC++. В нём демонстрируется работа почти всех вышеописанных функций. Данная программа отображает все BMP и фреймы иконок из указанного EXE/DLL файла, а также все BMP/ICO файлы из выбранного каталога.
Демо - тестовый пример + исxодники (908 Кб) - под VC9 (WTL)