How to convert a PIL ImageDraw to Image

Viewed 1025

I have a PIL image:

img=Image.open(...)

that I convert to an ImageDraw to write in it.

img=ImageDraw.Draw(img)

Now I put the text in:

img.text((0,0), 'text', (0,0,0))

and now I want it BACK AS AN IMAGE

I was hoping for something like this:

img = Image.fromdraw(img)

I need my image in this format, for further processing.

How do I do that?

2 Answers

ImageDraw draws on your original image, therefore you should keep both instances (Image and ImageDraw objects) in separate variables.

img = Image.open(...)
draw = ImageDraw.Draw(img)
draw.text((0,0), 'text', (0,0,0))
# img is modified inplace

You could try this:

img = Image.open(...)
draw = ImageDraw.Draw(img) 
draw.text((0,0), 'text', (0,0,0))
img.show()
img.save("ImageDrawn.png")

Draw is used to draw over image. When drawing in draw object it draws over the img.

Related