Ошибка при рисовании эллипса с python PIL.ImageDraw - PullRequest
2 голосов
/ 06 февраля 2020

Я использовал этот код, чтобы открыть окно и нарисовать вершины для графика в указанном c месте:

def draw_field(field):
    img = Image.new("RGB", (800,600), (255,255,255))
    draw = ImageDraw.Draw(img)
    for i in vertices:
        draw.ellipse((10, 10), (i[1], i[3]), fill ="blue", outline ="green") 

и получил ошибку:

ellipse() got multiple values for argument 'fill'

, хотя для заполнения был только один аргумент.

1 Ответ

1 голос
/ 06 февраля 2020

Я подозреваю, что вы вызываете функцию неправильно. См. документацию , в которой предлагается передавать координаты в виде двух кортежей в списке:

draw.ellipse([(10, 10), (i[1], i[3])], fill ="blue", outline ="green")

Я считаю, что происходит то, что вы берете второй набор точек, которые вы проходите в в качестве аргумента fill и жалуется, что это 2-кортеж, когда он ожидает строку.

...