久しぶりにImageMagickによる便利ネタ。 特定の色を他の色に変更したい場合。 ケースとしては単色の濃淡で作られたアイコンに限定する。FaceBookとかTwitterみたいな。白と青二色のアイコンみたいなのにも有効。 こうしたアイコンはたいていまとまった数があるのでluaかpythonかbashかまあなんでもいいので、バッチでも組んで一括で変換したい。 さて、下記は検索で見つけた例。 convert -fill #00FF00 -opacity 0xFF0000 a.png b.png のように、すると緑の部分が、赤くなるよということだが。 これだと通常画像にはアンチエイリアスがかかってるのでうまくいかない。 (昔風の1色で構成されたドット絵なら話は別だが…) でそれを解消するために-fuzz 50%とかかけると、エッジがぎざぎざになったり、画像が膨らんだりしてしまってさらに泥沼に