Windows版のImageMagickを使い、透過PNG画像を単色で塗りつぶして、クリッカブルマップ用の領域画像(パレット画像)を作成します。

1色の場合

画像全体を青色で塗りつぶし、パレット形式のpng8ファイルで出力する

1
convert.exe hoge.png -fill blue -colorize 100 -type Palette png8:hoge_p.png
入力画像(hoge.png)


出力画像(hoge_p.png)


※出力画像をPictBearで開いてパレットを確認してみた様子


→ ちゃんとパレットが2色になってますね!

2色以上の場合

1色ずつ領域画像を作成し、最後に合成します。①領域画像の作成

1
2
3
convert.exe hoge1.png -fill blue   -colorize 100 -type Palette png8:hoge1.pass1.png
convert.exe hoge2.png -fill red    -colorize 100 -type Palette png8:hoge2.pass1.png
convert.exe hoge3.png -fill yellow -colorize 100 -type Palette png8:hoge3.pass1.png

②背景を透過する

1
2
3
convert.exe hoge1.pass1.png -alpha set -background none -channel RGBA -fill "#00000000" -draw "matte 1,1 floodfill" hoge1.pass2.png
convert.exe hoge2.pass1.png -alpha set -background none -channel RGBA -fill "#00000000" -draw "matte 1,1 floodfill" hoge2.pass2.png
convert.exe hoge3.pass1.png -alpha set -background none -channel RGBA -fill "#00000000" -draw "matte 1,1 floodfill" hoge3.pass2.png

③合成するベース画像を生成する

1
convert.exe -size 800x600 xc:black hoge_p.png

④ベース画像へ合成する

1
2
3
composite.exe -compose over hoge1.pass2.png hoge.png hoge_p.png
composite.exe -compose over hoge2.pass2.png hoge.png hoge_p.png
composite.exe -compose over hoge3.pass2.png hoge.png hoge_p.png

⑤合成後のベース画像を再度パレット形式に変換し完成

1
convert.exe hoge_p.png -type Palette png8:hoge_p.png
入力画像(hoge1.png、hoge2.png、hoge3.png)




出力画像(hoge_p.png)


※出力画像をPictBearで開いてパレットを確認してみた様子


→ ちゃんとパレットが4色になってます!

参考URL