Parameters
Name | Explanation |
---|---|
x | An array of x coordinate values defining points of a polygonal area on the image. (in pixels) * |
y | An array of y coordinate values defining points of a polygonal area on the image. (in pixels) * |
Points | The number of points defining the polygonal area on the image. |
Yb | The gamma factor for the Y plane |
Cr | The gamma factor for the Cr plane |
Cb | The gamma factor for the Cb plane |
* In Visual C++, pass the pointer to the first element in the x and y arrays. In Visual Basic, the arguments are returned in the first elements of the arrays x(0) and y(0). |
Return Value
Returns True (nonzero) if successful, otherwise returns False (0).
Explanation
The YCCGamma method uses gamma correction to adjust the
YCrCb values and overall brightness of a raster image. The formula
used to calculate the output is given below:
Where x is the input YCrCb value, y is the output YCrCb value and
bright is the gamma factor for the Y, Cr and Cb planes. (The Yb,
Cr, and Cb parameters respectively).
When the Yb, Cr, and Cb parameters all equal 0, the input RGB
values and output YCrCb values are equal meaning there is no change
in the image. As the Yb, Cr, and Cb parameters increase in a
positive direction, the output YCrCb values become lower than the
input YCrCb values. As the Yb, Cr, and Cb parameters increase in a
negative direction, the output YCrCb values become higher than the
input YCrCb values. Please refer to the diagram below which shows
the change in YCrCb values for a gamma factor of 1 and also for a
gamma factor of -1.
To execute the YCCGamma method, set the image handle of the
image in the ImageHandle
property or the Layer(LayerNo).ImageHandle
property. The YCCGamma method supports 1, 4, 8, 16, 24, and
32 bit images.
Before executing the YCCGamma method, you must set the area
on the image that will be affected. There are 4 ways to do
this.
- To use a mask image, set the SelectMode property to 0. Set the mask image handle in the MaskImageHandle property
- To process the total image, set the SelectMode property to 1
- To process the polygonal area on the image, set the SelectMode property to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in two arrays, one array for the x coordinate values and one array for the y coordinate values. The pass these arrays to the x and y arguments of the YCCGamma method. The number of points defining the polygon must be 3 or more
- To process an elliptical area on the image, set the SelectMode property to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the RectLeft, RectTop, RectRight, and RectBottom properties
When the SelectMode
property is set to values other than 2 (ikEffectPolygon), please
set dummy arrays in the x and y parameters and set the Points
parameter to 0.
When the SelectMode property
is set to 2 or 3, the appropriate value must be set in the InOut property. When a 1, 4, or 8 bit image
is processed, the total image will be processed regardless of the
value set in the SelectMode
property.
If successful the resulting raster image data is set in the
LayerNo property (the ImageHandle property or the
Layer(LayerNo).ImageHandle
property. If unsuccessful, 0 is returned.
When the Caption, Message, and ButtonName properties are blank, the
progress dialog box will not be displayed. When the progress dialog
box is displayed, the percentage that the processing has completed
will be shown in the dialog box.
For scripting languages and other programs that require variant
types, please refer to the YCCGammaVariant method.