这是我的问题。我的程序的目的是导入图像以使用一些效果修改它。其中一个是" warhol效果",它将原始图像乘以4.我的问题是我成功地将它乘以4,但是红色:
(m和n对应于原始图像的宽度和高度)
有什么想法吗?
答案 0 :(得分:1)
首先:最好将代码粘贴到您的问题中,而不是上传其中的图片。最好将图像本身包含在帖子中,而不是提供链接。
话虽如此:我认为您的问题是p
行putpixel
周围的括号。变量p
已经是一个元组,其中包含三个元素。通过在它周围放置括号,您赋予函数putpixel
的元组只包含一个元素,它本身就是一个元组。
说实话,我甚至不会使用getpixel
,putpixel
和双循环,而是使用paste
函数。
img = PIL.image.open(ima)
img2 = PIL.image.new("RGB", (2*m, 2*n))
img2.paste(img, box=(0,0,m,n))
img2.paste(img, box=(m,0,2*m,n))
img2.paste(img, box=(0,n,m,2*n))
img2.paste(img, box=(m,n,2*m,2*n))
甚至更好:先调整图像,然后将其粘贴到位。