管理人
アイキャッチを大量に作るのがめんどくさいので、自動化しました。
実現したいこと
フォルダーにアイキャッチ素材を集める(手動)
—-<プログラムで実行>—-
① アイキャッチ素材をリサイズ(縦横同じ大きさにする)
② アイキャッチ素材に枠をつける
③ アイキャッチ素材にサイトのロゴをつけ
——————————–
※ アイキャッチ素材が、複数あっても実行可能
プログラム実行前後
プログラム実行前 |
---|
|
プログラム実行後 |
---|
|
動作動画
開発環境
開発言語 | 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環境で動作しない。ツールをアレンジしたいなどの相談・依頼があれば、有償サービスを出品しています。
※ 多忙のため、現在依頼を停止しています。