您好,我正在尝试使用我的代码,并且似乎无法弄清楚如何将我的代码的一部分变成灰度。这是我的代码:
def grayScale(picture):
xstop=getWidth(picture)/2
ystop=getHeight(picture)/2
for x in range(0,xstop):
for y in range(0,ystop):
oldpixel= getPixel(picture,x,y)
colour=getColor(oldpixel)
newColor=(getRed(oldpixel),getGreen(oldpixel),getBlue(oldpixel))/3
setColor(picture,(newColor,newColor,newColor))
repaint(picture)
nP=makePicture(pickAFile())
show(nP)
感谢任何帮助,真的很难理解这一点。再次感谢您的帮助!
显示错误:
灰度(NP) 错误是:'tuple'和'int'
不合适的参数类型。 尝试使用无效类型的参数调用函数。这意味着你做了一些事情,比如尝试将字符串传递给期望整数的方法。 请查看/ Users / enochphan / Desktop / test
的第8行
答案 0 :(得分:1)
这里有一些让你麻烦的事情:
以下是实施了所有修复程序的代码:
def grayScale(picture):
xstop=getWidth(picture)/2
ystop=getHeight(picture)/2
for x in range(0,xstop):
for y in range(0,ystop):
oldpixel= getPixel(picture,x,y)
colour=getColor(oldpixel)
newColor = (getRed(oldpixel)+getGreen(oldpixel)+getBlue(oldpixel))/3
setColor(oldpixel,makeColor(newColor,newColor,newColor))
repaint(picture)