我有一堆圖像,對許多手工做的是16色8位PNG格式,我需要16位4位格式,它們都具有相同的調色板。使用Java或Python將8位(16調色板)PNG轉換爲4位(16色調色板)?
我正在淘谷歌的最佳圖書館使用,但我沒有找到很多關於這個具體問題,所以我來這裏希望一些更有針對性的解決方案。
我想使用基於other answers I have found here的PIL,但沒有任何運氣。
img = Image.open('DownArrow_focused.png')
img = img.point(lambda i: i * 16, "L")
img.save('DownArrow_focused.png', 'PNG')
但這給了我一個灰度圖像,而不是我想要的。
PIL將無法正常工作,嘗試PyPNG。 GIMP做到了這一點,但是我有成百上千的這些東西需要批量處理。並獲得批量的這些轉換,所以這不是一次性的事情。
基於Java的解決方案也是可以接受的,幾乎所有可以在Linux/OSX機器上從命令行運行的東西都是可以接受的。
據我所見,PIL沒有[4位模式](http://www.pythonware.com/library/pil/handbook/concepts.htm),所以你需要另一種方法。 – Voo
我很好奇你爲什麼認爲你需要這個。它已經有16種顏色,所以在強制PNG壓縮之後,它的大小不會有任何不同。 –
@Mark是因爲我的硬件只能讀取真正的4位PNG,這就是爲什麼,而且它們的確會變得更小,這在這種情況下與我相關,但這不是我需要這樣做的原因的根源。 –