python-在图像上绘制对角线

您好,我试图在图像的右上至左下绘制对角线,这是到目前为止的代码.

  width = getWidth(picture)
  height = getHeight(picture)
  for x in range(0, width):
    for y in range(0, height):
      pixel = getPixel(picture, x, y)
      setColor(pixel, black)

谢谢

解决方法:

大多数图形库都有某种直接绘制线的方法.

JES中有addLine函数,因此您可以执行

addLine(picture, 0, 0, width, height)

如果您坚持设置单个像素,则应该查看Bresenham Line Algorithm,这是绘制线条最有效的算法之一.

代码注释:以下是两个嵌套循环的操作

for each column in the picture
  for each row in the current column
     set the pixel in the current column and current row to black

因此,基本上您会用黑色像素填充整个图像.

编辑

要在整个图像上绘制多条对角线(在它们之间留出空间),可以使用以下循环

width = getWidth(picture)
height = getHeight(picture)
space = 10
for x in range(0, 2*width, space):
  addLine(picture, x, 0, x-width, height)

这给您一个图像(示例是手绘的…)

这利用了大多数图形库提供的剪切功能,即,仅忽略了不在图像内的行部分.请注意,如果没有2 *宽度(即,如果x仅向上等于),则只会画出线的左上半部分…

上一篇:java-绘制到画布


下一篇:python-计算机视觉-OpenCV-Drawing