4

我正在尝试编写一个 python 函数来将图片的右半部分镜像到左半部分。到目前为止,我有这段代码,但它以相反的方式工作(它从 L 镜像到 R)我知道它必须是一些简单的更改,但我现在似乎有一个障碍。任何帮助表示赞赏。

def mirrorVertical(source):
  mirrorPoint = getWidth(source) / 2
  width = getWidth(source)
  for y in range(0,getHeight(source)):
    for x in range(0,mirrorPoint):
      leftPixel = getPixel(source,x,y)
      rightPixel = getPixel(source,width - x - 1,y)
      color = getColor(leftPixel)
      setColor(rightPixel,color)
4

3 回答 3

0

似乎您是从左上角迭代到中间,而不是从右上角迭代到中间。可能想为 x 尝试 range(getWidth(), mirrorPoint) 并使 y 保持不变。

于 2012-10-09T20:16:22.800 回答
0
  color = getColor(rightPixel)
  setColor(leftPixel,color)
于 2012-10-09T20:17:53.610 回答
0

在更改 的颜色之前rightPixel,您应该将此颜色保存到某个位置以便将其设置在leftPixel.

就像是

color_left = getColor(leftPixel)
color_right = getColor(rightPixel)
setColor(leftPixel, color_right)
setColor(rightPixel, color_left)

应该做的伎俩。

于 2012-11-05T16:08:28.730 回答