-
Как в Windows CE API извлечь из .ico файла, содержащего несколько форматов иконок, иконку с заданными параметрами (глубина цвета и размер) и получить ее handle?
-
LoadImage()
-
В Windows CE loadImage не умеет работать с файлами, только с ресурсами загруженного приложения.
-
Можно вручную загрузить, формат относительно несложный.
TIconHeader = packed record idReserved: Word; (* Always set to 0 *) idType: Word; // 1 - icon, 2 - cursor idCount: Word; (* Number of icon images *) (* immediately followed by idCount TIconDirEntries *) end;
TIconDirEntry = packed record bWidth: Byte; (* Width *) bHeight: Byte; (* Height *) bColorCount: Byte; (* Nr. of colors used, see below *) bReserved: Byte; (* not used, 0 *) wPlanes: Word; // icons - always 1, cursors - pointer X coord wBitCount: Word; // icons - bit count, cursors - pointer Y coord dwBytesInRes: Longint; (* total number of bytes in images *) dwImageOffset: Longint;(* location of image from the beginning of file *) end;
Иконки лежат в стандартном формате битмапа, сразу за картинкой 1-битная маска. Возможно, есть какие-то готовые библиотеки...
-
-
Иконки лежат в стандартном формате битмапа
Точнее, есть одно исключение - последний уровень детализации (256*256) в вистовских иконках, там обычно PNG.
|