一直没弄清楚可选颜色的计算公式,以前给各位豆友回复时都用——“曲线递增”来糊弄,这也间接给自己一动力,——咱一直以专业自居,这曲线递增四个字怎么也跟“专业”挂不上钩啊。然后脸红着四处找资料,皇天啊厚土啊,终于让我找到了这个公式。。。公式的提供者为Cbyer,帖子来源“设计中国”,原贴已经找不到了,我看到的是转贴,不过原作者有个数值弄错了,总值并不是255,0到255,0也算一个值,总值应该是256。后面细说。而且作者并没有详细说明可选颜色下增减量百分比的事情,算我站在巨人的肩上完善了一些小问题。无论如何,感谢Cbyer同学,没有他就没有今天这篇帖子。
对可选颜色基础性的知识请参阅在下回复的某帖:
http://www.douban.com/group/topic/17390321/ 鉴于Cbyer的帖子中有很多概念性的词,例如MAX/MID/MIN(maya中常用概念)LIM/INC/DEC,我将它们用更方便理解的汉字词语。以RGB值89、186、116,可选颜色模式为“绝对”举例,如下:
再次强调,下文中的“增减量百分比”是描述可选颜色的操作,而“颜色增减量”则描述颜色RGB数值的变化,请千万别弄混。只要带百分比三个字的,就是可选颜色的油墨量哦。
首先我们知道,可选颜色是按照油墨量来进行加减的,而增加或者减少油墨量是用百分比表示,那么增与减100%,等于可控范围为200%,但是,大家也知道,增减百分比时,颜色RGB数值不是一直在变化的,当增减百分比的量过了某个零界值后,颜色RGB数值就不再变化了。那么首先要解决:
一、这个增、减百分比的零界值范围是多少?
二、颜色RGB数值增、减量的范围是多少?
答:
一、“绝对”模式下,增减百分比零界范围为100%。(相对模式为200%,后面阐述)
二、
1、可选颜色下“颜色”选择“红色”、“绿色”、“蓝色”,颜色RGB数值范围为三通道最大值减去中间值(也就是max-mid),我们举例的颜色就是186-116=70,可变化数值总值为70。
2、可选颜色下“颜色”选择“黄色”、“青色”、“洋红”,颜色RGB数值范围为三通道中间值减去最小值(也就是mid-min),我们举例的颜色就是116-89=27,可变化数值总值为27。
OK,验证一下:
可选颜色下“颜色”选择“绿色”,其下“洋红”增量百分比到72%则到达零界点,颜色G的零界值为135,减量百分比到27%到达零界点,颜色G的零界值为205。72%+27%=99%,差不多为100%(别问我为什么不是100%,小数点后的数值PS是无法直观表述的)。而数值(205-186)+(186-135)=205-135=70。OK,跟我们上面说的一致。
可选颜色下“颜色”选择“青色”,其下“黄色”增量百分比到43%为零界,颜色B零界值为104,减量百分比到54%为零界,B零界值为131。43%+54%=97%。数值(131-116)+(116-104)=131-104=27。还是一致。
三、好了,我们弄清楚了范围,接下来我们来解决可选颜色增减百分比之间的比值的问题,也就是说解决增与减的百分比是怎么分配的,为什么是72%与27%,或者43%与54%,而不是50%与50%。只有弄清楚这个,才能最终回答“调节可选颜色某项增加20%,颜色数值变化为多少”。
答:增减比就是颜色原始数值与总量256的比值。比如说G值186,那么186/256=72.6%,而我们上面描述的 可选颜色下“颜色”选择“绿色”,其下“洋红”增量百分比到72%则到达零界点,就是这个意思。
那么我们可以换个说法,可选颜色增量的百分比为针对颜色的原始数值比总值256,公式为:增加量(百分比)=G/256。(RB同理)。可选颜色减量的百分比为1减去针对颜色的原始数据与256的比值,公式为:减少量(百分比)=1-G/256。(RB同理)
四、那么颜色RGB数值的影响值又如何分配呢?为什么是205与135,为什么不能是255与185。
公式:数值最大值为“原始数值+数值影响范围X可选颜色减量百分比”,186+70 X 27.3%=205.11,最大值为205。至于这个27.3%怎么来的,参考三。
那么数值最小值就相对应的,公式:为“原始数值—数值影响范围X可选颜色增量百分比”,186-70X72.6%=135.18,最小值为135.
这是可选颜色下“颜色”选择“绿色”,如果是选择“青色”呢,我们要知道RGB数值范围“青色”可就不是70了,而是27。
那么增量百分比为116/256=45.3%,B最小数值为116 - 27X45.3%= 103.76,约等于104,最大值为 116+27X54.7%= 130.77,约等于131。
五、那么最后一个问题了,如果说可选颜色下“颜色”选择“绿色”,其下“洋红”增量百分之五十,那么G值变化应该是多少?
OK,算吧,186-70X50%=151,验证一下是不是:
哈哈,是不是完全一致呢?151哦亲。
这是“绝对”模式,那么“相对”模式呢?——算法一致。不可能吧,算法一致还区别个毛线啊,相对不就等于绝对了?咳咳,我话还没说完,算法虽然一致,但是相对还不太一样。
六、“相对”模式下的区别。
1、首先可选颜色增减百分比不再是100%的范围,而是200%,就是说可选颜色下调节增减百分比不存在零界点了。但是,虽然没有零界点,但影响的颜色数值,却还是绝对模式下的算法。比如我们上面说过的:绝对模式下“选择“青色”,其下“黄色”增量百分比到43%为零界(按照计算应该45.3%),颜色B零界值为104”,相对下黄色增量100%,颜色B零界值还是104,相当于把绝对的45.3%拉伸成了100%,可控更精细化。“绝对”下45.3%控制116-104,共12(计算数值为12.231)个值,相当于每个百分点控制0.27,而在“相对”下,100%控制12.231,相当于每个百分点控制0.12231,当然更精细化了。
那么不用我解释如果“相对”下,黄色增量50%,B数值是多少了吧?109.8855,验证如下:
我们原谅PS没法精确表示小数点后的数值吧,它表示为109了。
2、“相对”模式下,如果颜色RGB数值大于128,那么将存在个修正值,则修正颜色数值减少量,强制将其等同与颜色数值增加量。
我们还用这个颜色举例,G原始值为186,超出了128。在可选颜色“相对”模式,“颜色”选择“绿色”,其下“洋红”减量百分比到100%,G值增加到205,与“绝对”模式的最大值205一致,那么算法铁定也一致了。那么增加洋红到100%呢,这个颜色G的最小值还是135吗?
验证如下:
可以看到,数值不再是135了,而是167。根据咱们上面说的,数值减少量强制修正为与增加量一致。那么G增量是多少?205-186=19。那么186-19等于多少呢——167。
皆大欢喜,皆大欢喜。
我可算把这个坑填满了~~~~~~~呜呼哀哉。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。