A Curve object allows the user to define an arbitrary transformation, defined by easily editable curves, between the input and output channels.

The number of displayed curves depends on the dimension of the output channel. A float output channel can be transformed by only one curve, whereas a color or a vector channel requires three curves, one for each sub channel.

Curves can be edited easily. The object automatically inserts a new point to the curve, if user clicks a curve in such a location where there is not yet a point. Existing points can be selected by clicking and multi-selected by shift-clicking or dragging. Points can be deleted using the popup menu of the curve gadget. For more information about curve editing, check the curve editor documentation.

There are five curve types available:

Editing a curve object. The red curve maps the first sub channel value 0.479 to a new value 0.643.

The input and output range of the curve transformation can be adjusted using the menu 'Set minimum and maximum values' from the popup menu. The default range is 0-1. The value of the transformation outside the defined input range is defined by the values at the ends of the curve.

The Gradient option defines another kind of interface for curve editing: the result vector of a transformation is displayed as an RGB color. This is useful when designing color gradients and other RGB transformations.