This method uses gamma correction to adjust the YCrCb values of a raster image.

[Visual Basic]   [ Boolean = ]imagekitcontrolname.Effect.YCCGammaVariant(x As Variant, y As Variant, Yb As Double, Cr As Double, Cb As Double)
[VB.NET]   [ Boolean = ]imagekitcontrolname.Effect.YCCGammaVariant(ByRef x As Object, ByRef y As Object, Yb As Double, Cr As Double, Cb As Double)
[C#.NET]   [ bool = ]imagekitcontrolname.Effect.YCCGammaVariant(ref object x, ref object y, double Yb, couble Cr, double Cb)

Parameters

Name Explanation
x An array of x coordinate values defining points of a polygonal area on the image. (in pixels) * (see Note below)
y An array of y coordinate values defining points of a polygonal area on the image. (in pixels) * (see Note below)
Yb The gamma factor for the Y plane
Cr The gamma factor for the Cr plane
Cb The gamma factor for the Cb plane
* NOTE for retrieving array values:
In Visual Basic / VB.NET, if the array is defined as Dim x(0 To 2), then the arguments are returned in x.
In C#.NET the arguments are returned in ref x.

Return Value

Returns True (nonzero) if successful, otherwise returns False (0).

Explanation

The YCCGammaVariant 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:

This method is recommended when using scripting or other languages that require variant types or when using 64 bit builds in VB.NET or C#.

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 YCCGammaVariant method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The YCCGammaVariant method supports 1, 4, 8, 16, 24, and 32 bit images.

Before executing the YCCGammaVariant method, you must set the area on the image that will be affected. There are 4 ways to do this.

  1. To use a mask image, set the SelectMode property to 0. Set the mask image handle in the MaskImageHandle property
  2. To process the total image, set the SelectMode property to 1
  3. 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 YCCGammaVariant method. The number of points defining the polygon must be 3 or more
  4. 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.
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.

Also see the YCCGamma method.

The ImageKit10 ActiveX is a product created by Newtone Corporation