Skip to content
jtippet edited this page Mar 23, 2019 · 1 revision

ICO134: InvalidBitmapHeader_biClrUsed

ICO files can contain bitmap files. If the bitmap has a color depth of 8 bits or fewer, then the bitmap is stored using indices into a color table. The size of the color table is provided in the BITMAPINFOHEADER::biClrUsed field.

It's possible to calculate the maximum size of the color table, given the color depth of the bitmap. An N-bit image has at most 2^N colors, so the color table can have at most 2^N entries. For example, a 4-bit image has at most 16 colors, so the color table can have at most 16 entries.

You will receive warning ICO134 if the color table is larger than the declared bit depth of the bitmap. Some graphics libraries may reject the icon as malformed if the color table is too large for the color depth.

You can repair this by re-emitting this frame at a higher color depth.

You might receive this warning if another tool is sloppy about how it embeds bitmaps inside the ICO file. If you happen to know exactly which tool generated this icon, please file an issue here on GitHub with that info, so we can improve the documentation and tooling.

Clone this wiki locally