On Mon, 3 Jul 2017 17:28:29 +0200 Mattias Andrée <maand...@kth.se> wrote:
Hey Mattias, > Because if the limited number of values that can be stored in an > 8-bit integer and because humans don't notices small differences > between dark colours as well as small differences in bright > colours, sRGB encodes colours non-linearly so there are more > bright colours and fewer dark colours. yes, this is correct. > However, looking at image editing tools for farbfeld I've found > that the tools do not take this into account. For example, making > a colour twice a bright, is not as simple as multiply the RGB > values with 2 It is if you have linear RGB. If you make the proper transformation from sRGB to linear sRGB, it is perfectly valid. > , rather the algorithm that shall be used is > > x = F(2 ⋅ F⁻¹(x₀)) > > where F is sRGB's transfer function > > ⎧ -F(-t) if t < 0 > F(t) = ⎨ 12.92 t if 0 ≤ t ≤ 0.0031306684425217108 [*] > ⎩ 1.055 t↑(1/2.4) - 0.055 otherwise > > [*] Approximate value. You will often find the value > 0.0031308 here, but this value is less accurate and > only good enough when working with 8-bit integers. How do you expect anyone to understand this? It's better to just work with linear sRGB. The transfer function is the inverse of the companding function and it honestly does not look very nice. The companding function gives more insight in how sRGB works and does not hide it behind closed doors. sRGB is a pretty complex matter in my opinion. We don't just have an exponential gamma function, but one that is companded differently below a certain treshold. However, it's not nearly as complicated as general colour theory. If we have nonlinear sRGB-values V (where V is one of R,G,B), we can make the conversion to linear sRGB (v where v is one of r,g,b) via ⎧ V / 12.92 V <= 0.04045 v = ⎨ ⎩ [(V + 0.055) / 1.055]^2.4 else Credit goes to Bruce Lindbloom[0] for creating this awesome collection of transformation formulae. After all though, if you mistake linear and nonlinear RGB, you most likely won't see the difference anyway. In 99% of the cases, the tools work with an immediate visual feedback. With best regards Laslo Hunhold [0]: http://www.brucelindbloom.com/ -- Laslo Hunhold <d...@frign.de>