颜色的 HSB 值中,在调整透明时 H 色相不发生变化,S 饱和度和 B 亮度会有相应的变化。这两个值与透明度之间的关系是怎样的?

补充:抱歉,前面没说清楚。这里的图层颜色是前景色,例如前景色 rgb 是(x,y,z ),背景色是纯白 rgba (255,255,255,1) , 当我把前景色颜色透明度调整为 75% (背景色没边),此时拾色器在前景色上取色 rgb 值是 (64,164,64),我想知道怎么算出 X,Y,Z 分别是多少?


大概明白了问题的意思,以下回答不知道理解得对不对。以RGB颜色模式为例,对于一个像素,除了有RGB三色值之外,还有一个alpha值,也可理解为表示这个像素的透明程度。假设当前有两个图层,且图层混合模式都是「正常」,当上面图层的像素的不透明度为100%时,当然就遮住了下面像素,这时测量这个像素的RGB值就等于上面图层像素的RGB值。如果将上面图层像素的不透明度改为75%,这时Photoshop就用公式:75%*上层像素值+25%*下层像素值 来得到最终的结果值,这时你去测量的结果就是这个结果色的值。这样的话,如果你知道下层像素的值,比如说(255,255,255),又知道结果色是(64,164,64),就可以用方程式 75%*R+25%*255=64,75%*G+25%*255=164,75%*B+25%*255=64 反推出上层像素的RGB值了。当然上面只是演算法和原理,实际操作中当然没有必要这么去算,用这个简单的方法就行了:隐藏除你要得到像素值的图层之外的所有图层(按住Alt点击图层前面的小眼睛图标),这时用拾色器读到的就是这个图层上像素的RGB值了,不论这个图层的不透明度是多少。

说得很啰嗦,也不知道说清楚了没有。


lz不是已经通过实践得出,透明度不影响色相了么。那么75%和100%的rgb有什么理由不一样呢?区别只是多了个25%的透明通道。

你吸取到的色值是背景与前景(半透明)叠加之后的效果,在明确知道当前点背景色值与前景的透明度的情况下可以算出来,容我先占个坑,找到了具体演算法再回来填。

以下说在PS中如何获取而纯色半透明图层中的RGBA色值,我遇到了这样的问题,所以认为这个比较有实践意义:

  1. 选中当前的半透明图层
  2. 在图层导航栏中可以看到该图层的不透明度,如60%,记下该值
  3. 调整该图层的不透明度为100%
  4. 使用吸管工具吸取图层的颜色,如RGB(255, 255, 255),记下该值
  5. 该半透明图层的色值即:RGBA(255, 255, 255, 0.6)

如果这个方法解决了大家的问题,记得点赞,欢迎转载

纯粹的单图层RGB值不变化,如果此图层下面有图层的话,就会透出下面图层的RGB值,不透明度的大小只是看能透出多少


找个样图设置几组不同的参数,对比一下,应该能总结出规律和演算法来。


推荐阅读:
相关文章