Matthew Wilson wrote:
> Later on, I'd like to dynamically add any arbitrary
text to the bottom of
> the image. I suspect this is straightforward also.
I recently needed to add attributions to a directoryful of
images:
im=Image.open(fn).convert("RGBA")
font=ImageFont.truetype("arial.ttf", 15)
sz=font.getsize(att)
labelImage=Image.new("RGBA", sz, (0,0,0,0))
labelDraw=ImageDraw.Draw(labelImage)
labelDraw.text((0,0),att,fill=(250,250,0), font=font)
del labelDraw
labelImage=labelImage.rotate(270)
# n.b. use the label image's alpha channel as the mask
for the paste
im.paste(labelImage,(0,0),labelImage)
im.save(os.path.join(ATT_DIR,fn))
This code draws text in yellow vertically down the image
from the upper
left. In my actual script, I position the text a little more
pleasingly.
The only interesting thing that's going on there is that if
you omit the
"mask" argument to the "paste" method
call:
im.paste(labelImage,(0,0))
you end up overwriting the image with transparent pixels,
which is probably
not what you're interested in.
The subject suggests you're also interested in adding a
frame around an
image - I'd probably do this something like so:
framedImage=Image.new("RGB", framedSize,
frameColor)
framedImage.paste(srcImage, offset)
Hope this helps,
Dave LeCompte
_______________________________________________
Image-SIG maillist - Image-SIG python.org
htt
p://mail.python.org/mailman/listinfo/image-sig
|