I'm not sure exactly what you are showing me here. Perhaps you could
describe what you see (or even post the images). Prefixing the string
with spaces will of course prevent the problem, but introduces problems
of its own (how to accurately position the text, how to avoid the spaces
clobbering other text, etc). You're using font.getmetrics() here, which
is an undocumented function. Reading the code, it seems to return the
ascent and descent of the font, so using either dimension for an x value
seems wrong to me, and I'm not sure why you are using it in the first place.
I want to understand. Can you explain?
--Ned.
Scott David Daniels wrote:
Ned Batchelder wrote:
OK, here's some code, and some output....
After looking, and doing a bit of experimenting, here is a
surprising drawing:
import Image, ImageDraw, ImageFont
def paints(fontname='timesbi.ttf', fontsize=50,
canvas=(500, 700), position=(100, 100)):
im = Image.new("RGB", canvas, '#ffffc0')
draw = ImageDraw.Draw(im)
font = ImageFont.truetype(fontname, fontsize)
fh, fx = font.getmetrics()
x, y = position
for text in ['j_0_|igf', ' j_1_|igf', ' j_2_|igf', 'young']:
width, height = font.getsize(text) # w,h
draw.rectangle((x, y, x+width, y+height),
fill='lightgrey', outline='lightgreen')
draw.rectangle((x-fx, y, x, y+fh),
fill='lightgrey', outline='red')
draw.text((x, y), text, font=font, fill='black')
y += 100
return im
paints().show()
-- Scott David Daniels
[EMAIL PROTECTED]
_______________________________________________
Image-SIG maillist - Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig
--
Ned Batchelder, http://nedbatchelder.com
_______________________________________________
Image-SIG maillist - Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig