我在 w = 134 和 h = 454 的图像 (srcImage
) 上使用 putpixel
。
此处的代码获取字体的一部分 r、g、b 值,即 0,255,0(这是我通过调试使用打印选项找到的)。
image = letters['H']
r,g,b = image.getpixel((1,1)) #Note r g b values are 0, 255,0
srcImage.putpixel((10,15),(r,g,b))
srcImage.save('lolmini2.jpg')
这段代码不会抛出任何错误。但是,当我检查保存的图像时,我无法发现纯绿色像素。
最佳答案
您应该使用索引,而不是使用 putpixel()
和 getpixel()
。对于 getpixel()
,您可以使用 pixesl[1, 1]
,对于 putpixel,您可以使用 pixels[1, 1] = (r, g, b)
。它应该工作相同,但速度要快得多。 pixels
这里是image.load()
但是,我不明白为什么它不起作用。它应该可以正常工作。也许 jpeg 压缩在这里让你丧命。您是否尝试过将其另存为 png/gif 文件?或者设置超过 1 个像素。
关于python - 使用 putpixel() 不会将像素值写入图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3570873/