Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python, PIL; Text to Image and fonts

Tags:

I have an issue with writing text to an image under Python and PIL - I'm able to write text to a png file, though not bold text. Could anyone provide an example of how to achieve this?

I thought the easiest solution may be was use a bold-variant of a text, but I'm unable to see anything in the Windows/font folder that supplies this - does this mean font types have a 'bold attribute' that is T/F?:
quick look for bold-fonts under windows

Code I'm using:

import PIL from PIL import ImageFont from PIL import Image from PIL import ImageDraw  # font = ImageFont.truetype("Arial-Bold.ttf",14) font = ImageFont.truetype("Arial.ttf",14) img=Image.new("RGBA", (500,250),(255,255,255)) draw = ImageDraw.Draw(img) draw.text((0, 0),"This is a test",(0,0,0),font=font) draw = ImageDraw.Draw(img) img.save("a_test.png") 
like image 683
Harry Lime Avatar asked Apr 06 '13 23:04

Harry Lime


People also ask

What is Imagefont in Python?

truetype() Load a TrueType or OpenType font file, and create a font object. This function loads a font object from the given file, and creates a font object for a font of the given size.


1 Answers

A simple way to do it:

font = ImageFont.load_default().font 

Also you can do a google search for 'verdana.ttf' and download it put it in the same directory as the python file:

Then add it like this:

font = ImageFont.truetype("Verdana.ttf",14) 
like image 166
snow Avatar answered Sep 28 '22 22:09

snow