根据计算使用循环来改变像素的颜色

时间:2013-06-15 09:24:48

标签: jython

我刚开始学习jython,只是有一个我似乎无法正确的问题。

从我的文字中,我要创建一个640 x 480像素的图片,然后,使用一个循环,逐个像素地将颜色设置为我们已经给出的r,g,b的计算。 我可以创建一个图片,我可以设置变量,但是我似乎无法进一步创建一个循环来设置每个像素颜色。 我知道这很简单,但只要有人可以帮助我在这里徘徊。

2 个答案:

答案 0 :(得分:1)

xrange()将创建一个生成一个范围内的整数的生成器。 for将为每个迭代元素循环一次。

for row in xrange(480):
  for col in xrange(640):
     ...

答案 1 :(得分:1)

这可以帮助您迭代像素。

  picture = makeEmptyPicture(400,200)
  pixels = getPixels(picture)
  #make an empty picture and get the pixels

  for px in getPixels(picture):
    x=getX(px)
    y=getY(px)
    r = (sin(x * radian * id[1]) * cos(y * radian * id[4]) + 1) * ord(StringID[0]) * 2.5
    g = (sin(x * radian * id[2]) * cos(y * radian * id[5]) + 1) * ord(StringID[0]) * 2.5
    b = (sin(x * radian * id[3]) * cos(y * radian * id[6]) + 1) * ord(StringID[0]) * 2.5
    newColor=makeColor(255 - r, 255 - g, 255 - b)
    setColor(px, newColor)
  show(picture)
  repaint(picture)