Iがこれらの値を持つ画素を有する:PhotoshopのLコンポーネントと同様にイメージの輝度を上げる式は何ですか?例えば
CGFloat red = 34 // 0 - 255
CGFloat green = 128
CGFloat blue = 190
を、私はその青255 注なるように輝度を高くしたい:「輝度」とIは、LAB色空間内のPhotoshopのL成分を意味します。写真を見る!
増加した輝度のRGB値を計算するには、R G B値が非線形に変更されるため、特別な計算式が必要です。
証明:私はPhotoshopでテストを行なったし、これと同じ色を作成し、それを調べるために、カラーピッカーを開いた:
それから私は、LAB色空間のL成分を起動し、 (少なくとも私が言っているのは、そのLコンポーネントによって制御される輝度を意味します。輝度と推測されます)。
今すぐ結果のRGB値を読む:Lがアクティブで、私はBが255に達するまで左上向きにスライダーをドラッグし
したがって、これらの間
CGFloat newRed = 112 // 0 - 255
CGFloat newGreen = 188
CGFloat newBlue = 255
違いは次のとおりです。
newRed - red = +78
newGreen - green = +60
newBlue - blue = +65
%は、
です。これは、RG Bの輝度を計算するための既知の式と一致しません。これは、luminance = (red * 0.3) + (green * 0.6) + (blue * 0.1)
に近い値です。明らかに、それらは非線形にシフトされていることは明らかである。
赤、緑、青のnewRed、newGreen、newBlueをPhotoshopと同様の方法で計算する方法はありますか?
こんにちは、Adobeへのリンクがすべて消えてしまったようです。 AdobeがsRGB - > LABのために何をするのかを知ることができますか?ありがとうございました。 – Royi