AA の画像化方法(Python)

AA の画像化方法です。使用言語は Python です。

Python

Python3 系となります。
Pillow を使用しますので、入っていない場合はインストールします。

pip install Pillow

コード

# -*- coding: utf-8 -*-

import html.parser as htmlparser
from PIL import Image, ImageDraw, ImageFont, ImageChops

# 画像化する AA
text = """           ___
.          / ⌒>―  \―
                       \
.       /             \  \
        /
.       /     / /  |    |         |
      /    / /.|  |     |\      |
        |____/ |ノ |   _|/\    | \
    |  | / / ̄|/|  ┬─┬\        \_
    |  ├┬─┬  |/ 乂:::ソ  \    \_/
    |  | 乂:::ソ        ' ' 人 ノ    \
    ノ   \ ' '         (  )   八_  >
  /   |   >    ( ̄)     ̄ノイ : | /\|
   ̄ ̄ |  人           <|: :|: : |/:|
       |/\}>┬――=≦=┴rー|: :|: : |:. |
        |:. :.|: :/ニ(__ ノニ人.:|: : N:|
        |:. :.|/二二二二ニニニニ|: : |ニ}
        |:. :.|ニ〈 ̄ ̄ ̄∨ニニニ|: : | 人
.           |:./N二Λ_   ( ̄\二|: :ノニ}: \
         / {\/(   }   ∨  }\ニ二}V⌒
              {-/ニ\ノ______}_,ノ二二二]
              {ニニニニ}ニニ\ニニニノ
.              ̄Τ二二二二二  ̄ ̄ }
.               {二二二二二二二二}
"""

# &#xxx などの文字を通常の文字へ変換
parser = htmlparser.HTMLParser()
text = parser.unescape(text)

# フォント指定
# 今回は Saitamaar を使用させて頂いています
text_font = ImageFont.truetype("./py/Saitamaar.ttf", 16, encoding="utf-8")
# 画像を新規作成
input_img = Image.new("RGBA", (1000, 1000))
# 描画
dr_img = ImageDraw.Draw(input_img)
# テキストの draw サイズを取得
text_size = dr_img.multiline_textsize(text, font=text_font)
# テキスト描画
dr_img.multiline_text((0, 0), text, font=text_font, fill=(0, 0, 0))
# 余白の領域を取得
crop_size = input_img.getbbox()
# 必要なサイズに切り抜き
input_img = input_img.crop(crop_size)
# 余白作成用の画像を作成
# 余白がいらない場合はここらへんの処理は任意で
new_size = (input_img.size[0] + 200, input_img.size[1] + 40)
new_image = Image.new("RGBA", new_size, color=(255, 255, 255))
# 余白画像に AA 画像を合成
new_image.alpha_composite(input_img, dest=(100, 20))
# 画像保存
new_image.save('AA.png', 'png')

出力サンプル

上記コードを実行した場合の出力サンプルです。

作成日時:2017-11-26 21:40:03    更新日時:2017-11-26 21:44:32