環境
- Imagemagick 6.9
やりたいこと
画像の背景色を変えたい
背景が透過されている場合
例えば以下のような画像があったとする。
その場合は以下のコマンドを実行する
convert obake.png -background green -alpha remove -alpha off obake-green.png
すると以下のような画像になる
指定した背景色を別の色に塗りつぶしたい場合
透過じゃなくて↑みたいな背景色1色の場合 -opaque green -fill red
で緑色を赤色に置き換える -fuzz オプションで色の許容誤差を指定できる
convert obake-green.png -fuzz 1% -fill red -opaque green -flatten obake-red.png
指定した座標の色を別の色に塗りつぶしたい場合
指定した座標(ここでは0,0)から始まる領域を、fillオプションで指定した色に塗りつぶす事もできる。 -fuzz オプションで色の許容誤差を指定できる
convert obake-green.png -fuzz 1% -fill none -draw "matte 0,0 floodfill" -background red -flatten obake-red.png
こんな感じになる