-2
我正在尋找一種方法來以編程方式更改png的顏色。 到目前爲止,我看到的所有解決方案都是使用getpixel並逐個像素地穿過它。其實,我只是想改變透明背景的圖像的前景色。這可能嗎?是否有某種調色板可以輕鬆實現某種顏色的所有像素的更改?更改png圖像的顏色
我正在尋找一種方法來以編程方式更改png的顏色。 到目前爲止,我看到的所有解決方案都是使用getpixel並逐個像素地穿過它。其實,我只是想改變透明背景的圖像的前景色。這可能嗎?是否有某種調色板可以輕鬆實現某種顏色的所有像素的更改?更改png圖像的顏色
調色板是否存在取決於PNG colortype。如果中的colorType是3有包含在PLTE塊調色板,您可以以編程通過做這些步驟進行更改:
如果colortype爲0或2,則可以通過添加tRNS塊來使前景色透明,但是如果要將這些像素的基礎顏色更改爲新的背景色,則必須執行像你已經觀察到的那樣逐像素。
但是,實際上並不需要改變前景色,因爲當您將其設置爲透明時,RGB組件包含的內容並不重要。