请多多包涵,几周前我才开始使用python。
我正在使用JES。
我做了一个将图片转换为灰度的功能。我为每种颜色r和r1,g和g1,b和b1创建了两个名称。其背后的想法是将原始值保留在内存中,以便可以将图片恢复为其原始颜色。
def grayScale(pic):
for p in getPixels(pic):
r = int(getRed(p))
g = int(getGreen(p))
b = int(getBlue(p))//I have tried this with and without the int()
r1=r
g1=g
b1=b
new = (r + g + b)/3
color= makeColor(new,new,new)
setColor(p, color)
def restoreColor(pic):
for p in getPixels(pic):
setColor (p, makeColor(r1,g1,b1))
没用 The error: "local or global name could not be found."
我了解为什么会收到此错误。
但是,如果我尝试在restoreColor中定义它们,它将给出灰度值。
我知道为什么会收到此错误,但不知道如何格式化代码以保存名称值。我研究了有关局部和全局变量/名称的问题;但我无法在所学的基本语法范围内解决该问题。
问题是:
我如何创建名称并获取它们的原始值(红色,绿色,蓝色),然后在以后的其他功能中使用它们?我尝试过的所有操作都返回了更改后的(灰度)值。n
慕森王
相关分类