このページでは、PythonのPILを使って以下の画像のように、縁付きの文字を挿入する方法をご紹介していきます。
PILでの縁付きの文字挿入に関しては様々な記事で紹介されていますが、なぜか私はそのやり方ではできなかったので、縁付けの処理を自作して実行しています。
同じように困っている人の参考になれば幸いです。
なお、文字挿入に関しては以下の記事でより詳細に解説していますので、まずはこちらからご覧いただけると嬉しいです。
それではやっていきましょう!
PILで縁付きの文字を挿入するサンプルコード
さっそくですが、以下がそのサンプルコードです。
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
import math
#読み込む画像のファイル名
pic_name='sample.jpg'
#挿入する文字列
ins_text='ヒガサラblog'
#文字を配置っするピクセル数を指定(左上が基準)
pos_x=900
pos_y=600
#文字サイズを指定
font_size=200
#フォントのパスを指定
font_path="C:\Windows\Fonts\HGRPP1.TTC"
#RGBで文字色指定
font_color=(255,0,0)
#RGBで文字の縁の色を指定
back_color=(0,0,0)
#縁の太さを指定
fw=10
#処理開始
img = Image.open(pic_name)
font = ImageFont.truetype(font_path, font_size)
for i in range(0,360,30):
pos_xr=fw*math.cos(2*3.14*i/360)
pos_yr=fw*math.sin(2*3.14*i/360)
ImageDraw.Draw(img).text((pos_x+pos_xr, pos_y+pos_yr), ins_text, font = font , fill = back_color)
ImageDraw.Draw(img).text((pos_x, pos_y), ins_text,font = font ,fill = font_color)
img.save('add_text.jpg', quality=100)
前半部分は文字の色やフォントを指定しているだけですね。
23行目からが縁つきの文字を挿入する処理になります。
縁の付け方については次の項目で詳細に解説します。
文字に縁を付ける方法の解説
先ほどのコードの中では以下の動画のように指定した文字を少しだけ間隔をずらしながら円を描くように次々と描写をしていき、最後に指定の色で中心に文字を配置しています。
コードの中でSINとかCOSをつかっているのはそのためですね。
工夫すれば何でもできるもんですね。
おわりに
というわけで今回はpythonのPILを使って、画像内に縁つきの文字を挿入する方法をご紹介しました。
画像処理の際などにぜひご活用ください。
このように、私のブログでは様々なスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
にほんブログ村
それではまた!
Follow @HigashiSalary
コメント