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ファイルに含まれる複数サイズを同時に表示可能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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 件のコメント:
コメントを投稿