土. 1月 3rd, 2026

 カラーできれいに作ってある図をグレースケールに直さなければならないこと、しばしばあります。生産性のない作業なのでモチベーションが上がりません。単純なrainbow colorくらいなんとかならないかとやってみました。

 convertでそれなりに変換できることがありますが、なかなかきれいにはなりません。
 スクリプトはこれだけ。

#!/bin/csh
# Usage : ./rb2gray.sh (input file name)

set inn=$1
set inr=$1:r
set ine=$1:e

convert $inn -colorspace HSL -separate $inr\_hsl.png
convert $inr\_hsl-0.png -negate $inr\_hn.png
rm -f $inr\_hsl-*.png
convert $inn -modulate 200,0,100 $inr\_nc.png
mogrify -transparent “‪#‎ffffff‬” $inr\_nc.png
convert $inr\_hn.png $inr\_nc.png -composite $inr\_gray.$ine

投稿者 nakais_met