以类似于Photoshop中L分量的方式增加图像亮度的公式是什么?
|
例如,我有一个具有以下值的像素:
CGFloat red = 34 // 0 - 255
CGFloat green = 128
CGFloat blue = 190
我想增加亮度,使蓝色为255。
注意:“亮度”是指LAB色彩空间中Photoshop的L分量。看图片!
必须有一个特殊的公式来计算增加的亮度的RGB值,因为R G B值是以非线性方式修改的!
证明:我在Photoshop中进行了测试,并创建了相同的颜色,然后打开颜色选择器进行检查:
然后,我激活了LAB颜色空间的L分量,该分量控制亮度(至少我要说的是-我的意思是由L分量控制的亮度。猜想是亮度)。
因此,在激活L的情况下,我向上拖动左侧的滑块,直到B达到255:
现在读取得到的R G B值:
CGFloat newRed = 112 // 0 - 255
CGFloat newGreen = 188
CGFloat newBlue = 255
这些之间的区别是:
newRed - red = +78
newGreen - green = +60
newBlue - blue = +65
百分比是:
red shift: +38.42%
green shift: +29.55%
blue shift: +32.01%
这与从R G B中计算亮度的已知公式不符,后者接近luminance = (red * 0.3) + (green * 0.6) + (blue * 0.1)
。
显然,它们已经以非线性方式移动。
有没有一种已知的方法可以以类似的方式从红色,绿色,蓝色中计算出newRed,newGreen,newBlue,Photoshop的工作方式如何?
没有找到相关结果
已邀请:
1 个回复
埠仙俊