Re: [css3-transitions] colour space used for colour interpolations

On May 24, 2012, at 1:47 PM, "Tab Atkins Jr." <jackalmage@gmail.com> wrote:

> On Thu, May 24, 2012 at 9:44 AM, Rik Cabanier <cabanier@gmail.com> wrote:
>> Reading a bit more on the wikipedia article [1] on HSL, I came across the
>> following quote:
>> 
>> Because hue is a circular quantity, represented numerically with a
>> discontinuity at 360กใ, it is difficult to use in statistical computations or
>> quantitative comparisons: analysis requires the use of circular statistics.
>> Furthermore, hue is defined piecewise, in 60กใ chunks, where the relationship
>> of lightness, value, and chroma to R, G, and B depends on the hue chunk in
>> question. This definition introduces discontinuities, corners which can
>> plainly be seen in horizontal slices of HSL or HSV.
>> 
>> I believe it doesn't make sense to transition in HSL because of these issue.
>> Who would want to create such a synthetic transition?
> 
> Heh, who would ever want to transition in RGB?  It's infinitely worse. ^_^
> 
> Ultimately, what matters is what the system graphics libraries
> support, or can be extended to support.  HSL is a pretty shitty
> colorspace, but it's simple to work with, and way better than RGB for
> most things.  If we can convince the implementors working on graphics
> to do a better colorspace, awesome, but if we can't, falling back to
> HSL is acceptable in my mind.
> 
> (The major problem with HSL, more than anything else, is that there's
> no analog of "premultiplied" colors like RGBA has, so transitions
> to/from 'transparent' are going to be ugly.  I don't think any of the
> better colorspaces have a solution to this either.)

When I am creating gradients from some color to transparent, I usually end up using rgba for the transparent side, so that I can set the rgb part of that to match the full color version. That seems to usually work well enough to render decently in UAs that don't pre-multiply. So, I would think that with hsla, it would be no worse than that. HSL is useful when you just want to adjust lightness and/or saturation, which I'd guess would be the most common gradient or transition changes, not including alpha changes, by far. In my experience, using gradients or transitions to a lighter or darker version of the same hue is much more common than rotating through different hues.

Received on Saturday, 26 May 2012 18:53:16 UTC