今回はPythonのライブラリであるPillowを使用してブログやYoutubeのサムネイルを作成する方法を紹介します
バージョン
- Python 3.11.4
- Pillow 10.2.0
実装コード
from PIL import Image, ImageDraw, ImageFont
img = Image.open("./original_image.png") # 元になる画像のパス
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("C:\Windows\Fonts\meiryob.ttc", 100) # フォント読み込み
draw.text(
xy = (720, 150), # 座標
text = "THIS\nIS\nGREEN", # 文字
fill = "#fff", # 色
spacing = 30, # 間隔
align = "left", # 文字位置
font = font, # フォント
)
img.show() # プレビュー表示
img.save("./new_thumbnail.png") # 作成した画像を保存する
上記のコードで出来上がったものが以下になります
解説
インストール、インポート
まずはPillowを使用するためにインストールから行います
pip install pillow
その後、ファイルにインポートする記述の追加します
from PIL import Image, ImageDraw, ImageFont
元になる画像の指定
以下では文字を入れたい元になる画像を指定し、Imageオブジェクトを作成します
img = Image.open("./original_image.png") # 元になる画像のパス
draw = ImageDraw.Draw(img)
この時点でのoriginal_image.pngの画像は以下のとおりです
フォントの指定
フォントの設定を行います
font = ImageFont.truetype("C:\Windows\Fonts\meiryob.ttc", 100) # フォント読み込み
ImageFont.truetypeには第一引数にフォントのパス、第二引数にフォントサイズをしています
またGoogleFonts等からダウンロードしたフォントを指定することも可能です
表示する文字の設定
draw.text(
xy = (720, 150), # 座標
text = "THIS\nIS\nGREEN", # 文字
fill = "#fff", # 色
spacing = 30, # 間隔
align = "left", # 文字位置
font = font, # フォント
)
textには表示する文字の設定をしていて、\nで改行をするようにしています
fillは色の指定ができ、(255,0,0)のようなRGB、#123456のような16進数、「red」「blue」などの文字列で色を指定することができます
プレビュー、保存
img.show() # プレビュー表示
img.save("./new_thumbnail.png") # 作成した画像を保存する
最後にImageオブジェクトにshow()やsave()をすることで画像のプレビューや保存を行うことができます
まとめ
簡単なサムネイル作成やサムネイル作成を自動化したい場合にはこの手法で量産できそうですね
不具合等あればコメントでご連絡ください!
コメント