Есть ли что-нибудь, что вы можете настроить в формате, чтобы обеспечить более значащие цифры в srgb (X%, X%, X%)
Вероятно, из-за разных версий IM. IM 7.0.7.8 показывает srgb (93,0648%, 11,1254%, 14,1741%). IM 6.9.9.20 показывает целые числа. Я попытался добавить -precision 4 в командную строку IM 6, но все равно получаю целые числа. Чтобы получить большую точность, необходимо проанализировать выходной формат txt:.
Например без разбора:
convert xc:"cmyk(0,255,255,0)" -profile /Users/fred/images/profiles/USWebCoatedSWOP.icc -profile /Users/fred/images/profiles/sRGB.icc txt:
# ImageMagick pixel enumeration: 1,1,65535,srgb
0,0: (60990,7291,9289) #EE3E1C7B2449 srgb(93%,11%,14%)
Итак, вам нужно разобрать 16-битные значения (для IM Q16) в скобках, а именно (60990,7291,9289)
vals=`convert xc:"cmyk(0,255,255,0)" \
-profile /Users/fred/images/profiles/USWebCoatedSWOP.icc \
-profile /Users/fred/images/profiles/sRGB.icc txt: |\
tail -n +2 | sed -n 's/^.*[(]\(.*\)[)][ ]*\#.*$/\1/p'`
red=`echo $vals | cut -d, -f1`
green=`echo $vals | cut -d, -f2`
blue=`echo $vals | cut -d, -f3`
red=`convert -precision 4 xc: -format "%[fx:100*$red/quantumrange]" info:`
green=`convert -precision 4 xc: -format "%[fx:100*$green/quantumrange]" info:`
blue=`convert -precision 4 xc: -format "%[fx:100*$blue/quantumrange]" info:`
color="srgb($red%,$green%,$blue%)"
echo "$color"
srgb(93.06%,11.13%,14.17%)
Отрегулируйте -precision для нужного количества значащих цифр.
ПРИМЕЧАНИЕ. В IM 7 параметр -precision работает.
magick xc:"cmyk(0,255,255,0)" -profile /Users/fred/images/profiles/USWebCoatedSWOP.icc -profile /Users/fred/images/profiles/sRGB.icc -format "%[pixel:u.p{0,0}]\n" info:
srgb(93.0648%,11.1254%,14.1741%)
magick -precision 4 xc:"cmyk(0,255,255,0)" -profile /Users/fred/images/profiles/USWebCoatedSWOP.icc -profile /Users/fred/images/profiles/sRGB.icc -format "%[pixel:u.p{0,0}]\n" info:
srgb(93.06%,11.13%,14.17%)
magick -precision 2 xc:"cmyk(0,255,255,0)" -profile /Users/fred/images/profiles/USWebCoatedSWOP.icc -profile /Users/fred/images/profiles/sRGB.icc -format "%[pixel:u.p{0,0}]\n" info:
srgb(93%,11%,14%)
person
fmw42
schedule
31.10.2017
@cmyk.to_rgb
, которая не принимает никаких параметров. - person sambecker   schedule 30.10.2017