Sto provando a disegnare rettangoli spessi su un'immagine utilizzando il modulo ImageDraw di PIL/cuscino.C'è un modo per specificare la larghezza di un rettangolo in PIL?
Ho provato a utilizzare draw.rectangle([x1, y1, x2, y2], outline='yellow', width=3)
ma non mi piace il parametro width.
Posso emulare quello che voglio fare con un po 'di linee, ma mi chiedevo se c'è un modo corretto di farlo.
'''
coordinates = [x1, y1, x2, y2]
(x1, y1)
*--------------
| |
| |
| |
| |
| |
| |
--------------*
(x2, y2)
'''
def draw_rectangle(drawing, coordinates, color='yellow', width=3):
#top
line_coordinates = [coordinates[0], coordinates[1], coordinates[2], coordinates[1]]
drawing.line(line_coordinates, fill=color, width=width)
#left
line_coordinates = [coordinates[0], coordinates[1], coordinates[0], coordinates[3]]
drawing.line(line_coordinates, fill=color, width=width)
#right
line_coordinates = [coordinates[2], coordinates[1], coordinates[2], coordinates[3]]
drawing.line(line_coordinates, fill=color, width=width)
#bottom
line_coordinates = [coordinates[0], coordinates[3], coordinates[2], coordinates[3]]
drawing.line(line_coordinates, fill=color, width=width)