管理人
アイキャッチを大量に作るのがめんどくさいので、自動化しました。
実現したいこと
フォルダーにアイキャッチ素材を集める(手動)
—-<プログラムで実行>—-
① アイキャッチ素材をリサイズ(縦横同じ大きさにする)
② アイキャッチ素材に枠をつける
③ アイキャッチ素材にサイトのロゴをつけ
——————————–
※ アイキャッチ素材が、複数あっても実行可能
プログラム実行前後
| プログラム実行前 |
|---|
|
| プログラム実行後 |
|---|
|
動作動画
開発環境
| 開発言語 | Python |
|---|---|
| バージョン | 3.8.10 |
| 動作OS | windows10 |
開発コード
① アイキャッチ素材をリサイズ
#ライブラリーをインストール
import os
from PIL import Image, ImageDraw, ImageFilter
FromImgName = 'Desktop/source'
ToImgName = 'Desktop/chenge'
files = os.listdir(FromImgName)
for file in files:
img = Image.open(os.path.join(FromImgName, file))
img_resize = img.resize((1550, 900))
img_resize.save(os.path.join(ToImgName, file))
② アイキャッチ素材に枠をつける
#枠
color = (14, 150, 209) # 枠線の色(R,G,B)で指定
dir_path = 'Desktop/chenge/' # 画像ファイルのあるフォルダの相対パス
files = os.listdir(dir_path) # フォルダ内のファイルのリスト生成
#保存する
filename = i.split('.')[0]
file_ext = i.split('.')[1]
im.save(dir_path + filename + '.' + file_ext)
#ファイルを1つずつ取り出して枠つける処理
for i in files:
im = Image.open(dir_path + i)
w, h = im.size
draw = ImageDraw.Draw(im)
draw.rectangle((0, 0, w-1, h-1), outline = color, width=20 )
③ アイキャッチ素材にサイトのロゴをつけ
dir_path = 'Desktop/chenge/' #画像ファイルのあるフォルダの相対パス
files = os.listdir(dir_path) #フォルダ内のファイルのリスト生成
#ファイルを1つずつ取り出して枠つける処理
for i in files:
lim1 = Image.open(dir_path + i)
#lim1 = Image.open('change/ok-2.jpg')
lim2 = Image.open('Desktop/icon.png')
back_im = lim1.copy()
#back_im.paste(im2, (100, 50)) #右上
#back_im.paste(im2, (980, 50)) #左上
#back_im.paste(im2, (100, 730)) #右下
back_im.paste(lim2, (1200, 580)) #左下
f#ライブラリーをインストール
import os
from PIL import Image, ImageDraw, ImageFilter
FromImgName = 'Desktop/source'
ToImgName = 'Desktop/chenge'
files = os.listdir(FromImgName)
for file in files:
img = Image.open(os.path.join(FromImgName, file))
img_resize = img.resize((1550, 900))
img_resize.save(os.path.join(ToImgName, file))
color = (14, 150, 209) #枠線の色(R,G,B)で指定
dir_path = 'Desktop/chenge/' #画像ファイルのあるフォルダの相対パス
files = os.listdir(dir_path) #フォルダ内のファイルのリスト生成
#保存する
filename = i.split('.')[0]
file_ext = i.split('.')[1]
im.save(dir_path + filename + '.' + file_ext)ilename = i.split('.')[0]
file_ext = i.split('.')[1]
back_im.save(dir_path + filename + '.' + file_ext)
■完成形
#ライブラリーをインストール
import os
from PIL import Image, ImageDraw, ImageFilter
FromImgName = 'Desktop/source'
ToImgName = 'Desktop/chenge'
files = os.listdir(FromImgName)
for file in files:
img = Image.open(os.path.join(FromImgName, file))
img_resize = img.resize((1550, 900))
img_resize.save(os.path.join(ToImgName, file))
color = (14, 150, 209) # 枠線の色(R,G,B)で指定
dir_path = 'Desktop/chenge/' # 画像ファイルのあるフォルダの相対パス
files = os.listdir(dir_path) # フォルダ内のファイルのリスト生成
#ファイルを1つずつ取り出して枠つける処理
for i in files:
im = Image.open(dir_path + i)
w, h = im.size
draw = ImageDraw.Draw(im)
draw.rectangle((0, 0, w-1, h-1), outline = color, width=20 )
filename = i.split('.')[0]
file_ext = i.split('.')[1]
im.save(dir_path + filename + '.' + file_ext)
dir_path = 'Desktop/chenge/' #画像ファイルのあるフォルダの相対パス
files = os.listdir(dir_path) #フォルダ内のファイルのリスト生成
#ファイルを1つずつ取り出して枠つける処理
for i in files:
lim1 = Image.open(dir_path + i)
#lim1 = Image.open('change/ok-2.jpg')
lim2 = Image.open('Desktop/icon.png')
back_im = lim1.copy()
#back_im.paste(im2, (100, 50)) #右上
#back_im.paste(im2, (980, 50)) #左上
#back_im.paste(im2, (100, 730)) #右下
back_im.paste(lim2, (1200, 580)) #左下
filename = i.split('.')[0]
file_ext = i.split('.')[1]
back_im.save(dir_path + filename + '.' + file_ext)
当サイトで共有しているツールが、自分のPC環境で動作しない。ツールをアレンジしたいなどの相談・依頼があれば、有償サービスを出品しています。
※ 多忙のため、現在依頼を停止しています。


