今回は、ちょっと会社でデジタルはんこが必要になり、Pythonで作れないかなと挑戦してみたので、その作成したものをシェアしようと思います。
使用ライブラリ
まずは、今回必要となるライブラリです。
- Pillow
Pillowは、Pythonでは有名な画像処理ライブラリでとなります。
今回のライブラリはすでにインストール済みですので、すいませんが、画像はありません。
インストールには以下のコマンドを入力することでインストール可能です。
pip install Pillow
プログラムと実行結果
ではいつも通りプログラムの全体です。
from PIL import Image, ImageDraw, ImageFont
import os
import time
def main():
base_W, base_H = (320,320)
moji_Upper = "部署X"
moji_Lower = "氏 名"
yohaku = 10
image = Image.new('RGBA', (base_W, base_H), 'white')
image.putalpha(0)
d = ImageDraw.Draw(image)
d.ellipse([(yohaku, yohaku), (base_W - yohaku, base_H - yohaku)], outline='red', width=6) # 円を描画
#はんこ上部の文字を入れる
adjust = 9
hight = (( (base_H-yohaku*2) / 3 ) * 1) + yohaku
d.line([(0+yohaku+adjust,hight),(base_W-yohaku-adjust,hight)],fill='red',width=6) # よこ線を入れる
fontpath = "C:\Windows\Fonts\msgothic.ttc"
font = ImageFont.truetype(fontpath, 60)
moji_W, moji_H = d.textsize(moji_Upper, font=font)
moji_W = (base_W/2) - (moji_W/2)
moji_H = hight - moji_H - yohaku
d.text(( moji_W,moji_H), moji_Upper, font=font, fill='red')
hight = (( (base_H-yohaku*2) / 3 ) * 2) + yohaku
d.line([(0+yohaku+adjust,hight),(base_W-yohaku-adjust,hight)],fill='red',width=6) # よこ線を入れる
#日付を入れる
now = time.localtime()
date = time.strftime('%y/%m/%d', now)
fontpath = "C:\Windows\Fonts\msgothic.ttc"
font = ImageFont.truetype(fontpath, 60)
moji_W, moji_H = d.textsize(date, font=font)
moji_W = (base_W/2) - (moji_W/2)
moji_H = (base_H/2) - (moji_H/2)
d.text(( moji_W,moji_H), date, font=font, fill='red')
#はんこ下部の文字を入れる
fontpath = "C:\Windows\Fonts\msgothic.ttc"
font = ImageFont.truetype(fontpath, 60)
moji_W, moji_H = d.textsize(moji_Lower, font=font)
moji_W = (base_W/2) - (moji_W/2)
moji_H = hight + yohaku
d.text(( moji_W,moji_H), moji_Lower, font=font, fill='red')
image.save(os.getcwd() + '\sample.png')
if __name__ == '__main__':
main()
実行結果として以下のようなsample.pngという名前のpngファイルが生成されます。

続いてプログラムの解説ですが、解説は次ページにて記載します。
コメント