Views
Captchaなどに使用する文字画像をPILにて生成する。
準備
- 文字画像用のフォントセットをダウンロードします。
- フォントセットを展開します。:
# tar zxf pilfonts.tar.gz
- 展開して出来た
pilfontsフォルダを適当なところに置きます、例えば/root/pilfonts/。
文字画像の生成
文字画像の枠を作成する。:
>>> import Image
>>> import ImageDraw
>>> import ImageFont
>>> im = Image.new("1", (150, 32), 1)
枠の中に文字を描きます。:
>>> draw = ImageDraw.Draw(im)
>>> font = ImageFont.load("/root/pilfonts/helvR24.pil")
>>> text = "Papasan"
>>> draw.text((0,0), text, font=font, fill=0)
>>> im.save("pil_captcha.png")
枠の高さがちょっと足りませんでしたが、取り敢えず描けました。
やはり、ImageMagickに比べると美しくありませんがCaptchaなどには使えますね。Captchaにするにはもう一工夫必要ですが。
その他、参考にさせていただいたサイトなど
- 「kinneko@転職先募集中の日記」
私(Papasan)の環境では日本語は無理でしたあ。