0

最初に 3 つのストライプを作成する必要があります。最初のストライプは、形状の高さの 40%、幅が 256 ピクセルである必要があります。赤の成分は 0 ~ 255 から徐々に増加し、画像を水平方向に横断します。

2 番目は形状の高さの 20% で、同じ幅 (高さ 300) で、緑一色です。

3 番目は形状の高さの 40% で、青は 255-0 から減少します

2番目のforループ(rheight、rheight)でエラーが発生し続けます助けてください!!

def drawLines():
  height = int(input("Enter Height: "))
  width = 256
  picture = makeEmptyPicture(width,height)
  rheight = height*0.4

  redValue = 0
  for y in range(0,height):
    for x in range(0,width):
      pixel = getPixel(picture, x, y)
      color = makeColor(redValue,0,0)
      setColor(pixel, color)
    redValue = redValue + 50
  explore(picture)


  for y in range(rheight,rheight):    
    for x in range(0, width):         
       pixel = getPixel(picture, x, y)
       color = makeColor(0, 0, 0)      # Change the current pixel to black
       setColor(pixel, color)
  explore(picture)                   
4

2 に答える 2

0

色の値を 1 ずつ増やし、rheight レベルを回避する簡単な方法:

def d():
  file = pickAFile()
  pic = makePicture(file)
  w= getWidth(pic)
  h= getHeight(pic)
  show (pic)
  newPic = makeEmptyPicture(w,h)
  for y in range (0 ,h-1):  
    for x in range(0,w-1):
      pixel = getPixel(pic, x, y)
      newPixel = getPixel(newPic,x, y)
      if(y == h*0.4):
        #the red value will increase incrementally by one as the x value increases
        color = makeColor(x,0,0)
      else:
        color = getColor(pixel)
      setColor(newPixel, color)
  writePictureTo(newPic, r"D:\temp.jpg")
  explore(newPic)

必要に応じて、色と水平または垂直の値とパラメーターを変更するだけです。このタイプのロジックに従うと、結果が得られます

于 2014-01-26T10:52:07.403 に答える