多次画一幅画

时间:2013-06-13 00:30:14

标签: python indentation

好的下一个问题我已经引用了这段代码(它在第10列画了一行:

def drawLine():
  for y in range(getHeight(pic)):
    pixel = getPixelAt(pic, 9, y)
    setColor(pixel, red)
    show (pic)

好的,所以我已经清楚地缩进了show(pic)一个标签太远了。所以我有它的工作,所以我不问如何修复代码。我的问题是,当我将上面的代码放入其中时,绘制一条线(看起来有些随机),对于图片的一个副本,猜测大约为10-50像素长。我想知道它为什么这样做。从理论上讲,它不应该在每次迭代时显示pic的副本吗?

1 个答案:

答案 0 :(得分:1)

在不知道你正在使用什么库以及这些对象是什么的情况下,除了猜测之外不可能做更多......但是一个猜测似乎非常合理。

您似乎在完全相同(未指定)的位置显示相同的图片,10-50倍(取决于其高度)。所以最后的9-49次没有明显的效果;你只是在已经存在的相同像素上对每个像素进行blitting。 (这假设您没有任何Alpha透明度。)

同时,你在(9,0)处绘制一个红色像素,然后在(9,1)处绘制另一个红色像素,依此类推,一直到(9,10)或(9,50)或任何高度你的形象是。因此,在图片上或旁边画一条红线。

想象一下,你拍摄了50张相同的完美薄,完全不透明的照片打印件并将它们堆叠在桌面上,然后在堆叠上或旁边画了一条红线。它看起来与在桌面上放置一张照片打印并在其旁边或旁边画一条红线完全相同。这正是你所看到的。