Personal tools
You are here: Home Pythonレシピブック その他 PILで文字画像を生成
Views
Actions
  • State: Published

Captchaなどに使用する文字画像をPILにて生成する。

準備

  1. 文字画像用のフォントセットをダウンロードします。

    pilfonts.tar.gz

  2. フォントセットを展開します。:
      # tar zxf pilfonts.tar.gz
    
  3. 展開して出来た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にするにはもう一工夫必要ですが。

その他、参考にさせていただいたサイトなど