python - 使用 putpixel() 不会将像素值写入图像

标签 python python-imaging-library

我在 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/

相关文章:

python - PIP/easy_install PIL in Virtualenv vcvarsall.bat 错误 Windows 7

python - IronPython SQLite3操作错误: unable to open database file

python - 使用 Mechanize 在 wordpress 上发帖

python - 为什么 Python 解释器使用 repr() 来打印表达式?

python - 如何将给定图像分成 8 个独特的饼图部分?

python - 将绘图另存为 jpeg 时出现像素化字体

python - 对齐 X 射线图像 : find rotation, 旋转和裁剪

python - 在python中连接数据框的列?

python - 预训练模型所需的标准化 (PyTorch)

python - 使用 PIL 在另一个图像之上的图像上写文本