2024-06-08 10:33:32 发布
网友
在python中,如何用另一种颜色替换多个图像中的一种颜色?我有一个文件夹,里面有400个精灵动画。我想把方块色的阴影(111,79,51)换成一个有透明度的。我可以使用以下方法轻松地进行批量转换:
img = glob.glob(filepath\*.bmp)
但是我不知道如何改变像素的颜色。如果有什么区别的话,图像都是96x96,我不在乎这个过程需要多长时间。我使用的是python3.2.2,所以我不能真正使用PIL(我想)
您的图像是在索引模式(8位每像素有调色板),或“真彩色”32bpp图像?如果它们处于索引模式,那么很容易简单地标记调色板条目,使该颜色在所有文件中都是透明的。在
否则,您将不得不处理所有像素数据。也可以通过为GIMP编写一个Python脚本来实现,但是这需要Python-2。在
BMP是一种windows文件格式,因此您需要PIL或类似的文件;或者您可以自己创建读写器。据我所知,基本模块不会有帮助。您可以使用Tk(PhotoImage())读取PPM和GIF,这是标准发行版的一部分,并对该图像使用get()和put()来更改像素值。请参阅联机参考资料,因为它不是直接的-像素来自get()作为3元组整数,但需要返回到put()作为空格分隔的十六进制文本!在
您的图像是在索引模式(8位每像素有调色板),或“真彩色”32bpp图像?如果它们处于索引模式,那么很容易简单地标记调色板条目,使该颜色在所有文件中都是透明的。在
否则,您将不得不处理所有像素数据。也可以通过为GIMP编写一个Python脚本来实现,但是这需要Python-2。在
BMP是一种windows文件格式,因此您需要PIL或类似的文件;或者您可以自己创建读写器。据我所知,基本模块不会有帮助。您可以使用Tk(PhotoImage())读取PPM和GIF,这是标准发行版的一部分,并对该图像使用get()和put()来更改像素值。请参阅联机参考资料,因为它不是直接的-像素来自get()作为3元组整数,但需要返回到put()作为空格分隔的十六进制文本!在
相关问题 更多 >
编程相关推荐