Как я могу написать программу с использованием JES для рисования «белых» линий сетки на изображении, где горизонтальные линии сетки разделены 10 пикселями, а вертикальные линии сетки разделены 20 пикселями?
Белые линии сетки поверх изображения с использованием JES (python)
Ответы (1)
Да, удивительно, 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() из сценария, приведенного здесь..
Вывод:
......................
person
Gauthier Boaglio
schedule
25.06.2013