2015/12/30(水) [n年前の日記]
#1 [python] インデックスカラー画像のパレット値を取り出してGIMP Paletteファイルにしたい
インデックスカラーのpng画像を読み込んで、GIMP Paletteファイル(.gpl)に変換したい。環境は Windows7 x64。
Python + Pillow を使ってパレット値を取り出せないか実験。おそらくこんな感じで取り出せそう。
Python + Pillow を使ってパレット値を取り出せないか実験。おそらくこんな感じで取り出せそう。
>>> from PIL import Image >>> im = Image.open("mz700.png") >>> pal = im.palette >>> value_mode, data = pal.getdata() >>> value_mode 'RGB' >>> data '\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\x00\xff\x00\xff\x00\x00\xff\xff\xff\xff\x00\xff\xff\xff' >>> lst = list(data) >>> lst ['\x00', '\x00', '\x00', '\x00', '\x00', '\xff', '\xff', '\x00', '\x00', '\xff', '\x00', '\xff', '\x00', '\xff', '\x00', '\x00', '\xff', '\xff', '\xff', '\xff', '\x00', '\xff', '\xff', '\xff']
◎ Pythonスクリプトにしてみた。 :
Pythonスクリプトで書いて、Gist に置いてみた。
_インデックスカラー画像のパレット値をGIMP Palette(.gpl)に変換
動作には、Python + Pillow が必要。
スクリプトの使い方は、インデックスカラー画像(hoge.png)を用意して、以下のように打つ。
結果をファイルに保存したい時は以下のように。
カレントディレクトリ内の画像ファイルを一括して GIMP Palette に変換したいなら、Windowsの場合、以下のようなbatファイルを書けばできる。と思う。たぶん。
_インデックスカラー画像のパレット値をGIMP Palette(.gpl)に変換
動作には、Python + Pillow が必要。
スクリプトの使い方は、インデックスカラー画像(hoge.png)を用意して、以下のように打つ。
python image2gpl.py hoge.pngそのままだと標準出力に GIMP Palette フォーマットで内容がダンプされる。
結果をファイルに保存したい時は以下のように。
python image2gpl.py hoge.png > hoge.gpl
カレントディレクトリ内の画像ファイルを一括して GIMP Palette に変換したいなら、Windowsの場合、以下のようなbatファイルを書けばできる。と思う。たぶん。
@echo off @rem カレントディレクトリ内のインデックスカラー画像を一括してGIMP Palette(.gpl)に変換 for %%F in (*.png) do ( python image2gpl.py %%F > %%~nF.gpl )
◎ PythonとPillowのインストール方法についてもメモ。 :
Python は
_Download Python | Python.org
から .msi が入手できる。python-2.7.11.msi をDLして実行すればインストールできるのではないかと。
Pillow は、 _Pillow 3.0.0 : Python Package Index の下のほうにインストール用の .exe があるので、ソレを実行すればインストールできる、のだろうか。自分の環境では、昔のメモを見直すと easy_install pillow でインストールしたっぽいけど。 _PillowのバイナリをpipでWindowsで扱う話 によると、2014/02の段階では Windows環境でも pip install pillow でインストールが可能だったらしいので、今も pip でインストールできるのかもしれない。
Pillow の動作には「Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ」とやらが必要、と手元に残ってる昔のメモには書いてあるけど、今はどうなんだろうか。
_blockdiag 1.3.1 インストールメモ - 虎塚
_blockdiag の概要 - blockdiag 1.0 ドキュメント
_Download Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86) from Official Microsoft Download Center
Pillow は、 _Pillow 3.0.0 : Python Package Index の下のほうにインストール用の .exe があるので、ソレを実行すればインストールできる、のだろうか。自分の環境では、昔のメモを見直すと easy_install pillow でインストールしたっぽいけど。 _PillowのバイナリをpipでWindowsで扱う話 によると、2014/02の段階では Windows環境でも pip install pillow でインストールが可能だったらしいので、今も pip でインストールできるのかもしれない。
Pillow の動作には「Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ」とやらが必要、と手元に残ってる昔のメモには書いてあるけど、今はどうなんだろうか。
_blockdiag 1.3.1 インストールメモ - 虎塚
_blockdiag の概要 - blockdiag 1.0 ドキュメント
_Download Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86) from Official Microsoft Download Center
[ ツッコむ ]
以上です。