2008年7月24日木曜日

(Code: sh) h2rgb

#!/bin/sh

for ((h=0;h<360;h++)) ;do
if [ $h -ge 0 ] && [ $h -lt 60 ] ;then
F=$[$h * 255 / 60]
P=0
Q=$[255 - $F]
T=$F
R=255 ;G=$T ;B=$P
elif [ $h -ge 60 ] && [ $h -lt 120 ] ;then
F=$[$[$h - 60] * 255 / 60]
P=0
Q=$[255 - $F]
T=$F
R=$Q ;G=255 ;B=$P
elif [ $h -ge 120 ] && [ $h -lt 180 ] ;then
F=$[$[$h - 120] * 255 / 60]
P=0
Q=$[255 - $F]
T=$F
R=$P ;G=255 ;B=$T
elif [ $h -ge 180 ] && [ $h -lt 240 ] ;then
F=$[$[$h - 180] * 255 / 60]
P=0
Q=$[255 - $F]
T=$F
R=$P ;G=$Q ;B=255
elif [ $h -ge 240 ] && [ $h -lt 300 ] ;then
F=$[$[$h - 240] * 255 / 60]
P=0
Q=$[255 - $F]
T=$F
R=$T ;G=$P ;B=255
elif [ $h -ge 300 ] && [ $h -lt 360 ] ;then
F=$[$[$h - 300] * 255 / 60]
P=0
Q=$[255 - $F]
T=$F
R=255 ;G=$P ;B=$Q
fi
echo "($R $G $B)"
done