This method produces an outline effect on the image.
[Visual Basic]   [ Boolean = ]imagekitcontrolname.Effect.OutlineVariant(x As Variant, y As Variant, Plane As Integer, Operator As Integer, Level As Integer)
[VB.NET]   [ Boolean = ]imagekitcontrolname.Effect.OutlineVariant(ByRef x As Object, ByRef y As Object, Plane As Short, Operator As Short, Level As Short)
[C#.NET]   [ bool = ]imagekitcontrolname.Effect.OutlineVariant(ref object x, ref object y, short Plane, short Operator, short Level)

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)
Plane Sets which plane will be used to process the outline. (0:Y, 1:R, 2:G, 3:B)
Operator Sets the edge filtering function used to process the outline (0:Differential, 1:Roberts, 2:Sobel)
Level Sets the level at which an outline is drawn. (from 0 to 100)
* 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 OutlineVariant method produces an outline of a raster image by identifying and displaying only the "edges" within the image.

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#.

In general, the luminance plane is most commonly used. (Plane parameter = 0). In this case, differences in brightness are used to identify edges. However, the red plane, green plane or blue plane can also be used to identify an edge So for example if the red plane is used (Plane parameter = 1) then differences in the R values would be used to identify the edges within an image.

The Operator parameter determines how an edge is identified. The Level parameter determines at which value an edge will be displayed. When the Differential Operator is used, (Operator=0), the differences between the pixel values (either brightness, red, green, or blue) are calculated and then depending on the value of the Level parameter, the edges are displayed. The Differential Operator evaluates these difference in a horizontal and/or vertical direction. The Roberts Operator (Operator=1) also uses a differential calculation, but evaluates these differences at a 45 degree orientation. The Sorbel Operator (Operator=2) is very similar to the above two operators except that with Sorbel there is an additional correction for images that have a lot of complexity.

To execute the OutlineVariant method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The OutlineVariant method supports 8 bit grayscale, 16, 24, and 32 bit images.

Before executing the OutlineVariant 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 OutlineVariant 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. 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 Outline method.

The ImageKit10 ActiveX is a product created by Newtone Corporation