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. |
Red | The gamma factor for the red plane |
Green | The gamma factor for the green plane |
Blue | The gamma factor for the blue 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 RGBGamma method uses gamma correction to adjust the
RGB values and overall brightness of a raster image. The formula
used to calculate the output is given below:
Where x is the input RGB value, y is the output RGB value and
bright is the gamma factor for the red, green and blue planes. (The
Red, Green, and Blue parameters respectively).
When the Red, Green, and Blue parameters all equal 0, the input RGB
values and output RGB values are equal meaning there is no change
in the image. As the Red, Green, or Blue parameters increase in a
positive direction, the output RGB values become lower than the
input RGB values. As the Red, Green, or Blue parameters increase in
a negative direction, the output RGB values become higher than the
input RGB values. Please refer to the diagram below which shows the
change in RGB values for a gamma factor of 1 and also for a gamma
factor of -1.
To execute the RGBGama method, set the image handle of the
image in the ImageHandle
property or the Layer(LayerNo).ImageHandle
property. The RGBGamma method supports 1, 4, 8, 16, 24,
and 32 bit images.
Before executing the RGBGamma 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 RGBGamma 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 RGBGammaVariant method.