意外となんとかなる日記

世迷言を心に、綺麗事を頭に

スポンサーリンク

【Python】将棋ウォーズの棋譜をイイ感じに切り出す

 先日こちらを書いたときに、
suechan.hateblo.jp

 将棋ウォーズの棋譜スクリーンショットをベタベタと貼りました。
f:id:Suechan:20180225125505p:plain


 この後の手順として、

1.iPadでスクリーンショットを撮る
2.OneDrive経由でWindowsマシンにスクリーンショットを移す(自動同期)
3.WindowsマシンでPhotoshopを使い
 a.盤面部分を切り出す
 b.左上アバター加工
 c.右下アバター加工
 d.リサイズ

 という手順を踏んで、
f:id:Suechan:20180225124823j:plain

 と自動でこうなったらイイよね。

 ということで、「面倒なことはPythonにやらせよう」みたいな単語を見た気がするので、上記3.の部分をPythonでやらせることにするコードをうpします。

 PILというライブラリを使うので、

 pip install pillow

 を済ませておいてください。

from PIL import Image, ImageDraw, ImageFont

# 画像加工
def shape_img(filename):
    # 画像読み込み
    img1 = Image.open(filename)
    print(img1.size)    # サイズ

    # 切り出し(iPad Pro 10.5用)
    img2 = img1.crop((125, 210, 1525, 1425))
    #img2 = img1.crop((0, 0, 1000, 1000))
    #img2.show()

    # 四角作成
    img3 = Image.new('RGBA', (135, 135), (0, 0, 0))
    #img3.show()

    # 左上アバター加工
    img2.paste(img3, (0, 0))
    #img2.show()

    # 右下アバター加工
    img2.paste(img3, (1270, 1081))
    #img2.show()

    # リサイズ
    img4 = img2.resize((700, 607))
    #img4.show()

    # 書き込み
    img5 = img4.convert("RGB")
    img5.save(filename[:-3] + 'jpg', 'jpeg', quality=80, optimize=True)


# ファイル名を渡して実行
shape_img('ファイル名.png')

# 確認
Image.open('ファイル名.jpg').show()


 となります。

 こちらは、iPad Pro 10.5用でピクセル数が1668*2224となっていますです。コード内の数字を変えることで、お持ちのデバイスに合わることができるはずです。試してないけど。
 サイズ感がわかんない場合、「#img2 = ・・・」と「#img2.show()」の2か所の「#」を消して実行すると、なんか掴めるかもしれません。

 蛇足ですが、将棋ウォーズでスキンって売らないんですかね?
 スキンとは着せ替えのことで、駒を様々なデザインにするやつです。
 例えば色が違うとか、チェスの駒にしてしまうとか、チョコにするとか、美少女にするとか。

 海外のゲームの課金要素としてスキンの販売はよくありますので、あったらイイなと思いました。

スポンサーリンク