0
需要時使用libpng
編寫使用調色板(PNG_COLOR_TYPE_PALETTE
)PNG圖像有效的調色板,我看到的錯誤:爲調色板圖像
valid palette required for paletted images
什麼原因造成這一點,我怎麼能解決這個問題?
需要時使用libpng
編寫使用調色板(PNG_COLOR_TYPE_PALETTE
)PNG圖像有效的調色板,我看到的錯誤:爲調色板圖像
valid palette required for paletted images
什麼原因造成這一點,我怎麼能解決這個問題?
確保您在致電png_write_info
之前致電png_set_PLTE
。
例如:
// Set the colour palette to use
unsigned paletteSize = ...;
assert(paletteSize <= PNG_MAX_PALETTE_LENGTH);
png_color* palette = (png_color*)png_malloc(png_ptr, paletteSize*sizeof(png_color));
for (unsigned p = 0; p < paletteSize; p++)
{
png_color* col = &palette[p];
col->red = ...;
col->green = ...;
col->blue = ...;
}
png_set_PLTE(png_ptr, info_ptr, palette, paletteSize);
png_write_info(png_ptr, info_ptr);
// ... png_write_image, png_write_end
png_destroy_write_struct(&png_ptr, &info_ptr);
png_free(png_ptr, palette);