我在图片(putpixel
)上使用srcImage
,其中w = 134且h = 454.
此处的代码获取字体部分的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')
此代码不会引发任何错误。但是,当我检查保存的图像时,我无法看到纯绿色像素。
答案 0 :(得分:6)
不应使用putpixel()
和getpixel()
,而应使用索引。对于getpixel()
,您可以使用pixesl[1, 1]
,对于putpixel,您可以使用pixels[1, 1] = (r, g, b)
。它应该工作相同,但它更快。 pixels
这里是image.load()
但是,我不明白为什么它不起作用。它应该没有问题。也许jpeg压缩在这里杀了你。您是否尝试将其另存为png / gif文件?或者设置超过1个像素。
答案 1 :(得分:0)
我知道这是一篇非常古老的帖子,但对于那些想要坚持putpixels()
一段时间的初学者来说,这就是解决方案:
将图像变量初始化为:
from PIL import Image
img = Image.new('RGB', [200,200], 0x000000)
如果要操作RGB值,请确保将其初始化为“RGB”。
有时人们会将图片初始化为:
img = Image.new('I', [200, 200], 0x000000)
然后尝试使用RGB
值不起作用。