我正在寻找一种以编程方式更改png颜色的方法。 到目前为止,我见过的所有解决方案都是使用getpixel并逐个像素地浏览它。 实际上,我只是想用透明背景改变图像的前景色。这可能吗?是否有某种调色板可以轻松实现某种颜色的所有像素的变化?
答案 0 :(得分:1)
调色板是否存在取决于PNG colortype。如果colortype为3,则PLTE块中包含一个调色板,您可以通过以下步骤以编程方式更改它:
如果colortype为0或2,则可以通过添加tRNS块使前景色透明,但是如果要将这些像素的基础颜色更改为新的背景颜色,则必须按照像你已经观察过的像素。
但是,确实没有必要改变前景色,因为当你使它变得透明时,RGB组件所包含的内容并不重要。