[CREATE] Questions and reflections about gradients

Jon Cruz jon at joncruz.org
Wed Nov 3 21:14:20 PDT 2010


On Nov 3, 2010, at 5:34 PM, Sven Langkamp wrote:

> * I think the "segment" concept of Gimp isn't really interesting since
> the position of a segment start has to be the same as the end of the
> previous one, and in 99% of the cases, the color is the same too. For
> the 1% left, you can create another stop at the same position.
> 
> The main difference of the segmented gradients is that can have different interpolations per segment. There are interpolations like sinus and color interpolations like HSV. Of course in probably 99% of the cases just linear is used. For the application it doesn't really matter if the gradient comes as stop or segment gradient. In Krita we can use can use both types and for Karbon we convert Gimp gradients to stop gradients (with potential loss of some features).

There isn't anything specifically tying different interpolations to segments. Instead of storing segments with two separate colors each (per endpoint aka per stop), one can just store the endpoints. If stored with endpoints only, the midpoint value applies to the portion leading up to that stop. An interpolation value also can be.

Given that SVG, CSS3 and Adobe all prefer viewing gradients as sets of stops, not segments, this seems like a reasonable approach. I've also not worked out any scenarios where storing as sets of stops instead of gradients will give a functional or end-user visible difference.



More information about the CREATE mailing list