使用JES(python)在图像上绘制白色网格线
如何使用JES编写一个程序,在图像上绘制水平方向的“白色”网格线 网格线由10个像素分隔,垂直网格线被分隔使用JES(python)在图像上绘制白色网格线,python,line,draw,jython,jes,Python,Line,Draw,Jython,Jes,如何使用JES编写一个程序,在图像上绘制水平方向的“白色”网格线 网格线由10个像素分隔,垂直网格线被分隔 20像素?是的,令人惊讶的是,addLine(picture,startX,startY,endX,endY)只能画黑线 让我们用手来做吧。下面是一个非常基本的实现: def drawGrid(picture, color): w = getWidth(picture) h = getHeight(picture) printNow(str(w) + " x " + str
20像素?是的,令人惊讶的是,
addLine(picture,startX,startY,endX,endY)
只能画黑线
让我们用手来做吧。下面是一个非常基本的实现:
def drawGrid(picture, color):
w = getWidth(picture)
h = getHeight(picture)
printNow(str(w) + " x " + str(h))
w_offset = 20 # Vertical lines offset
h_offset = 10 # Horizontal lines offset
# Starting at 1 to avoid drawing on the border
for y in range(1, h):
for x in range(1, w):
# Here is the trick: we draw only
# every offset (% = modulus operator)
if (x % w_offset == 0) or (y % h_offset == 0):
px = getPixel(picture, x, y)
setColor(px, color)
file = pickAFile()
picture = makePicture(file)
# Change the color here
color = makeColor(255, 255, 255) # This is white
drawGrid(picture, color)
show(picture)
注意:根据给定的脚本,使用函数drawLine()也可以更有效地实现这一点。
输出: