ImageMagick で、画像を 4bit深度 bmp に変換する(減色)
メモ
Windows API のLoadBitmap
等、
何かしらのリソースとして4bit深度のビットマップイメージが使いたい時、
「ImageMagick」と「ペイント(mspaint)」を使って作成する例。
ImageMagick の入手
今回は、Portable版を使う。(ImageMagick-7.0.10-59-portable-Q16-x64.zip)
変換方法
例では、ImageMagick をCドライブ直下に保存(解凍)。
コマンドは、下記の通り。
"C:\ImageMagick-7.0.10-59-portable-Q16-x64\convert" "変換元の画像パス" -depth 4 "保存先パス(拡張子.bmp)"
変換された bmp を右クリックして、
「プロパティ」「詳細」タブの「ビットの深さ」が4
になっていることを確認して完了。
この時、「ビットの深さ」が4
にならない場合は、
4bit深度 png を経由すると変換できる事がある。
"C:\ImageMagick-7.0.10-59-portable-Q16-x64\convert" "変換元の画像パス" -depth 4 "一時保存先パス(拡張子.png)" "C:\ImageMagick-7.0.10-59-portable-Q16-x64\convert" "一時保存先パス(拡張子.png)" -depth 4 "4bit bmp 保存先パス"
Visual Studio のリソースエディタで読めるようにする
ImageMagick の変換だけでは、何故か Visual Studio のリソースエディタで、
「認識できないビットマップ形式です。」とエラー表示が出る。
これは、Windows標準の「ペイント」に読み込ませて、
「上書き保存」することで、解決する。