|
|
| ImageCurves (bool sixteenBit) |
|
| ImageCurves (const CurvesContainer &container) |
|
| ImageCurves (const ImageCurves &other) |
| QByteArray | channelToBinary (int channel) const |
| | Writes the given channel to a raw binary representation.
|
|
void | curvesCalculateAllCurves () |
|
void | curvesCalculateCurve (int channel) |
|
void | curvesChannelReset (int channel) |
|
float | curvesLutFunc (int n_channels, int channel, float value) |
|
void | curvesLutProcess (uchar *const srcPR, uchar *const destPR, int w, int h) |
|
void | curvesLutSetup (int nchannels) |
|
void | curvesReset () |
| | Methods to manipulate the curves data.
|
| void | fillFromOtherCurves (const ImageCurves *const otherCurves) |
| | Fills this curves with the data supplied by another curves object.
|
|
CurvesContainer | getContainer () const |
| | Returns a container with the settings for all channels of this Curves object.
|
|
CurvesContainer | getContainer (int channel) const |
| | Returns a container containing the values of this Curves object for the given channel, and linear values for all other channels.
|
|
QPoint | getCurvePoint (int channel, int point) const |
|
QPolygon | getCurvePoints (int channel) const |
|
int | getCurvePointX (int channel, int point) const |
|
int | getCurvePointY (int channel, int point) const |
|
CurveType | getCurveType (int channel) const |
|
int | getCurveValue (int channel, int bin) const |
|
QPolygon | getCurveValues (int channel) const |
|
bool | isCurvePointEnabled (int channel, int point) const |
|
bool | isDirty () const |
| | Curves properties.
|
|
bool | isLinear () const |
|
bool | isLinear (int channel) const |
| | Returns true if the curve is linear for the given channel, or all channels.
|
|
bool | isSixteenBits () const |
|
bool | loadCurvesFromGimpCurvesFile (const QUrl &fileUrl) |
|
ImageCurves & | operator= (const ImageCurves &other) |
|
bool | saveCurvesToGimpCurvesFile (const QUrl &fileUrl) const |
| | Methods to save/load the curves values to/from a Gimp curves text file.
|
| bool | setChannelFromBinary (int channel, const QByteArray &array) |
| | Set the channel from the given raw binary representation.
|
| void | setContainer (const CurvesContainer &container) |
|
void | setCurvePoint (int channel, int point, const QPoint &val) |
|
void | setCurvePoints (int channel, const QPolygon &vals) |
|
void | setCurvePointX (int channel, int point, int x) |
|
void | setCurvePointY (int channel, int point, int y) |
|
void | setCurveType (CurveType type) |
|
void | setCurveType (int channel, CurveType type) |
|
void | setCurveValue (int channel, int bin, int val) |
| | Methods to set manually the curves values.
|
|
void | setCurveValues (int channel, const QPolygon &vals) |
|
void | unsetCurvePoint (int channel, int point) |
| QByteArray Digikam::ImageCurves::channelToBinary |
( |
int | channel | ) |
const |
Binary format:
Note that 16bit free curves take a lot of memory (~85kB) while all other forms take less than 400 bytes.
Version 1 :16 Type 0,1,2 : 8 Bytes depth 1,2 : 8 reserved :32 count :32
Type 0 (linear curve): Type 1 (smooth curve): for (0...count) point.x :32 point.y :32 Type 2 (free curve): for (0...count) if (Bytes depth == 1) value : 8 else if (Bytes depth == 2) value :16
In Big Endian byte order. Data then converted to base64.