我想用庫Libpng生成1bits(2色)或2bit(4色)深度的PNG圖像。用Libpng創建2bits顏色深度PNG圖像
有人知道該怎麼做嗎?我已經測試了一些例子,它們似乎都適用於8位顏色深度?
我知道png_set_IHDR,但在我測試的例子中,當我將png_set_IHDR中的深度參數從8更改爲2或1時,我的程序繪製了2或4個像素。我認爲,這是由於png_malloc函數。
在我嘗試修改(http://www.lemoda.net/c/write-png/)的示例中,png_malloc函數分配了sizeof uint8_t圖像的所有像素。
png_malloc (png_ptr, sizeof (uint8_t) * bitmap->width * pixel_size);
你能告訴我如何分配1位或2位像素?
感謝的 Jo2s
它通過使用位深度爲1或2的'png_set_IHDR'直接完成。您還需要什麼? – mmgp 2013-02-14 22:48:46