2017-05-24 3 views
0

Dieses Stück Code verlassen:Zeichnen Kreise, die die Bildgrenzen

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

from PIL import Image, ImageDraw 

imo=Image.new("RGB", (85, 64), (204, 204, 204)) 
pos=(10, 64) 
r=8 
draw=ImageDraw.Draw(imo) 
draw.chord((pos[0]-r, pos[1]-r, pos[0]+r, pos[1]+r), 0, 359, (0, 0, 255), (0, 0, 0)) 

for pos in [(32, -1), (85, 32), (32, 64), (-1, 32), (54, 63)]: 
    draw.ellipse((pos[0]-r, pos[1]-r, pos[0]+r, pos[1]+r), (0, 0, 255), (0, 0, 0)) 

pos=(75, 65) 
draw.rectangle((pos[0]-r, pos[1]-r, pos[0]+r, pos[1]+r), (0, 0, 255), (0, 0, 0)) 

imo.save("aa.png", "PNG") 

schafft diese (erweiterten) Bild:

 the output of the python code, enlarged

Gibt es einen Trick, um die Kreise so zeichnen dass sie am unteren Bildrand auch vollständig ausgefüllt angezeigt werden? Okay ... es funktioniert gut für Rechtecke ... aber ich würde Kreise bevorzugen.

+0

Dieser Code scheint für mich zu arbeiten. Die Füllung der Kreise am unteren Rand reicht bis zum unteren Rand. Genau wie ein anderer Datenpunkt ... – FamousJameous

+0

nicht für mich. Getestet mit Python-Pillow-2.8.1-3.6.1.x86_64 und python3-Pillow-3.4.2-45.2.x86_64. Welche Version verwendest du? – dede

+1

Ich habe es jetzt mit Kissen Versionen 4.1.1 und 3.4.2 versucht. Sowohl auf Python 3.6 als auch auf Linux. Beide haben funktioniert. – FamousJameous

Antwort

0

nach dem Upgrade auf Python-Pillow-2.9.0-6.4.x86_64, bekomme ich jetzt vollständig ausgefüllte Kreise - sogar auf openSUSE 13.2.

Verwandte Themen