見出し画像

めんどくさがり用。iOSやAndroidとかのアプリアイコン画像をPythonで一気に作る!

まえおき

iOSのアプリとか作ろうとするとき、三番目ぐらいに面倒なのが(私の場合w)アイコン画像の量産です><

※一番面倒なのはAppleIDやストアの申請、二番目に面倒なのはXCodeのアプリの設定……どっちもワケわかりません!><

やったことない人は全然ピンとこないとおもいますけど、まあ見て下さいよコレ

画像1

↑iOSのアイコンだけでこんなにいるんですよ!?(スプラッシュ(起動画面)含めてません。それ入れたらもっとあんの!)

↑詳しくはこちらをどーぞ。

こんなん、こだわりたい人は一個一個つくってもいいけど、そうでないなら基本の画像を用意したら一気にリサイズしてくれたらいいのに!!

※昔はカドを丸めたりしなくちゃいけなかったり、丸めちゃいけなかったりでもっと大変だったそうです><

スマートフォンのアプリを作るのがぜんぜんスマートじゃないのってどうかとおもうー><

Webで探すとこういうのリサイズしてくれるツールはあるっちゃあるんですが、余計な広告を見ないとダウンロードできなかったり怪しげなツールインストールしなくちゃいけなかったりでそれもイヤンなので、ちゃっちゃとつくってみました。

面倒なのでいきなりソース

from PIL import Image, ImageFilter
import csv
import sys

ImgFileName = 'test.png'
CsvFileName = 'test.csv'

if(len(sys.argv)==1):
   print('Usage: > python3 ' + sys.argv[0] +  ' ReSizeXYlist.csv InImage.png')
   sys.exit()

if(len(sys.argv)>1):
   CsvFileName = sys.argv[1]

if(len(sys.argv)>2):
   ImgFileName = sys.argv[2]

print('CSV FILE:',CsvFileName)
with open(CsvFileName) as f:
   r = csv.reader(f)
   size_tuple=[tuple(map(int,line)) for line in r] 

print(size_tuple)

print('In Image FILE:',ImgFileName)
im = Image.open(ImgFileName)

for siz in size_tuple:
   print(siz)
   img_resize = im.resize(siz)
   st=str(siz[0])+'x'+str(siz[1])
   outFile = ImgFileName[:-4]  + st +'.png'
   print(outFile)
   img_resize.save(outFile)

↑です。

Python3で動作します。

pillowという画像編集ライブラリを使っているので、入っていないようなら

$ pip install pillow

でインストールできます。

使い方

まず、変換したいサイズのx,yを、カンマ区切りで書いたテキストファイルを用意します

iOSの場合はこんなかんじ

iOS_Icon.csv

1024,1024
180,180
167,167
152,152
120,120
87,87
80,80
76,76
60,60
58,58
40,40
29,29
20,20

です。

今回はテスト用に、test.csv として

100,100
200,200
300,300
400,400

こういわかりやすいのを用意。(100x100~400x400までの4行)

それから、変換したい画像をpngかjpgで用意します。

ためしにこんなのを用意。

画像2

↑test.png として保存しておきます。(OpenCVライブラリに入ってたサンプル画像)

これらがある状態のディレクトリ(フォルダ)で

python3 resizeImgs.py test.csv test.png

とすればOK

実行結果

画像3

↑こういうファイル構成の d:\work\python\test で実行

画像4

すると、それぞれのファイル名にXサイズxYサイズの数字が追加されたファイル名.pngの画像に変換されて出力されます。

画像5

↑大きいのはサムネイル表示だとわかりにくいけれど、ちゃんとそれぞれのサイズにリサイズされています。

いいかんじです(∩´∀`)∩☆

※指定サイズに無理やりフィットさせるので、アスペクト比などは考慮されません。変な指定をすると絵の中の人がデブったり痩せたりしますのでご注意ねw

おしまい

たったあれだけのスクリプト(プログラム)で、面倒だったことがかなり楽勝になりましたw

いちおー、プログラムソースとテストデータは

ここに突っ込んでおきましたので、ご自由にご利用ください♪

Pythonのインストールやら、使い方などは適当にぐぐってください(めんどくさがりw)

前にも紹介しましたけど

↑この本おすすめですよーw (( ゚д゚)ハッ!第二版出てるんだ!)

#iOS #Android #アイコン #画像処理 #一括リサイズ

よろしければサポートお願いします!いただいたサポートはクリエイターとしての活動費にさせていただきます!感謝!,,Ծ‸Ծ,,