I am trying to draw a simple circle and save this to a file using the Python Imaging Library:
import Image, ImageDraw
image = Image.new('RGBA', (200, 200))
draw = ImageDraw.Draw(image)
draw.ellipse((20, 180, 180, 20), fill = 'blue', outline ='blue')
draw.point((100, 100), 'red')
image.save('test.png')
The point draw.point
appears on the image, but the ellipse itself does not. I tried changing the mode to just RGB
(I thought the mode might affect what is displayed), but this did not solve it.
How can I fix this? Thanks!
rectangle() Draws an rectangle. Parameters: xy – Four points to define the bounding box. Sequence of either [(x0, y0), (x1, y1)] or [x0, y0, x1, y1].
Instead of specifying the upper right and lower left coordinates, swap them to get the upper left and lower right.
draw.ellipse((20, 20, 180, 180), fill = 'blue', outline ='blue')
Your ellipsis coordinates are incorrect, that should be (x1, y1, x2, y2)
, where x1 <= x2
and y1 <= y2
, as those pairs, (x1, y1)
and (x2, y2)
, represents respectively top left and bottom right corners of enclosing rectangle.
Try to change to
draw.ellipse((20, 20, 180, 180), fill = 'blue', outline ='blue')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With