Windowsで使われるアイコン画像のフォーマットICOには異なるサイズの複数の画像を格納できる(WikipediaのICO)。通常アイコン画像をつくるには専用のソフトウェアが必要だけど、Pythonの画像処理用ライブラリのPillowでもつくることができる。
Windows10のWSL(Ubuntu 18.04)。
画像処理用ライブラリのPillowはpipでインストールできる。
作り方は簡単で、用意した画像をPillowで読み込んで、それをICOフォーマットで保存するだけ。デフォルトでは(16, 16)、(24, 24)、(32, 32)、(48, 48)、(64, 64)、(128, 128)、(256, 256)のサイズの画像のうち、オリジナル画像サイズを超えないサイズの画像が含まれるicoファイルが作成される。
今回は、ICOOON MONOからダウンロードしたりんごのフリーイラストのPNGをアイコンファイルに変換する。マイクロソフトのIconsによると、アプリ用のアイコンサイズは16x16、24x24、32x32、48x48、64x64の5サイズなので、以下の64x64の画像をダウンロードした。
環境
Windows10のWSL(Ubuntu 18.04)。
Pillowのインストール
画像処理用ライブラリのPillowはpipでインストールできる。
Pillowでアイコン画像を作成
作り方は簡単で、用意した画像をPillowで読み込んで、それをICOフォーマットで保存するだけ。デフォルトでは(16, 16)、(24, 24)、(32, 32)、(48, 48)、(64, 64)、(128, 128)、(256, 256)のサイズの画像のうち、オリジナル画像サイズを超えないサイズの画像が含まれるicoファイルが作成される。
今回は、ICOOON MONOからダウンロードしたりんごのフリーイラストのPNGをアイコンファイルに変換する。マイクロソフトのIconsによると、アプリ用のアイコンサイズは16x16、24x24、32x32、48x48、64x64の5サイズなので、以下の64x64の画像をダウンロードした。
画像ファイルをICOフォーマットに変換するコードは以下の通り。引数として画像ファイル名を指定する。
作成したICOファイルはIrfanView+Pluginで確認できる。IrfanViewのメニューのView > Multipage images > Show page thumbnailsで、ICOファイルに含まれる複数サイズを同時に表示可能。
import sys import os from PIL import Image def iconmaker(): argvs = sys.argv if len(argvs) != 2: print('Usage: python3 {} [Image file]'.format(argvs[0])) sys.exit(); ifilename = argvs[1] basename = os.path.splitext(ifilename)[0] try: img = Image.open(ifilename) # 拡張子としてicoを指定するとicoフォーマットになる img.save(basename + '.ico') except IOError as e: print(e) if __name__ == '__main__': iconmaker()
作成したICOファイルはIrfanView+Pluginで確認できる。IrfanViewのメニューのView > Multipage images > Show page thumbnailsで、ICOファイルに含まれる複数サイズを同時に表示可能。
0 件のコメント:
コメントを投稿