Contacting Us

ImageKit10 ActiveX

Reference

Newtone Corporation
1-6-43 Kotobuki
Nagaoka City, Niigata Prefecture, 940-0015
JAPAN
Fax: +81-258-24-7905
http://www.imagekit.com
iksupport@imagekit.com


Environment

Supported Platforms The ImageKit supports the following platforms:
Windows 10 / Windows 8.1 / Windows Server 2019 / Windows Server 2016 / Windows Server 2012 / Windows Server 2012 R2
Internet Explorer 8 and above

Supported Containers The ImageKit operates in the following development environments: VisualBasic 6.0, VisualC++ 6.0, VisualStudio 2019 / 2017 / 2015 / 2013 / 2012 / 2010 / 2008 / 2005 (COM Wrapper)

Supported Scan Devices The ImageKit can be used with the following scan devices:
TWAIN Compatible Image Scanner (+ADF)
TWAIN Compatible Digital Camera
TWAIN Compatible Film Scanner

Supported DirectX (DirectShow):
DirectX 9 and above (When using the WebCamera Controls)

Supported Image Formats The ImageKit supports the following image formats

Raster Image File Formats | Bit/Pixels
 | 1 (B&W) | 4 (Color) | 4 (Gray) | 8 (Color) | 8 (Gray) | 16 | 24 | 32
Windows BMP/ DIB (*1) | Load & Save | Load & Save | Load & Save | Load & Save | Load & Save | Load & Save | Load & Save | Load & Save
Windows BMP/ DIB (RLE4) |  | Load & Save | Load & Save |  |  |  |  |
Windows BMP/ DIB (RLE8) |  |  |  | Load & Save | Load & Save |  |  |
Exif (JPEG) (*2) |  |  |  |  | Load & Save |  | Load & Save |
FPX (Standard) (*3) |  |  |  |  | Load & Save |  | Load & Save |
GIF (GIF87a, GIF89a) (*4) | Load & Save | Load & Save | Load & Save | Load & Save | Load & Save |  |  |
JPEG (Standard DCT, Progressive DCT) |  |  |  |  | Load & Save |  | Load & Save |
JPEG2000 (Part1, Code Stream) |  |  |  |  | Load & Save |  | Load & Save |
PCX | Load & Save | Load & Save | Load & Save | Load & Save | Load & Save |  | Load & Save |
PNG | Load & Save | Load & Save | Load & Save | Load & Save | Load & Save |  | Load & Save |
TIFF (Uncompressed) | Load & Save | Load & Save | Load & Save | Load & Save | Load & Save | Load Only | Load & Save | Load & Save
TIFF CCITTRLE | Load & Save |  |  |  |  |  |  |
TIFF/GROUP3-1D (*5) | Load & Save |  |  |  |  |  |  |
TIFF/GROUP3-2D (*5) | Load & Save |  |  |  |  |  |  |
TIFF/GROUP4 (*5) | Load & Save |  |  |  |  |  |  |
TIFF/LZW | Load & Save | Load & Save | Load & Save | Load & Save | Load & Save | Load Only | Load & Save | Load & Save
TIFF/Packbits | Load & Save | Load & Save | Load & Save | Load & Save | Load & Save | Load Only | Load & Save | Load & Save
TIFF/JPEG (6*) |  |  |  |  | Load & Save |  | Load & Save |
(*1) OS/2 BMP supported for loading only (not saving) except for 16 and 32 where loading is also unsupported (*2) Version 2.1 supported (loading only) (*3) Does not support optional functions (*4) For saving, only GIF89a is supported (not GIF87a) (*5) GROUP3-1D is also known as MH, GROUP3-2D is also known as MR, and GROUP4 is also known as MMR (6*) Not all TIFF(JPEG compression) files can be loaded.

Vector Images The ImageKit supports these vector image formats: DXF (*7), EMF, SVG (*8), SXF(SFC/P21)**, WMF

(*7) ImageKit supports these DXF items
In Header Section: EXTMAX, EXTMIN
In Table Section: LAYER Color, Line Type
In Entities Section: LINE, POINT, CIRCLE, ARC, TEXT (Options not supported), 3DFACE (Only loading supported), POLYLINE (Curves not supported)

In general, the ImageKit supports version GX-III. However the following contents of GX-III are NOT SUPPORTED by the ImageKit.

In Header Section: Group code other than EXTMAX, EXTMIN
In Table Section: LTYPE, STYLE, UCS, VIEW, VPORT
In Entities Section: ATTDEF, ATTRIB, DIMENSION, SHAPE, TRACE, VIEWPORT

(*8) ImageKit supports these SVG items
SVG_CIRCLE, SVG_LINE, SVG_POLYGON, SVG_POLYLINE, SVG_TEXT, SVG_RECT

**Support is provided for SXF standard version 3.0. In order to build, sell, or distribute applications that use SXF, you must first execute a license agreement (free) with JACIC (Japan Construction Information Center). For more details see: http://www.cals.jacic.or.jp/cad/index.html or write to cad@jacic.or.jp.


Contacting Us

Please feel free to contact us if you have any questions or comments about us or our products.

Newtone Corporation
Honchou 2-2-15, Shangrila Honchou 1F
Nagaoka City, Niigata Prefecture
940-0076, JAPAN
Telephone: +(81)258-86-6954
Fax: +(81)258-86-6964

Website: http://www.imagekit.com

Email: iksupport@imagekit.com

When contacting us for technical support, please include the following information.

User Information

Name - The name of the person who is registered to receive support.

Product Information

Product name
Version number
Product Serial Number - provided by the vendor when the ImageKit was purchased.
The ActiveX or DLL file time stamp.

Development Environment Information

Operating system
Development container
Module being used (ActiveX or DLL)
If your inquiry involves a scanner or digital camera, please include the model and version number of that TWAIN device.
If you inquiry involves a web camera, please include the make and model of the camera and the DirectX version you are using.

Inquiries

Please explain the circumstances or conditions under which the problem or question exists. This explanation should be made as clearly and concisely as possible. If it is difficult to explain the problem in writing, please feel free to attach a small sample program that illustrates the problem. However, make sure that all programming not directly related to the issue at hand is eliminated from the program before sending it to us. Furthermore, please compress all sample programs into ZIP compression format before sending.

Note

Support is available ONLY to holders of a VALID PC developer license who have REGISTERED their license with us. For details about user registration, please refer to our website.


Environment

ImageKit10 ActiveX

Installation

Preparation for installing ImageKit

The following must be present on your PC before you can use the ImageKit10 ActiveX

1) .NET Framework 4.0: The ImageKit10 ActiveX license activation program requires .NET Framework 4.0.
Please be sure that .NET Framework 4.0 is installed before installing the ImageKit10 ActiveX

2) Microsoft Visual C++ 2010 Redistributable Package: This is required by the ImageKit10 ActiveX OCX and DLL files.

* NOTE: For both 1) and 2) above, there are 32bit (x86) and 64bit (x64) versions. Please make sure that you have installed the appropriate 32 bit and 64 bit versions before installing the ImageKit10 ActiveX.

How to install the ImageKit

After downloading the ImageKit, double click the "setup.exe" file and follow the instructions.

Folder structure after installation

After running the ImageKit setup program, the following folders will be created.

ImageKit10 files:

1. OCX files: 32 bit Unicode Version
ImageKit10.ocx, ImageKit10Thumb.ocx, ImageKit10WebCamera.ocx
32 bit Ansi Version
ImageKit10A.ocx, ImageKit10ThumbA.ocx, ImageKit10WebCameraA.ocx
64 bit Unicode Version
ImageKit1064.ocx, ImageKit10Thumb64.ocx, ImageKit10WebCamera64.ocx
64 bit Ansi Version
ImageKit1064A.ocx, ImageKit10Thumb64A.ocx, ImageKit10WebCamera64A.ocx

2. DLL files: 32 bit Unicode Version
Ik10Com.dll
Ik10Effect.dll
Ik10File.dll
Ik10Bmp.dll
Ik10Dxf.dll
Ik10Emf.dll
Ik10Fpx.dll
Ik10Gif.dll
Ik10J2k.dll
Ik10Jpeg.dll
Ik10Pcx.dll
Ik10Pdf.dll
Ik10Png.dll
Ik10Svg.dll
Ik10SxfP21.dll
Ik10SxfSfc.dll
Ik10Tiff.dll
Ik10TransFile.dll
Ik10Wmf.dll
Ik10Print.dll
Ik10RasToVect.dll
Ik10Scan.dll
Ik10VectCom.dll

32 bit Ansi Version
Ik10ComA.dll
Ik10EffectA.dll
Ik10FileA.dll
Ik10BmpA.dll
Ik10DxfA.dll
Ik10EmfA.dll
Ik10FpxA.dll
Ik10GifA.dll
Ik10J2kA.dll
Ik10JpegA.dll
Ik10PcxA.dll
Ik10PdfA.dll
Ik10PngA.dll
Ik10SvgA.dll
Ik10SxfP21A.dll
Ik10SxfSfcA.dll
Ik10TiffA.dll
Ik10TransFileA.dll
Ik10WmfA.dll
Ik10PrintA.dll
Ik10RasToVectA.dll
Ik10ScanA.dll
Ik10VectComA.dll

64 bit Unicode Version
Ik10Com64.dll
Ik10Effect64.dll
Ik10File64.dll
Ik10Bmp64.dll
Ik10Dxf64.dll
Ik10Emf64.dll
Ik10Fpx64.dll
Ik10Gif64.dll
Ik10J2k64.dll
Ik10Jpeg64.dll
Ik10Pcx64.dll
Ik10Pdf64.dll
Ik10Png64.dll
Ik10Svg64.dll
Ik10SxfP2164.dll
Ik10SxfSfc64.dll
Ik10Tiff64.dll
Ik10TransFile64.dll
Ik10Wmf64.dll
Ik10Print64.dll
Ik10RasToVect64.dll
Ik10Scan64.dll
Ik10VectCom64.dll

64 bit Ansi Version
Ik10Com64A.dll
Ik10Effect64A.dll
Ik10File64A.dll
Ik10Bmp64A.dll
Ik10Dxf64A.dll
Ik10Emf64A.dll
Ik10Fpx64A.dll
Ik10Gif64A.dll
Ik10J2k64A.dll
Ik10Jpeg64A.dll
Ik10Pcx64A.dll
Ik10Pdf64A.dll
Ik10Png64A.dll
Ik10Svg64A.dll
Ik10SxfP2164A.dll
Ik10SxfSfc64A.dll
Ik10Tiff64A.dll
Ik10TransFile64A.dll
Ik10Wmf64A.dll
Ik10Print64A.dll
Ik10RasToVect64A.dll
Ik10Scan64A.dll
Ik10VectCom64A.dll

When using the OCX versions, the necessary dll files must be in the same folder as the ocx files and the ocx files must be registered. You can manually register the ocx files using the RegSvr32 command. The dll files are not registered.

When using the ImageKit dll versions, the ImageKit dll files must be copied into the same folder as the executable application or into a folder with a valid path.

You will find the ocs and dll files in the \product\system\ folder under the directory where the ImageKit10 was installed

Steps following installation

After installing the ImageKit, the following steps are needed in order to use the ActiveX control in a development container. (When using only DLL functions, these steps are not necessary).

Adding the ImageKit10 to the development environment

1. In VisualBasic 6.0
a. From the Project (P) menu, select "Components" (O)
b. In the Control tab of the "Components" dialog box, select "ImageKit10 ActiveX Control (Unicode or Ansi version)", "ImageKit10 Thumbnail ActiveX Control (Unicode or Ansi version)" and "ImageKit10 WebCamera ActiveX Control (Unicode or Ansi version)". Then click the "OK" button.

2. In Visual C++ 6.0
a. From the Project (P) menu, move the mouse cursor to "Add to Project" (A) and select "Components and Controls" (P)
b. From the "Components and Controls Gallery" select "Registered ActiveX Controls"
c. Choose the ImageKit10 *** Control (Ansi) that you want to add and click the "Insert" button (*** refers to the specific ImageKit10 control name)

3. In VisualBasic.NET, and VisualC#.NET, VisualC++.NET
a. From the "Tools" menu click on "Add/Remove Toolbox Items"
b. Select the "COM Components" tab and then select the ImageKit10 control you want to add (Unicode or Ansi version). Click the OK button.

* Note: When the ImageKit10 is installed, the ImageKit10 32 bit Ansi version and ImageKit10 32 bit Unicode version are both automatically registered. If you would like to use the 64 bit versions, please register the 64 bit versions.

Registering or Unregistering the ImageKit10
To manually register or unregister the ImageKit10, execute the following functions from "Run" the Start Menu

(To Register) REGSVR32 "[path]\ImageKit10.ocx"
(To Unregister) REGSVR32 "[path]\ImageKit10.ocx" /U

Where [path] is the path to the ImageKit10 ocx

The same procedure is used to register or unregister the ImageKit10 Thumbnail control and ImageKit10 WebCamera controls.


ImageKit10 ActiveX Activation

IMPORTANT: After installing the retail version, you will be prompted to activate the license.
You have 2 weeks to activate the retail license after which the ImageKit10 ActiveX will stop working until the license is activated.

How to activate your ImageKit10 ActiveX License:

License activation is the final step in correctly installing your product. If the license is not activated within 2 weeks of installation, the product will stop working.

To activate a license, use the License Activation tool installed with the product's setup program. This tool uses the Product ID and Serial No that you recieved when you purchased the product. Enter the the Product ID and Serial No in the License Activation tool to retrieve a License Key to activate the license.

The License Activation tool will automatically start when the product is installed. If you choose to activate later, you can do so at any time by running the License Activation tool.

License activation is performed online and takes only a few minutes. During activation, the Product ID and Serial No that are entered and the Confirmation ID that is generated by the License Activation tool are transmitted to our license activation server. No other information except for the Product ID, Serial No, and Confirmation ID are transmitted. Once this information is confirmed, the product will be automatically activated. The status of your activation will appear in the License Activation tool.

When uninstalling the product, it is also necessary to remove the product license from the machine where it was activated. If the license is not removed it will remain even after the product has been uninstalled. Until that license is removed, that product cannot be activated on another machine.

Manual Activation:

License activation can also be performed manually via email. To activate a license manually, run the License Activation tool and select the "Offline" radio button. Send the Product ID, Serial No, and the Confirmation ID shown in the License Activation tool to Newtone Corporation at iksupport@imagekit.com. Once we receive the Product ID, Serial No, and the Confirmation ID, we will send you a License Key which you will enter in the License Activation tool.

To remove a license manually, run the License Activation tool and select the "Offline" radio button. Enter the Product ID and Serial No in the License Activation tool and click the "Remove License" button. Then send the Product ID, Serial No, and the Confirmation ID shown in the License Activation tool to Newtone Corporation at iksupport@imagekit.com. Please allow 3 to 5 working days for the license to be removed.

Questions:

Please contact Newtone Corporation at iksupport@imagekit.com if you have any questions about activation or if you have any problems activating your product.


Sample Programs

The ImageKit10 comes with a variety of sample programs that illustrate many of the features of the ImageKit10. The quickest way to learn how to use the ImageKit10 is to browse through the sample programs for your development environment. In most cases, functionality that you want to enable in your applications is already illustrated in a sample. Please feel free to copy the code from the samples and use it in your own program.

The sample programs for each supported development container can be found in the "Samples" subfolder contained under the directory in which the ImageKit10 was installed.

Note: When using the scan sample, a TWAIN driver is needed.

Installing a TWAIN device driver

When using a scan device such as an image scanner, digital camera, or film scanner, it is first necessary to install this device's "TWAIN driver". Once installed the device can be used. For installation instructions, please refer to that device's manual.

Regarding TWAIN drivers, if the manufacturer's recommended TWAIN driver is only 16bit, there is a converter to 32bit available (TWUNK_32.EXE, TWUNK_16.EXE). For details, contact your scan device manufacturer.

If you experience a decline in resources while you are scanning, please try the following:

1. Update your TWAIN driver to the latest version
2. Update your Twain_32.dll to the latest version
3. Rename the Twunk_32.exe and Twunk_16.exe files

Note that depending on your version of Windows number 2 and number 3 may not apply.

When using a 64 bit TWAIN driver in Windows 64, the TWAINDSM.dll is necessary. If your TWAIN driver installation does not install this file, it is available for download from the Twain.org website.


IntroImageHandle.htm

ImageKit10 ActiveX

Images and Image Handles

The ImageKit10 keeps track of images and processes image data by using an image handle (also known as a memory handle). The image handle can be thought of as a unique address to the image data that is stored in the memory. The ImageKit10 uses the image handle to locate and manipulate the image data that is stored in the memory. Below is a brief explanation of some of the ways image handles are used in the ImageKit10.

1. The base image and the layer images:

The image handle for the base image is represented by: ImageKit.ImageHandle
The image handles for the layer images are represented by ImageKit.Layer(LayerNo).ImageHandle (LayerNo: from 0 to 99)
The layer images can only be used if there is an image set in the base image.
To set an image as the base image, set the LayerNo property to -1. To set an image as a layer image, set the LayerNo property to values ranging from 0 to 99. The default value of the LayerNo property is -1.

To load an image as the base image:

ImageKit1.LayerNo = -1
ImageKit1.File.FileName = "path to the image file"
ImageKit1.LoadFile ikLoad

To load an image as the 0 layer image:

ImageKit1.LayerNo = 0
ImageKit1.File.FileName = "path to the image file"
ImageKit1.LoadFile ikLoad

The the value set in the LayerNo property determines the image to be processed. Because of this the results of the following methods will be different depending on the value set in the LayerNo property:

(a) ImageKit methods:
GetFromClipBrd()
SetToClipBrd()
DibFromBitmap()
BitmapFromDib()

(b) ImageKit.File methods:
LoadFile(), SaveFile()
LoadFileMem(), SaveFileMem()
RGBBmpPlaneFileLoad(), RGBBmpPlaneFileSave()
CMYKBmpPlaneFileLoad(), CMYKBmpPlaneFileSave()

(c) ImageKit.Effect methods:
All Effect related methods

2. Image data is automatically freed from the memory:

Unlike earlier versions of the ImageKit, it is no longer necessary to manually free image data from the memory. The ImageKit10 automatically does this for you. So whenever an image file is loaded (i.e. the ImageKit1.File.LoadFile method is executed), the previously loaded image data is automatically freed from the memory before the new image data is loaded into the memory. Please refer to the code below:

(An example of loading an image in Visual Basic 6)

Private Sub Command1_Click()
If ImageKit1.File.OpenFileDialog = False Then
Exit Sub
End If
ImageKit1.DisplayMode = ikScale
ImageKit1.File.LoadFile ikLoad
ImageKit1.DisplayImage
End Sub

Because the previously loaded image data is freed before the next image data is loaded, the memory consumption does not continue to increase even if this code is executed repeatedly.

In the code below:

ImageKit1.ImageHandle = ImageKit1.CopyImage(ImageHandle)
(1) The previous ImageKit1.ImageHandle is freed
(2) The image handle of the copied image data is set into the ImageKit1.ImageHandle

However, in the following code:

ImageKit1.ImageHandle = ImageHandle
(1) The previous ImageKit1.ImageHandle is freed
(2) The image data set in ImageHandle is set into the ImageKit1.ImageHandle

The following code is not ordinarily used but illustrates an important point about freeing memory:

ImageKit1.ImageHandle = ImageKit1.ImageHandle
(1) The previous ImageKit1.ImageHandle is freed
(2) An invalid image handle is set into the ImageKit1.ImageHandle because the image data it points to has already been freed.

3. Effect Processing:

When the ImageKit10 is used to process an effect the ImageKit.ImageHandle is refreshed. This means that the original image handle (the image data prior to the effect) is freed from the memory and the new image handle (the image data after the effect) is set into ImageKit1.ImageHandle. If the original image data is still needed after the effect is processed, then something like the following is necessary:

'first make a copy of the original image.
Image=ImageKit1.CopyImage(0)
 'Note: When the CopyImage parameter is 0, then the image data is referred to according to the value set in the LayerNo property.
'If LayerNo = -1, the image handle is set in the ImageKit.ImageHandle property.

'then execute the effect that you want
ImageKit1.LayerNo = -1
ImageKit1.Effect.SelectMode = ikEffectAll
ImageKit1.DisplayMode = ikScale
ret = ImageKit1.Effect.Emboss(0,0,0,0,3,128)
ImageKit1.DisplayImage
Once the original image data that was duplicated by the CopyImage method is no longer needed it should be freed at quickly as possible by executing the ImageKit.FreeMemory method.

4. Retrieving images from scan devices:

[When using ImageKit10 ActiveX control]
Execute scan --> AfterScan event is generated --> copy image data or save as a new image.

[Using ImageKit10 DLL functions]
Execute scan --> user function is generated --> copy image data or save as a new image.

When scanning, the scanned image data is stored in the memory and the image handle for this memory block is returned as an argument of the AfterScan event (when using ActiveX controls) or the User Function (when using DLL). This image data is automatically freed after this event or function executes in preparation for the next scan. Therefore, it is necessary to copy or save this image data within the AfterScan event or User Function.

5. Referring to and coping image data:

The ImageKit10 locates and processes the memory blocks where image data is stored by using an image handle. This image handle refers to the image data in the memory. When image data is deleted, the image handle still exists but it no longer refers to an existing block of image data in the memory. For example:

If image handle (A) = Image memory block
And we set image handle (B) = image handle (A)
Then both (A) and (B) refer to the same image data in the memory, i.e. (A) --> Image data <-- (B)

To free (delete) the image data, we can use the image handle (B) to refer to it and do the following:

[For ActiveX controls]
ImageKit1.ImageHandle = (B)
ImageKit1.FreeMemory 0 (When 0 is used in this method, the ImageKit1.ImageHandle is freed)

(For DLL User Functions)
IKFreeMemory(B)

The image data which image handle (B) refers to has been deleted. Therefore, the image data cannot be referred to through either image handles (A) or (B).

When image data has been copied a new and distinct memory block has been created and a new image handle is used to refer to this new memory block. When the image data is no longer needed, it is important that both memory blocks be freed. For example:

A = The image handle for image data we want to copy
[For ActiveX controls]
B = ImageKit1.CopyImage(A)

(For DLL User Functions)
B = IKCopyImage (A)

Now image handle (A) refers to the original image memory block and image handle (B) refers to the newly created image memory block.

A --> Image memory block
B --> Newly created image memory block

Both image handles (A) and (B) represent separate and independent memory blocks and both must be freed when no longer needed.

[Image Data and the Memory Block]

The image handle that the ImageKit10 uses to refer to a particular memory block (or raster image data) is the handle of the Device Independent Bitmap (DIB). The pointer to this (DIB) is obtained by using the GlobalLock function of Windows API.

The structure of the Device Independent bitmap (DIB) is shown below:

For more information about the device independent bitmap, please refer to WindowsAPI and appropriate manuals.


Using Effect Methods and Functions

The ImageKit10 allows you to process image effects in a variety of useful ways. One of the most useful ways to involves the use of a mask image. A mask image is simply a black and white image. When a mask image is layered on the original image, the mask determines what portion of the original image will be processed. When using the ImageKit.Effect methods (or the IKEffect.dll user functions), an image and mask image are created. Below are a few examples of how to process image effects with both the ImageKit10 ActiveX and ImageKit10 DLL versions:

Selecting images (SelectImage)

In the ImageKit10, there are three ways in which images or portions of images can be selected for processing:

1 - selecting the total image
2 - selecting a polygon
3 - selecting an ellipse

In all cases, the image and the mask image are generated and, when using the ImageKit10 ActiveX controls, the results are returned in the ImageHandle property or the ImageKit.Layer(LayerNo).ImageHandle property. (When the ImageKit10 Dll functions are used, the results are returned in the IKSELECT_IMAGE structure).

Below is a brief explanation about each of these and the images and mask images that they generate.

* When you select the whole image, an all white mask image is generated. If the mask image is not needed, please free it it.

[VB Example (OCX)]

ImageKit1.LayerNo = -1 'process the base image
ImageKit1.ImageHandle = ImgHandle 'set the image
ImageKit1.Effect.MaskImageHandle = 0 'free the mask image handle
ImageKit1.Effect.SelectMode = ikEffectAll 'process the whole image
Ret = ImageKit1.Effect.SelectImage(x(0),y(0),0,255,0,0) 'execute the SelectImage method

[VB Example (DLL)]

' the following function creates the image and the mask image
DstHandle = IKSelectImage(ImgHandle, 1, pt(0), 0, Rect, TRUE, 0, 0, 255, 0, "Select", "Select", "Cancel")
IKFreeMemory(ImgHandle) ' Deletes the input image handle.

Note: If the input image handle is not deleted, the image will remain in the memory.

Selecting a polygonal area in the image (SelectMode = 2)

Polygons can be selected by passing the coordinate points of the polygon as the arguments. The size of the output image and mask image is the size of the smallest rectangle that can circumscribe the polygon.

[VB Example (OCX)]

Dim x(0 To 2) As Long, y(0 To 2) As Long
x(0) = 90: y(0) = 60 'Sets the coordinates of the points of the polygon
x(1) = 560: y(1) = 100
x(2) = 410: y(2) = 390
ImageKit1.LayerNo = -1 'process the base image
ImageKit1.ImageHandle = ImgHandle 'set the image
ImageKit1.Effect.MaskImageHandle = 0 'free the mask image handle
ImageKit1.Effect.InOut = ikInside 'process inside the polygon
ImageKit1.Effect.SelectMode = ikEffectPolygon 'process the polygonal area on the image
Ret = ImageKit1.Effect.SelectImage(x(0),y(0),3,255,0,0) 'execute SelectImage method

[VB Example (DLL)]

Dim Pt(0 To 2) As IKPOINT
Pt(0).x = 90: Pt(0).y = 60 ' Sets the coordinates of the points of the polygon
Pt(1).x = 560: Pt(1).y = 100
Pt(2).x = 410: Pt(2).y = 390
' the following function creates the image and the mask image
DstHandle = IKSelectImage(ImgHandle, 2, pt(0), 3, Rect, True, 0, 0, 255, 0, "Select", "Select", "Cancel")
IKFreeMemory(ImgHandle) ' Deletes the effect control input image handle
ImgHandle = 0

Note: If the input image handle is not deleted, the image will remain in the memory.

Selecting an elliptical area in the image (SelectMode = 3)

An ellipse can be selected by setting the location of the coordinate points for the bounding rectangle in the RectLeft, RectTop, RectBottom, and RectRight properties (when using the ImageKit10 ActiveX controls) or by setting these coordinates in the RECT structure (when using the DLL functions). The size of the output image and mask image is the size of the smallest bounding rectangle that circumscribes the ellipse.

[VB Example (OCX)]

ImageKit1.Effect.RectLeft = 100
ImageKit1.Effect.RectTop = 50
ImageKit1.Effect.RectRight = 540
ImageKit1.Effect.RectBottom = 400
ImageKit1.LayerNo = -1
ImageKit1.ImageHandle = ImgHandle
ImageKit1.Effect.MaskImageHandle = 0
ImageKit1.Effect.InOut = ikInside
ImageKit1.Effect.SelectMode = ikEffectEllipse
Ret = ImageKit1.Effect.SelectImage(x(0),y(0),0,255,0,0)

[VB Example (DLL)]

Dim Rect As IKRECT
Rect.Left = 100: Rect.Top = 50
Rect.Right = 540: RectBottom = 400
DstHandle = IKSelectImage(ImgHandle, 3, pt(0), 0, Rect, True,255, 0, 0, 0, "Select", "Select", "Cancel")
IKFreeMemory(ImgHandle)
ImgHandle = 0

Embossing images (Emboss)

In the following, we have choosen to use the Emboss method as an example of applying an effect.

Using an existing mask image (SelectMode = 0)

By setting the SelectMode to 0, an existing mask image can be used to determine the area on the original image that will be processed. The input mask image, input image, and the output image are shown below. The ImgHandle can refer to an image that is 1, 4, 8, 16, 24, or 32 bit color, however for the Emboss method, the input image must be 8G, 16, 24, or 32 bit. The MskHandle refers to a black and white 1 bit color image, where the white portion of the mask determines the area on the image that will be processed and the black portion determines the area that will be masked.

[VB Example (OCX)]

ImageKit1.LayerNo = -1
ImageKit1.ImageHandle = ImgHandle
ImageKit1.Effect.MaskImageHandle = MskHandle
ImageKit1.Effect.SelectMode = ikEffectMask
Ret = ImageKit1.Effect.Emboss(x(0),y(0),0,0,3,128)

[VB Example (DLL)]

Dim Src As IKSELECT_IMAGE
Src.hImgBmh = ImgHandle
Src.hMskBmh = MskHandle
' executes the Emboss function
DstHandle = IKEmboss(Src, 0, pt(0), 0, Rect, True, 0, 3, 128, 0, "Emboss", " Emboss ", "Cancel")
IKFreeMemory(ImgHandle) ' Deletes the input image handle and input mask handle
IKFreeMemory(MskHandle) ' If these are not deleted they will remain in the memory.
ImgHandle = 0
MskHandle = 0

[VB Example (OCX)]

ImageKit1.LayerNo = -1
ImageKit1.ImageHandle = ImgHandle
ImageKit1.Effect.MaskImageHandle = 0
ImageKit1.Effect.SelectMode = ikEffectAll
Ret = ImageKit1.Effect.Emboss(x(0),y(0),0,0,3,128)

[VB Example (DLL)]

Dim Src As IKSELECT_IMAGE
Src.hImgBmh = ImgHandle
Src.hMskBmh = 0
' executes the Emboss function
DstHandle = IKEmboss(Src, 1, pt(0), 0, Rect, True, 0, 3, 128, 0, "Emboss", "Emboss", "Cancel")

IKFreeMemory(ImgHandle) ' Deletes the input image handle. If not freed the image data will remain in the memory.
ImgHandle = 0

*Note: When the InOut property is TRUE, the area inside the polygon is embossed. When the InOut property is False, the area outside the polygon is processed.

[VB Example (OCX)]

Dim x(0 To 2) As Long, y(0 To 2) As Long
x(0) = 90: y(0) = 60 ' Sets the coordinates of the points of the polygon
x(1) = 560: y(1) = 100
x(2) = 410: y(2) = 390
ImageKit1.LayerNo = -1
ImageKit1.ImageHandle = ImgHandle
ImageKit1.Effect.MaskImageHandle = 0
ImageKit1.Effect.InOut = ikInside
ImageKit1.Effect.SelectMode = ikEffectPolygon
Ret = ImageKit1.Effect.Emboss(x(0),y(0),3,0,3,128)

[VB Example (DLL)]
Dim Src As IKSELECT_IMAGE
Dim Pt(0 To 2) As IKPOINT
Pt(0).x = 90: Pt(0).y = 60
Pt(1).x = 560: Pt(1).y = 100
Pt(2).x = 410: Pt(2).y = 390
Src.hImgBmh = ImgHandle ' Sets the image into the input image handle
Src.hMskBmh = 0
' Executes the Emboss function
DstHandle = IKEmboss(Src, 2, pt(0), 0, Rect, True, 0, 3, 128, 0, "Emboss", "Emboss", "Cancel")

IKFreeMemory(ImgHandle) ' Deletes the input image handle.

*Note: When the InOut property is TRUE, the area inside the ellipse is embossed. When the InOut property is False, the area outside the ellipse is processed.

[VB Example (OCX)]

ImageKit1.Effect.RectLeft = 100
ImageKit1.Effect.RectTop = 50
ImageKit1.Effect.RectRight = 540
ImageKit1.Effect.RectBottom = 400
ImageKit1.LayerNo = -1
ImageKit1.ImageHandle = ImgHandle
ImageKit1.Effect.MaskImageHandle = 0
ImageKit1.Effect.InOut = ikInside
ImageKit1.Effect.SelectMode = ikEffectEllipse
Ret = ImageKit1.Effect.Emboss(x(0),y(0),0,0,3,128)

[VB Example (DLL)]

Dim Src As IKSELECT_IMAGE
Dim Rect As IKRECT
Rect.Left = 100: Rect.Top = 50
Rect.Right = 540:Rect.Bottom = 400
Src.hImgBmh = ImgHandle ' Sets the image into the input image handle
Src.hMskBmh = 0
' Executes the Emboss function
DstHandle = IKEmboss(Src, 3, pt(0), 0, Rect, True, 0, 3, 128, 0, "Emboss", "Emboss", "Cancel")

IKFreeMemory(ImgHandle) ' Deletes the input image handle

* Note: The Emboss method, like many other Effect methods and IKEffect dll user functions, takes an image handle and a mask image handle as input and returns an image handle as output. Below is a list of other methods and dll functions that are used in the same way.

Method Name (OCX) | Function Name (DLL) | Explanation
AntiAlias | IKAntiAlias | Smooths the edges in the image.
Blur | IKBlur | Blurs the image
Canvas | IKCanvas | Creates a canvas effect on the image
Chroma | IKChroma | Adjusts chrominance
CustomFilter | IKCustomFilter | Creates a user defined custom filter
GlassTile | IKGlassTile | Creates a glass tile effect on the image
Lens | IKLens | Creates a lens effect on the image
Mosaic | IKMosaic | Creates a mosaic on the image
MotionBlur | IKMotionBlur | Blurs the image as if it were in motion
OilPaint | IKOilPaint | Creates an oil painting like effect on the image
Outline | IKOutline | Creates an outline of the image
RemoveNoise | IKRemoveNoise | Reduces noise in the image
RGBGamma | IKRGBGamma | Adjusts image RGB values using gamma correction
RGBLevel | IKRGBLevel | Increase or decreases image RGB values
RGBRev | IKRGBRev | Reverses image RGB values
RGBSpline | IKRGBSpline | Adjusts image RGB values using spline interpolation
Ripple | IKRipple | Creates a ripple effect on the image
Sharp | IKSharp | Sharpens contours
UnifyColor | IKUnifyColor | Converts all colors within a certain range into one color
Waves | IKWaves | Creates a wave like effect on the image
WhirlPinch | IKWhirlPinch | An effect like pinching the image and twisting your fingers
YCCGamma | IKYCCGamma | Adjusts image YCrCb values using gamma correction
YCCLevel | IKYCCLevel | Increase or decreases image YCrCb values
YCCRev | IKYCCRev | Reverses image YCrCb values
YCCSpline | IKYCCSpline | Adjusts image YCrCb values using spline interpolation

Pasting Images (PasteImage)

The PasteImage method (IKPasteImage function) allows you to use masks to select a portion of an image and paste this into another image. This technique shown below, involves using the MskHandle and ImgHandle then pasting those into SrcHandle. The result can be seen in the DstHandle.

[VB Example (OCX)]

ImageKit1.LayerNo = -1
ImageKit1.ImageHandle = ImgHandle
ImageKit1.Effect.MaskImageHandle = MskHandle
Ret = ImageKit1.Effect.PasteImage(SrcHandle,0,False,False,255,False,0,0,0,255,255,255,192,144,False)
If Ret = False Then Exit Sub
ImageKit1.FreeMemory(SrcHandle)
SrcHandle = 0

[VB Example (DLL)]

Dim Src As IKSELECT_IMAGE
Src.hImgBmh = ImgHandle
Src.hMskBmh = MskHandle
DstHandle = IKPasteImage(SrcHandle, Src, 0, 0, 0, 255, 0, 0, 0, 0, 255, 255, 255 192, 144, 0, 0, "Paste", "Paste", "Cancel")
IKFreeMemory(SrcHandle)
IKFreeMemory(Src.hImgBmh)
IKFreeMemory(Src.hMskBmh)
SrcHandle = 0
Src.hImgBmh = 0
Src.hMskBmh = 0

Layering Images (LayerImage)

The LayerImage method (IKLayer) is another way two images are combined. This technique involves setting a specific color to transparent and layering two images.

[VB Example (OCX)]

ImageKit1.LayerNo = -1
Ret = ImageKit1.Effect.LayerImage(ImgHandle1, ImgHandle2,255,True,0,0,0,255,255,255,0,0,False)
If Ret = False Then Exit Sub
ImageKit1.FreeMemory(ImgHandle1)
ImgHandle1 = 0
ImageKit1.FreeMemory(ImgHandle2)
ImgHandle2 = 0

[VB Example (DLL)]

Dim DstHandle As Long

DstHandle = IKLayer(ImgHandle1, ImgHandle2, 255, True, 0, 0, 0, 255, 255, 255, 0, 0, False, 0, "Layer", "Layer", "Cancel"); ' Executes the layer function
IKFreeMemory(ImgHandle1)
IKFreeMemory(ImgHandle2)
ImgHandle1 = 0
ImgHandle2 = 0

Resizing Images (Resize)

When using the Resize method (or IKResize) both images and mask image are resized together

[VB Example (OCX)]

ImageKit1.LayerNo = -1
ImageKit1.ImageHandle = ImgHandle
ImageKit1.Effect.MaskImageHandle = MskHandle
Ret = ImageKit1.Effect.Resize(179, 134, 1)

[VB Example (DLL)]

Dim Src As IKSELECT_IMAGE
Dim Dst As IKSELECT_IMAGE
Src.hImgBmh = InImgHandle
Src.hMskBmh = InMskHandle
Dst = IKResize(Src, 179, 134, 1, 0, "Reduction", "Reduction", "Cancel")
IKFreeMemory(InImgHandle)
IKFreeMemory(InMskHandle)
InImgHandle = 0
InMskHandle = 0

*Note: The Resize method (IKResize function) takes an image and mask image as input and returns an image and mask image as output. The following methods (dll functions) are used in the same way.

Method Name (OCX) | Function Name (DLL) | Explanation
Rotation | IKRotation | Rotates an image and mask image


Displaying images in the ImageKit Control

1. The ImageKit Control display basics:

An example of the ImageKit Control is shown below. In this example, the BorderVisible, Appearance, BackColor, and ScrollBar properties have been set.

BorderVisible: Draws the border on the ImageKit Control
Appearance: Sets the ImageKit Control border to lowered, raised, or flat.
BackColor: Sets the background color of the ImageKit Control.
ScrollBar: Sets whether or not scroll bars are displayed.

2. Coordinates in the ImageKit Control

The area of the ImageKit Control can be thought of as a coordinate plane that extends from the top left corner of the ImageKit Control, the origin, to the bottom right corner of the ImageKit Control.

When an image is displayed in the ImageKit Control, the location of the top left corner of the image, called OriginX and OriginY, is described in terms of its distance from the top left corner of the ImageKit Control. (i.e. OriginX = 100, OriginY = 100 means that the top left corner of the image is 100 pixels to the left and 100 pixel below the top left corner of the ImageKit Control.)

There are three properties of the ImageKit Control that affect the coordinates. These properties are the BorderVisible, Appearance, and Grad. BorderVisible, as its name implies, determines if the ImageKit Control has a border or not. When BorderVisible is true, the ImageKit Control has a border with a width of 1 pixel. Appearance can have three values, flat, raised or lowered. Raised and lowered appearance each have a width of 1 pixel. Flat appearance has no width. Finally, Grad determines if a gradient is displayed on the top and left sides of the ImageKit Control and its width is 20 pixels.

An illustration of the way that these properties interact to affect the coordinates in the ImageKit Control is shown in the following diagrams. For simplicity sake we have not included an explanation of Grad which will shift both the x, y coordinates depending on that property's settings.

As shown in Diagram A:

a represents the outside of the top left corner of the ImageKit Control.
b represents the inside of the top left corner of the ImageKit Control.

c represents the inside of the bottom right corner of the ImageKit Control.
d represents the outside of the bottom right corner of the ImageKit Control.

e: represents the location of the top left corner of that portion of the image being displayed in the ImageKit Control. These coordinates are known as OriginX, OriginY and are described in terms of their distance from point a.

(1) When BorderVisible=FALSE, Appearance settings are invalid.

a: x = 0, y = 0

b: is the same as a

d: is the size of the ImageKit Control
c: is the same as d

(2) When BorderVisible=TRUE, Appearance=Flat

a: x = 0, y = 0
b: x = 1, y = 1
d: is the size of the ImageKit Control
c: x = (width of d) - 1, y = (height of d) - 1

(3) When BorderVisible=TRUE Appearance=Raised or Lowered

a: x = 0, y = 0
b: x = 2, y = 2
d: is the size of the ImageKit Control
c: x = (width of d) - 2, y = (height of d) - 2

3. ImageKit Control events

EndDispImage - generated after an image is displayed in the ImageKit Control or the ImageKit Control repaints.
EndDispImage(OriginX, OriginY, Left, Top, Right, Bottom, ScaleWidth, ScaleHeight)

OriginX, OriginY: The position in the ImageKit Control where the top left corner of the image is placed. If the image is larger than the ImageKit Control in the horizontal direction, OriginX will equal 0. Likewise if the image is larger than the ImageKit Control in the vertical direction, OriginY will equal 0.

Left,Top: The distance that the top left corner of the displayed portion of the image is from the top left corner of the actual image.
Right,Bottom: The distance that the bottom right corner of the displayed portion of the image is from the top left corner of the actual image.
ScaleWidth, ScaleHeight: The scale of the displayed portion of the image.

[Example] (See Diagram B above) Actual size display (This image is larger than the ImageKit Control)

When BorderVisible = FALSE, OriginX = 0 and OriginY = 0
When Appearance = RAISED or LOWERED, OriginX = 2 and OriginY = 2
Left = The horizontal distance between the left side of the displayed portion of the image and the left side of the actual image.
Top = The vertical distance between the top of the displayed portion of the image and the top of the actual image.
Right = The horizontal distance between the right side of the displayed portion of the image and the left side of the actual image.

Bottom = The vertical distance between the bottom of the displayed portion of the image and the top of the actual image
ScaleWidth, ScaleHeight = the value set in the DispScale

(Diagram C) Scale Display

When BorderVisible = FALSE, OriginX = 0 and OriginY = 30
When Appearance = RAISED or LOWERED, OriginX = 2 and OriginY = 32 (30 + 2)
Left = 0, Top = 0
Right = image width, Bottom = image height
ScaleWidth = 0.55, ScaleHeight = 0.55

(Diagram D) Stretch Display

When BorderVisible = FALSE, OriginX = 0 and OriginY = 0
When Appearance = RAISED or LOWERED, OriginX = 2 and OriginY = 2
Left = 0, Top = 0
Right = image width, Bottom = image height
ScaleWidth = 0.55, ScaleHeight =0.69

MouseDownImage - generated whenever a mouse button is pressed
MouseDownImage(Button, OriginX, OriginY, Left, Top, Right, Bottom, ScaleWidth, ScaleHeight, x, y)

Button: 1 - left button 2 - right button 4 - center button

OriginX,OriginY: The position in the ImageKit Control where the top left corner of the image is placed. If the image is larger than the ImageKit Control in the horizontal direction, OriginX will equal 0. Likewise if the image is larger than the ImageKit Control in the vertical direction, OriginY will equal 0.

Left,Top: The distance that the top left corner of the displayed portion of the image is from the top left corner of the actual image.
Right,Bottom: The distance that the bottom right corner of the displayed portion of the image is from the top left corner of the actual image.
ScaleWidth, ScaleHeight: The scale of the displayed portion of the image.
x, y: The coordinates of the point on the image where the mouse button was pressed.

MouseUpImage - generated whenever a mouse button is released.
MouseUpImage(Button, OriginX, OriginY, Left, Top, Right, Bottom, ScaleWidth, ScaleHeight, x, y)

Button: 1 - left button 2 - right button 4 - center button

OriginX,OriginY: The position in the ImageKit Control where the top left corner of the image is placed. If the image is larger than the ImageKit Control in the horizontal direction, OriginX will equal 0. Likewise if the image is larger than the ImageKit Control in the vertical direction, OriginY will equal 0.
Left,Top: The distance that the top left corner of the displayed portion of the image is from the top left corner of the actual image.
Right,Bottom: The distance that the bottom right corner of the displayed portion of the image is from the top left corner of the actual image.

ScaleWidth, ScaleHeight: The scale of the displayed portion of the image.
x, y: The coordinates of the point on the image where the mouse button was released.

MouseMoveImage - generated whenever a mouse is moved
MouseMoveImage(OriginX, OriginY, Left, Top, Right, Bottom, ScaleWidth, ScaleHeight,x, y)

Button: 1 - left button 2 - right button 4 - center button

OriginX,OriginY: The position in the ImageKit Control where the top left corner of the image is placed. If the image is larger than the ImageKit Control in the horizontal direction, OriginX will equal 0. Likewise if the image is larger than the ImageKit Control in the vertical direction, OriginY will equal 0.
Left,Top: The distance that the top left corner of the displayed portion of the image is from the top left corner of the actual image.
Right,Bottom: The distance that the bottom right corner of the displayed portion of the image is from the top left corner of the actual image.

ScaleWidth, ScaleHeight: The scale of the displayed portion of the image.
x, y: The coordinates of the point on the image where the mouse movement occurred.

4. Displaying Images

Whenever you display an image, you must set the image in the ImageKit Control, initialize the ImageKit Control and then display the image. The syntax for this is shown below for each development container.

[VB]

{controlname}.LayerNo = -1
{controlname}.File.FileName = "c:\Image\001.jpg"
{controlname}.DisplayMode = ikScale 'or ikStretch, ikActualSize
{controlname}.File.LoadFile(ikLoad) 'loads the image and sets the ImageHandle property
{controlname}.DisplayImage

[VC++]

{controlname}.SetLayerNo(-1);
{controlname}.GetFile().SetFileName("c:\Image\001.jpg");
{controlname}.DisplayMode(ikScale); //or ikStretch, ikActualSize
{controlname}.GetFile().LoadFile(ikLoad); //loads the image and sets the ImageHandle property
{controlname}.DisplayImage();

There are two ways to set the position of an image in the ImageKit Control. The first way, using the StartX and StartY properties, places the top left corner of the image at a specified point in the ImageKit Control. The second way, using the DispCenterX and DispCenterY properties, places a specified point on the image in the center of the ImageKit Control. See below.

Displaying images from a particular position (Actual size display only)
Example: displaying an image from a position 10 pixels to the left and 20 pixels below the top left corner of the ImageKit Control.

The DispCenterX and DispCenterY properties are ineffective.

StartX = 10
StartY = 20
DisplayMode = ikActualSize
DisplayImage

Displaying an image from a position where a specified point on the image is placed in the center of the ImageKit Control. (Actual size display only)

Example: The point on the image 200 pixels to the left and 100 pixels below the top left corner is placed in the center of the ImageKit Control.

Set StartX and StartY = 0

DispCenterX = 200
DispCenterY = 100
DisplayMode = ikActualSize
DisplayImage

Displaying an image at a certain magnification (Actual size display only)
Example: Displaying an image at 1.5 times normal size

DispScale = 1.5 'sets the magnification to 1.5 times
DisplayMode = ikActualSize
DisplayImage

5. The device context of the ImageKit Control

(1) Hdc

This is the device context for the screen. By using the PrintDraw interface methods (or DLL functions) in conjuction with the Hdc, you can draw lines, shapes, text, etc to the screen. Note: whatever is drawn to the Hdc will only appear on the screen and NOT be drawn to the image itself. To draw to the image, you must use the ImageHdc. See below.

[VB Example (OCX)]

The following code will draw a line and circle on the screen (draw to the Hdc) but will not draw to the image data.

ImageKit1.LayerNo = -1
ImageKit1.File.FileName = "c:\Image\001.jpg"
ImageKit1.DisplayMode = ikScale 'or ikStretch, ikActualSize
ImageKit1.File.LoadFile(ikLoad) 'loads the image and sets the ImageHandle property
ImageKit1.DisplayImage

' drawing a line
ImageKit1.PrintDraw.ClearProperty
ImageKit1.PrintDraw.PenWidth = 1
ImageKit1.PrintDraw.PenStyle = ikPenSolid
Ret = ImageKit1.PrintDraw.Line(ImageKit1.Hdc, 10, 10, 300, 200, ikScreen)
' drawing an ellipse
ImageKit1.PrintDraw.ClearProperty
ImageKit1.PrintDraw.PenWidth = 2
ImageKit1.PrintDraw.PenStyle = ikPenSolid
ImageKit1.PrintDraw.BrushStyle = ikBrushHatchBdiagonal
ImageKit1.PrintDraw.BrushColor = RGB(255, 0, 0)
ImageKit1.PrintDraw.Transparent = True
Ret = ImageKit1.PrintDraw.Ellipse(ImageKit1.Hdc, 300, 200, 500, 400, ikScreen)

(2) ImageHdc

This is the device context for the image. By using the PrintDraw interface methods (or Ik8Print.dll functions) in conjuction with the ImageHdc, you can draw lines, shapes, text, etc directly to the image data. Note: whatever is drawn to the ImageHdc will not immediately appear on the screen until that image data is passed to the Hdc. This can be done using the Modify method. (see the example below)

[VB Example (OCX)]

The following code will draw a line and circle on the image data (draw to the ImageHdc) but the line and ellipse will not appear on the screen unless the Modify method is called.

ImageKit1.LayerNo = -1
ImageKit1.File.FileName = "c:\Image\001.jpg"
ImageKit1.DisplayMode = ikScale 'or ikStretch, ikActualSize
ImageKit1.File.LoadFile(ikLoad) 'loads the image and sets the ImageHandle property
ImageKit1.DisplayImage

ImageKit1.EditEnable = True 'enables editing
' drawing a line
ImageKit1.PrintDraw.ClearProperty
ImageKit1.PrintDraw.PenWidth = 1
ImageKit1.PrintDraw.PenStyle = ikPenSolid
Ret = ImageKit1.PrintDraw.Line(ImageKit1.ImageHdc, 10, 10, 300, 200, ikScreen)

' drawing an ellipse
ImageKit1.PrintDraw.ClearProperty
ImageKit1.PrintDraw.PenWidth = 2
ImageKit1.PrintDraw.PenStyle = ikPenSolid
ImageKit1.PrintDraw.BrushStyle = ikBrushHatchBdiagonal

ImageKit1.PrintDraw.BrushColor = RGB(255, 0, 0)
ImageKit1.PrintDraw.Transparent = True
Ret = ImageKit1.PrintDraw.Ellipse(ImageKit1.ImageHdc, 300, 200, 500, 400, ikScreen)

To display the image data on the screen, execute the modify method. This passes the contents of the ImageKit1.ImageHdc to the ImageKit1.ImageHandle
ImageKit1.Edit.Modify

6. Image layers within the ImageKit Control.

The ImageKit10 ActiveX allows you to display multiple images simultaneously in the ImageKit Control. The ImageKit Control displays a background image, a base image, and up to 100 images in distinct image layers using the Layer interface. The background image is displayed, the base image is displayed on top of the background, and the images in the Layer interface are displayed above the base image. Images displayed using the Layer interface are assigned an index with the image whose index is larger being displayed on top of images whose index is smaller. If the grid property or grad property are set to true, then the grid and graduation are displayed on top of the highest image layer. Note that as the number of images displayed simultaneously increases there is a cost in processor speed and memory use, this is especially true if transparency is used.


Using the Raster Image Editing Toolbar

The Zoom button

The Zoom button increases or decreases the magnification level of the image allowing you to view the image from close up or from far away.

Image magnification: With the Zoom button you can change the magnification at which you view the image from 1/20 to 20 times normal size. This means that an image viewed at maximum magnification looks 20 times larger than the original whereas the same image viewed at minimum magnification looks 1/20th as large.

Using the Zoom button

  1. Click the Zoom button on the Image Editing Toolbar.
  2. Increase or decrease the magnification of an image in the ImageKit Control by using the left or right mouse buttons. To increase magnification, click on the image with the left mouse button. This will increase the magnification by one step. To decrease the magnification of an image, click on the image with the right mouse button. This will decrease the magnification by one step. The location on the image where you clicked the mouse will be centered within the ImageKit Control.

Note: The Zoom button can only be used when the display mode is set to "Actual size" display.

The Select button

The Select button creates a rectangular selection area on the image.

In general, this selected area can be copied and pasted in a different location or on a different image, the selected area can be moved or rotated, etc.

Using the Select tool

  1. Click the Select button on the Edit Toolbar.
  2. Place the mouse cursor on the corner of the area that you would like to select.
  3. Click and drag the mouse until the selected area is the size that you want then release the mouse button. As the mouse moves, a line will appear to indicate the border of the selected area.
  4. Once the selected area has been determined, you can clear it by clicking the left mouse button inside the selected area. To move the selected area, place the mouse cursor within the selected area and drag the mouse.

Related functions: Once the selection has been made, clicking the right mouse button will display the menu list.

Popup menu function | Explanation
SelectAll | Selects the total image.
Cut | Cuts the selected area and copies the image from the selected area to the clipboard. The background color is displayed in the area that has been cut.
Copy | Copies the selected area to the clipboard.
Paste | Pastes the image saved in the clipboard onto the current image. The location of the pasted image can be changed by dragging the mouse.
Rotate | Rotates the image within the selected area. Clicking [Rotate] in the menu list will display the rotation guide lines. The selected area can be rotated by dragging the square at the end of any of the rotation guide lines.
Clear | Clears the selected area.
Undo | Undoes the last action and returns to the previous state.

The FreeSelect button

The FreeSelect button allows you to use the mouse to draw an outline of the area you want to select. This selected area can then be copied and pasted in a different location or on a different image, the selected area can be moved or rotated, etc

Using the FreeSelect tool

  1. Click the FreeSelect button on the Edit Toolbar.
  2. Move the mouse cursor over the image.
  3. Click the image at a point that you want to become the border of the selection.
  4. Drag the cursor to create an outline of the area you want to select.
  5. When the line encloses the selection, release the mouse. The line becomes the border of the selected area.
  6. The selected area can be cleared by placing the cursor within the selected area and clicking on the left mouse button.

Related functions

Once the selection has been made, clicking the right mouse button will display the menu list. Please refer to the explanation in the Select button above.

The Pen button

Draws free hand lines on the image.

Using the Pen tool

  1. Click the Pen button.
  2. Click the image where you want the line to start.
  3. Drag the mouse while holding the left mouse button.
  4. Release the mouse button to end the pen stroke.
  5. To set the foreground or background color, click the color area on the Edit toolbar to open the Select Color dialog box. (See image below)

Note: When drawing a thin line on an image that is displayed in a mode other than actual size, the line may appear as if it is broken or is not a solid line. This is actually not the case but only appears so. The line is a solid line and this can be confirmed by viewing the image in Actual size display mode. The reason the line may appear broken is due to the fact that large images must reduced in size in order that they may fit within the display control when the display mode is set to scale or stretch display.

The PickColor button

Selects the color at a specific point and sets it to the foreground color.

Using the PickColor tool

  1. Click the PickColor button.
  2. Place the mouse cursor on color you want to select in the image and click the left mouse button.
  3. The foreground color in the Edit toolbar will change to the selected color.

The Rectangle button

Draws a rectangle on the image.

Using the Rectangle tool

  1. Click the Rectangle button.
  2. Set the foreground color (If you are using fill, then the background color should also be set)
  3. Set the style(outline, fill, both)
  4. Select square or rectangle.
  5. Place the mouse at the corner of the area that you want to make the rectangle.
  6. Drag the mouse until the rectangle is the proper size.
  7. Release the mouse button.

Note: When drawing thin lines on an image that is displayed in a mode other than actual size, the line may appear as if it is broken or is not a solid line. This is actually not the case but only appears so. The line is a solid line and this can be confirmed by viewing the image in Actual size display mode.

The Ellipse button

Draws an ellipse on the image.

Using the Ellipse tool

  1. Click the ellipse button.
  2. Set the color and style.
  3. Choose whether you want a circle or ellipse.
  4. Place the mouse in the center of the area that you want to make an ellipse.
  5. Drag the mouse until the ellipse is the proper size.
  6. Release the mouse.

Note: When drawing thin lines on an image that is displayed in a mode other than actual size, the line may appear as if it is broken or is not a solid line. This is actually not the case but only appears so. The line is a solid line and this can be confirmed by viewing the image in Actual size display mode.

The RoundRect button

Draws a rounded rectangle on the image.

Using the RoundRect tool

  1. Click the RoundRect button.
  2. Set the color and style.
  3. Select square or rectangle.
  4. Place the mouse on the corner of the area where you want to make a rounded rectangle.
  5. Drag the mouse until the rounded rectangle is the proper size.
  6. Release the mouse button.

Note:When drawing thin lines on an image that is displayed in a mode other than actual size, the line may appear as if it is broken or is not a solid line. This is actually not the case but only appears so. The line is a solid line and this can be confirmed by viewing the image in Actual size display mode.

The Line button

Draws a straight line on the image.

Using the Line tool]

  1. Click the Line button.
  2. Set the color and width of the line.
  3. Click the mouse at the point where you want the line to begin.
  4. Drag the mouse to the point where you want the line to end.
  5. Release the mouse button.

Note:When drawing thin lines on an image that is displayed in a mode other than actual size, the line may appear as if it is broken or is not a solid line. This is actually not the case but only appears so. The line is a solid line and this can be confirmed by viewing the image in Actual size display mode. The reason the line may appear broken is due to the fact that large images must reduced in size in order that they may fit within the display control when the display mode is set to scale or stretch display.

The Curve button

Draws a curved line on the image.

Using the Curve tool

  1. Click the Curve button.
  2. Set the color and width of the line.
  3. Draw a straight line by clicking the mouse at the point where you want the line to begin.
  4. Drag the mouse to the point where you want the line to end and release the mouse button.
  5. Bend the straight line into a curve by clicking the mouse away from the line two times and dragging to shape the curve. The first click sets the angle and target point from the starting point of the line; the second click sets the angle and target point from the ending point of the line.

Note:When drawing thin lines on an image that is displayed in a mode other than actual size, the line may appear as if it is broken or is not a solid line. This is actually not the case but only appears so. The line is a solid line and this can be confirmed by viewing the image in Actual size display mode. The reason the line may appear broken is due to the fact that large images must reduced in size in order that they may fit within the display control when the display mode is set to scale or stretch display.

The Fill button

Fills an area with the forecolor.

Using the Fill tool]

  1. Click the Fill button.
  2. Set the forecolor
  3. Place the mouse cursor within the area you want to fill with the forecolor and click the left mouse button.

The AirBrush button

Simulates painting with an air brush or spray can.

Using the Airbrush tool

  1. Click the Airbrush button.
  2. Choose the forecolor.
  3. Select the size of the spray.
  4. Choose the pattern of the spray.
  5. Place the mouse cursor on the area you want to spray. Click the left mouse button.

Text button and Font button

Allows you to use a text box to add text to an image.

Using the Text tool

  1. Click the Text button.
  2. Click the mouse in the location where you want the text to begin and drag the mouse to create a textbox.
  3. Enter the text string that you want to place on the image. To start a new line of text, press the [Ctrl] + [Enter] keys.
  4. Once you have entered the text, click the [Enter] key and the textbox will be replaced with a selected area that has a dotted border. At this point, you can do the following: Move the text by dragging the selected area. Note that clicking outside of the selected area will add the text to the image.Change the color of the text and the background color.Double click inside the selected area and the text can be edited again.Click the [Font] button on the Edit Toolbar and change the text font name, style or size.
  5. To add the text to the image, click outside of the selected area.

The Eraser button

Fills the image with the current backcolor.

Using the Eraser tool

  1. Click the [Eraser] button.
  2. Select the backcolor.
  3. Select the size of the Eraser.
  4. Click on the image where you want to erase and drag with the mouse.
  5. Release the mouse button.

The Stamp button

This places special stamp-like image data on the image.

Using the Stamp tool

  1. Click the Stamp button.
  2. Click the mouse in the location where you want to place the stamp.
  3. Release the mouse button.


Using the Vector Image Editing Toolbar

The Cursor button

The Cursor button selects a vector data element and, if "drag and scroll" is enabled, allows the element to be moved with the mouse.

Using the Cursor button

  1. Click the Cursor button on the Image Editing Toolbar.
  2. Click on the vector image element that you would like to select. The selected element will be highlighted by small squares. To select more than one element at the same time, hold the [Shift] key down while clicking the elements you want to select.

  3. By right clicking on the select element, you can display the menu list and choose the functions that you want to perform on that element.
  4. To delete an element, click [delete].
  5. To rotate an element, click [rotate] and drag the rotation guides.

    Rotation Guides

  6. To display or change an vector element's properties, click [Properties].

  7. You can place an element on top of other elements or behind other elements by selecting [Bring to Front] or [Send to Back] from the menu list

The Zoom button

The Zoom button increases or decreases the magnification level of the image allowing you to view the image from close up or from far away.

Image magnification: With the Zoom button you can change the magnification at which you view the image from 1/20 to 20 times normal size. This means that an image viewed at maximum magnification looks 20 times larger than the original whereas the same image viewed at minimum magnification looks 1/20th as large.

Using the Zoom button

  1. Click the Zoom button on the Image Editing Toolbar.
  2. Increase or decrease the magnification of an image in the ImageKit Control by using the left or right mouse buttons. To increase magnification, click on the image with the left mouse button. This will increase the magnification by one step. To decrease the magnification of an image, click on the image with the right mouse button. This will decrease the magnification by one step. The location on the image where you clicked the mouse will be centered within the ImageKit Control.

Note: The Zoom button can only be used when the display mode is set to "Actual size" display.

The Select button

The Select button creates a rectangular selection area on the image.

In general, this selected area can be copied and pasted in a different location or on a different image, the selected area can be moved or rotated, etc.

Using the Select tool

  1. Click the Select button on the Edit Toolbar.
  2. Place the mouse cursor on the corner of the area that you would like to select.
  3. Click and drag the mouse until the selected area is the size that you want then release the mouse button. As the mouse moves, a line will appear to indicate the border of the selected area.
  4. Once the selected area has been determined, you can clear it by clicking the left mouse button inside the selected area. To move the selected area, place the mouse cursor within the selected area and drag the mouse.

Note: When an area is selected on the image, the border of the selected area becomes visible and the various vector data elements (lines, ellipses, etc) that are inside the selected area are highlighted. For ellipses that are inside or partially inside the selected area, the border of a rectangle that bounds the ellipse will be displayed and a red square placed on each of that rectangles four corners. For lines that are inside or partially inside the selected area, a white square will be placed at either end of the line.

The Rectangle button

Draws a rectangle on the image. For DXF format, the rectangle will only be in outline format and can not be filled with color.

Using the Rectangle tool

  1. Click the Rectangle button.
  2. Set the foreground color (If you are using fill, then the background color should also be set)
  3. Set the style(outline, fill, both)
  4. Select square or rectangle
  5. Place the mouse at the corner of the area that you want to make the rectangle.
  6. Drag the mouse until the rectangle is the proper size.
  7. Release the mouse button.

The Ellipse button

Draws an ellipse on the image. For DXF format, the ellipse will only be in outline format and cannot be filled with color.

Using the Ellipse tool

  1. Click the ellipse button.
  2. Set the color and style
  3. Choose whether you want a circle or ellipse.
  4. Place the mouse in the center of the area that you want to make an ellipse.
  5. Drag the mouse until the ellipse is the proper size.
  6. Release the mouse.

The RoundRect button

Draws a rounded rectangle on the image. (Cannot be used with DXF file format)

Using the RoundRect tool

  1. Click the RoundRect button.
  2. Set the color and style.
  3. Select square or rectangle.
  4. Place the mouse on the corner of the area where you want to make a rounded rectangle.
  5. Drag the mouse until the rounded rectangle is the proper size.
  6. Release the mouse button.

The Line button

Draws a straight line on the image.

Using the Line tool]

  1. Click the Line button.
  2. Set the color and width of the line.
  3. Click the mouse at the point where you want the line to begin.
  4. Drag the mouse to the point where you want the line to end.
  5. Release the mouse button.

The Polyline button

Draws a polyline on the image.

Using the Polyline tool

  1. Click the Polyline button.
  2. Set the color and width of the line.
  3. Click the mouse at the point where you want the polyline to begin.
  4. Drag the mouse to the point where you want the first segment of the polyline to end and release the mouse button. This point is the starting point of the next segment.
  5. Drag the mouse again to draw the next segment and release the mouse button. Repeat until you have drawn the polyline.

The Polygon button

Draws a polygon (closed polyline) on the image. For DXF format, the polygon will only be in outline format and cannot be filled with color.

Using the Polygon tool]

  1. Click the Polyline button.
  2. Set the foreground color (If you are using fill, then the background color should also be set)
  3. Set the style (outline, fill, both)
  4. Click the mouse at the point where you want the polygon to begin.
  5. Drag the mouse to the next point of the polygon. Release the mouse button and the first segment of the polygon will be completed. This point is the starting point of the next segment.
  6. Drag the mouse again to draw the next point and release the mouse button. Repeat until you have drawn all the points of the polygon. To close the polygon, move the mouse without pressing a button and the final segment will be drawn.

The Image button

The Image button loads a raster image and pastes it on the vector image at a specified location. There are two ways to do this. Note: DXF file formats cannot use this tool.

Loading an image into an area of a specified size
Using the Image tool

  1. Click the Image button.
  2. Place the mouse cursor in the location where you would like the raster image to be pasted. Drag the mouse to specify the size of the area in which the image will be loaded.
  3. When you release the mouse the "Open File" dialog will appear. Select the image that you want to load.
  4. The image will be loaded into the area that you specified and displayed.

Loading an image of original size
Using the Image tool

  1. Click the Image button.
  2. Click the mouse cursor in the location where you would like the raster image to be pasted.
  3. The "Open" file dialog box will appear. Select the image that you want to load.
  4. The image will be loaded and pasted with the top left corner of the raster image at the location of the mouse click.

Text button and Font button

Allows you to use a text box to add text to an image.

Using the Text tool

  1. Click the Text button.
  2. Click the mouse in the location where you want the text to begin and drag the mouse to create a textbox.
  3. Enter the text string that you want to place on the image. To start a new line of text, press the [Ctrl] + [Enter] keys.
  4. Once you have entered the text, click the [Enter] key and the textbox will be replaced with a selected area that has a dotted border. At this point, you can do the following:
    Move the text by dragging the selected area. Note that clicking outside of the selected area will add the text to the image.
    Change the color of the text and the background color.
    Double click inside the selected area and the text can be edited again.
    Click the [Font] button on the Edit Toolbar and change the text font name, style or size.
  5. To add the text to the image, click outside of the selected area.


Regarding Image Colors

The following are some things to consider regarding colors used in Windows operating systems:

  1. Palette changes for 16 or 256 bit color versus full color:

    The number of colors that can be displayed on the screen at the same time differ depending on the capabilities of the PC.

    In a 16 color or 256 color environment, a palette containing a subset of colors is automatically created by selecting the most appropriate colors needed to display a particular image from a range of thousands of possible colors.

    For full color (16,777,216 distinct colors), a palette is not created but rather the colors of the full color image can be displayed directly by assigning the color values directly to the pixels. Compared with 16 or 256 color, full color requires much more memory and the files are much larger, taking more time to process.
  2. Displaying several images simultaneously:

    For Windows users who simultaneously display different images with different palettes, the image that has focus is displayed with the appropriate colors but the image that does not have focus must be displayed with the color palette of the other image. If, for example, a image of a green forest is displayed with an image of a blue sea, the image that does not have focus will look quite different from the true image. This problem does not exist in a full color environment.
  3. Fixed palette:

    One way to display several full color images at the same time is to decrease full color into a fixed palette for 16 or 256 color environments. The above problem does not exist since all the images are displayed using the same fixed palette.

  4. Displaying full color images in a 16 or 256 color environment:

    To display full color images in a 16 or 256 color environment, Windows automatically creates the color palette as noted above. Depending on the possible colors, the displayed image and the full color image can look quite different. There is no problem displaying 16 or 256 color images in a full color environment.


Compatibility with earlier version of the ImageKit

Programs that use controls from earlier versions of the ImageKit:
Unfortunately, it is not possible to simply exchange the older ImageKit controls with the new ImageKit10 ActiveX controls and run the program. There are a number of differences between the earlier versions of the ImageKit and the ImageKit10 that must be considered. These differences are explained below and the conversion from earlier versions of the ImageKit to the ImageKit10 is not at all difficult. It should be pointed out that all versions of the ImageKit ActiveX controls can coexist within the same application. The image handle used by the earlier versions of the ImageKit can be passed to the ImageKit10 controls allowing you to use the newer ImageKit10 functionality. However, the ImageKit10, like the ImageKit9, ImageKit8 and ImageKit7 before it, does not provide the individual controls that existed in ImageKit6 or earlier versions. In these early versions, controls such as the Common Control, Display Control, Effect Control, File Control, Print Control, Scan Control, Slideshow Control were seperate controls. These controls have been discontinued and their functionality has been incorporated into the single ImageKit Control. The Slideshow Control has been discontinued completely and is no longer included in the ImageKit10 ActiveX

In programs that use the ImageKit DLL API:
To convert an existing ImageKit DLL program made from earlier versions of the ImageKit, you simply need to change function calls to the ImageKit10 DLL. It should be noted that in the case of earlier ImageKit DLL programs, the image handles passed into the DLL functions and returned as results of these functions are automatically freed by the ImageKit10 DLLs. However, the ImageKit10 is unable to automatically free the image handles from the ImageKit5 and these must be freed manually.

ImageKit5
(1) Property name changes (ImageKit5 -> ImageKit10 ActiveX)
Thumbnail control
Hwnd -> HWND
(2) Event argument changes (ImageKit5 -> ImageKit10 ActiveX)
Thumbnail control
SelectFile event
(3) Other
Property type changes: For details, please refer to [Difference with ImageKit5], [Difference with ImageKit5 / 6] , [Difference with ImageKit5 / 6/7/8 ActiveX] in Reference.

ImageKit6
(1) Property name changes (ImageKit6 -> ImageKit10 ActiveX)
Thumbnail control
ForeColorUp -> ForeColor
Hwnd -> HWND
MouseCursor -> SelectMouseCursorFile
MouseCursorTypeFile -> MouseCursorFile
PictureUp -> Picture
PictureUpFile -> PictureFile
(2) Specification changes: The orientation of the displayed image may be different due to the addition of the Thumbnail control's ExifAutoRotate property. Set the ExifAutoRotate property to False for the same behavior as the old ImageKit. Change the trigger condition of MouseMoveOnThumb event of thumbnail control. For details, refer to [Difference with ImageKit6 / 7/8/9 ActiveX] in Reference.
(3) Other: Changed some constant names and property types. For details, please refer to [Difference with ImageKit5 / 6] [Difference with ImageKit5 / 6/7/8 ActiveX] [Difference with ImageKit6] [Difference with ImageKit6 / 7/8 ActiveX] in Reference.

ImageKit7
(1) Property changes (ImageKit7 ActiveX -> ImageKit10 ActiveX)
ImageKit control
Refine1BitImage -> StretchMode
RefineColorImage -> StretchMode
PanWindow.RefineImage -> StretchMode
(2) Property name changes (ImageKit7 ActiveX -> ImageKit10 ActiveX)
ImageKit control
Hwnd -> HWND
Thumbnail control
ForeColorUp -> ForeColor
Hwnd -> HWND
PictureUp -> Picture
PictureUpFile -> PictureFile
(3) Method changes (ImageKit7 ActiveX -> ImageKit10 ActiveX)
ImageKit control
Display -> DisplayImage
(4) Specification changes: Due to the addition of the ImageKit control's File.ExifAutoRotate property and the thumbnail control's ExifAutoRotate property, the orientation of the displayed image may be different. Set the ExifAutoRotate property to False for the same behavior as the old ImageKit. Change the trigger condition of MouseMoveOnThumb event of thumbnail control. For details, refer to [Difference with ImageKit6 / 7/8/9 ActiveX] in Reference.
(5) Other: Changed extension or property typez / method argumentz and return typez. For details, please refer to [Difference with ImageKit6 / 7/8 ActiveX] [Difference with ImageKit7 ActiveX] [Difference with ImageKit7 / 8 ActiveX] [Difference with ImageKit7 / 8/9 ActiveX].

ImageKit8 ActiveX
(1) Change the property name (ImageKit8 ActiveX -> ImageKit10 ActiveX)
ImageKit control
Hwnd -> HWND
Thumbnail control
ForeColorUp -> ForeColor
Hwnd -> HWND
PictureUp -> Picture
PictureUpFile -> PictureFile
(2) Specification changes: Due to the addition of the ImageKit control's File.ExifAutoRotate property and the thumbnail control's ExifAutoRotate property, the orientation of the displayed image may be different. Set the ExifAutoRotate property to False for the same behavior as the old ImageKit. Change the trigger condition of MouseMoveOnThumb event of thumbnail control. For details, refer to [Difference with ImageKit6 / 7/8/9 ActiveX] in Reference.
(3) Other: Changed property types / method arguments and return types. For details, please refer to [Difference with ImageKit7 / 8 ActiveX] [Difference with ImageKit7 / 8/9 ActiveX] [Difference with ImageKit8 ActiveX] in Reference.

ImageKit9 ActiveX
(1) Specification changes: Due to the addition of the ImageKit control's File.ExifAutoRotate property and the thumbnail control's ExifAutoRotate property, the orientation of the displayed image may be different. Set the ExifAutoRotate property to False for the same behavior as the old ImageKit. Change the trigger condition of MouseMoveOnThumb event of thumbnail control. For details, refer to [Difference with ImageKit6 / 7/8/9 ActiveX] in Reference.
(2) Other: For details, please refer to [Difference with ImageKit7 / 8/9 ActiveX] [Difference with ImageKit9 ActiveX] in Reference.


IntroDistributingApps.htm

ImageKit10 ActiveX

Distributing Applications that use the ImageKit10 ActiveX

When distributing applications that contain ImageKit10 ActiveX functionality, the following files are necessary to execute the application. Please distribute these files with your applications. Keep in mind that the ImageKit10 includes 4 separate versions: a 32 bit Unicode, a 32 bit Ansi version, a 64 bit Unicode version and a 64 bit Ansi version, and you must distribute the appropriate files depending on the version you are using.

A. Windows Applications

When using the ImageKit Control: (32 bit Unicode Version)

ImageKit10.ocx (Absolutely necessary)

Ik10Com.dll (Absolutely necessary)
Ik10Effect.dll (Absolutely necessary)
Ik10File.dll (Absolutely necessary)
Ik10Bmp.dll (Necessary when loading or saving BMP files)
Ik10Dxf.dll (Necessary when loading or saving DXF files)
Ik10Emf.dll (Necessary when loading or saving EMF files)
Ik10Fpx.dll (Necessary when loading or saving FPX files)
Ik10Gif.dll (Necessary when loading or saving GIF files)
Ik10J2k.dll (Necessary when loading or saving JPEG2000 files)
Ik10Jpeg.dll (Necessary when loading or saving JPEG files)
Ik10Pcx.dll (Necessary when loading or saving PCX files)
Ik10Pdf.dll (Necessary when loading or saving PDF files)
Ik10Png.dll (Necessary when loading or saving PNG files)
Ik10Svg.dll (Necessary when loading or saving SVG files)
Ik10SxfP21.dll (Necessary when loading or saving SXF p21 files)
Ik10SxfSfc.dll (Necessary when loading or saving sXF sfc files)
Ik10Tiff.dll (Necessary when loading or saving TIFF files)
Ik10TransFile.dll (Necessary when using FTP or HTTP file transfer)
Ik10WMF.dll (Necessary when loading or saving WMF files)
Ik10Print.dll (Necessary when drawing to screen, printer, or image data)
Ik10RasToVect.dll (Necessary when converting raster images to vector images)
Ik10Scan.dll (Necessary when retrieving images from TWAIN scan devices)
Ik10VectCom.dll (Necessary when using vector images)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10Lib.dll
Interop.ImageKit10Lib.dll

These two files are created with your application and can be found in the same folder

When using the ImageKit Control: (32 bit ANSI Version)

ImageKit10A.ocx (Absolutely necessary)

Ik10ComA.dll (Absolutely necessary)
Ik10EffectA.dll (Absolutely necessary)
Ik10FileA.dll (Absolutely necessary)
Ik10BmpA.dll (Necessary when loading or saving BMP files)
Ik10DxfA.dll (Necessary when loading or saving DXF files)
Ik10EmfA.dll (Necessary when loading or saving EMF files)
Ik10FpxA.dll (Necessary when loading or saving FPX files)
Ik10GifA.dll (Necessary when loading or saving GIF files)
Ik10J2kA.dll (Necessary when loading or saving JPEG2000 files)
Ik10JpegA.dll (Necessary when loading or saving JPEG files)
Ik10PcxA.dll (Necessary when loading or saving PCX files)
Ik10PdfA.dll (Necessary when loading or saving PDF files)
Ik10PngA.dll (Necessary when loading or saving PNG files)
Ik10SvgA.dll (Necessary when loading or saving SVG files)
Ik10SxfP21A.dll (Necessary when loading or saving SXF p21 files)
Ik10SxfSfcA.dll (Necessary when loading or saving sXF sfc files)
Ik10TiffA.dll (Necessary when loading or saving TIFF files)
Ik10TransFileA.dll (Necessary when using FTP or HTTP file transfer)
Ik10WMFA.dll (Necessary when loading or saving WMF files)
Ik10PrintA.dll (Necessary when drawing to screen, printer, or image data)
Ik10RasToVectA.dll (Necessary when converting raster images to vector images)
Ik10ScanA.dll (Necessary when retrieving images from TWAIN scan devices)
Ik10VectComA.dll (Necessary when using vector images)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10ALib.dll
Interop.ImageKit10ALib.dll

These two files are created with your application and can be found in the same folder

When using the ImageKit Control: (64 bit Unicode Version)

ImageKit1064.ocx (Absolutely necessary)

Ik10Com64.dll (Absolutely necessary)
Ik10Effect64.dll (Absolutely necessary)
Ik10File64.dll (Absolutely necessary)
Ik10Bmp64.dll (Necessary when loading or saving BMP files)
Ik10Dxf64.dll (Necessary when loading or saving DXF files)
Ik10Emf64.dll (Necessary when loading or saving EMF files)
Ik10Fpx64.dll (Necessary when loading or saving FPX files)
Ik10Gif64.dll (Necessary when loading or saving GIF files)
Ik10J2k64.dll (Necessary when loading or saving JPEG2000 files)
Ik10Jpeg64.dll (Necessary when loading or saving JPEG files)
Ik10Pcx64.dll (Necessary when loading or saving PCX files)
Ik10Pdf64.dll (Necessary when loading or saving PDF files)
Ik10Png64.dll (Necessary when loading or saving PNG files)
Ik10Svg64.dll (Necessary when loading or saving SVG files)
Ik10SxfP2164.dll (Necessary when loading or saving SXF p21 files)
Ik10SxfSfc64.dll (Necessary when loading or saving sXF sfc files)
Ik10Tiff64.dll (Necessary when loading or saving TIFF files)
Ik10TransFile64.dll (Necessary when using FTP or HTTP file transfer)
Ik10WMF64.dll (Necessary when loading or saving WMF files)
Ik10Print64.dll (Necessary when drawing to screen, printer, or image data)
Ik10RasToVect64.dll (Necessary when converting raster images to vector images)
Ik10Scan64.dll (Necessary when retrieving images from TWAIN scan devices)
Ik10VectCom64.dll (Necessary when using vector images)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10Lib.dll
Interop.ImageKit10Lib.dll

These two files are created with your application and can be found in the same folder

When using the ImageKit Control: (64 bit ANSI Version)

ImageKit1064A.ocx (Absolutely necessary)

Ik10Com64A.dll (Absolutely necessary)
Ik10Effect64A.dll (Absolutely necessary)
Ik10File64A.dll (Absolutely necessary)
Ik10Bmp64A.dll (Necessary when loading or saving BMP files)
Ik10Dxf64A.dll (Necessary when loading or saving DXF files)
Ik10Emf64A.dll (Necessary when loading or saving EMF files)
Ik10Fpx64A.dll (Necessary when loading or saving FPX files)
Ik10Gif64A.dll (Necessary when loading or saving GIF files)
Ik10J2k64A.dll (Necessary when loading or saving JPEG2000 files)
Ik10Jpeg64A.dll (Necessary when loading or saving JPEG files)
Ik10Pcx64A.dll (Necessary when loading or saving PCX files)
Ik10Pdf64A.dll (Necessary when loading or saving PDF files)
Ik10Png64A.dll (Necessary when loading or saving PNG files)
Ik10Svg64A.dll (Necessary when loading or saving SVG files)
Ik10SxfP2164A.dll (Necessary when loading or saving SXF p21 files)
Ik10SxfSfc64A.dll (Necessary when loading or saving sXF sfc files)
Ik10Tiff64A.dll (Necessary when loading or saving TIFF files)
Ik10TransFile64A.dll (Necessary when using FTP or HTTP file transfer)
Ik10WMF64A.dll (Necessary when loading or saving WMF files)
Ik10Print64A.dll (Necessary when drawing to screen, printer, or image data)
Ik10RasToVect64A.dll (Necessary when converting raster images to vector images)
Ik10Scan64A.dll (Necessary when retrieving images from TWAIN scan devices)
Ik10VectCom64A.dll (Necessary when using vector images)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10ALib.dll
Interop.ImageKit10ALib.dll

These two files are created with your application and can be found in the same folder

When using the Thumbnail Control (32 bit Unicode version)

ImageKit10Thumb.ocx (Absolutely necessary)

Ik10Com.dll (Absolutely necessary)
Ik10Effect.dll (Absolutely necessary)
Ik10File.dll (Absolutely necessary)
Ik10Bmp.dll (Necessary when loading or saving BMP files)
Ik10Dxf.dll (Necessary when loading or saving DXF files)
Ik10Emf.dll (Necessary when loading or saving EMF files)
Ik10Fpx.dll (Necessary when loading or saving FPX files)
Ik10Gif.dll (Necessary when loading or saving GIF files)
Ik10J2k.dll (Necessary when loading or saving JPEG2000 files)
Ik10Jpeg.dll (Necessary when loading or saving JPEG files)
Ik10Pcx.dll (Necessary when loading or saving PCX files)
Ik10Pdf.dll (Necessary when loading or saving PDF files)
Ik10Png.dll (Necessary when loading or saving PNG files)
Ik10Svg.dll (Necessary when loading or saving SVG files)
Ik10SxfP21.dll (Necessary when loading or saving SXF p21 files)
Ik10SxfSfc.dll (Necessary when loading or saving sXF sfc files)
Ik10Tiff.dll (Necessary when loading or saving TIFF files)
Ik10TransFile.dll (Necessary when using FTP or HTTP file transfer)
Ik10WMF.dll (Necessary when loading or saving WMF files)
Ik10VectCom.dll (Necessary when using vector images)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10ThumbLib.dll
Interop.ImageKit10ThumbLib.dll

These two files are created with your application and can be found in the same folder

When using the Thumbnail Control (32 bit ANSI version)

ImageKit10ThumbA.ocx (Absolutely necessary)

Ik10ComA.dll (Absolutely necessary)
Ik10EffectA.dll (Absolutely necessary)
Ik10FileA.dll (Absolutely necessary)
Ik10BmpA.dll (Necessary when loading or saving BMP files)
Ik10DxfA.dll (Necessary when loading or saving DXF files)
Ik10EmfA.dll (Necessary when loading or saving EMF files)
Ik10FpxA.dll (Necessary when loading or saving FPX files)
Ik10GifA.dll (Necessary when loading or saving GIF files)
Ik10J2kA.dll (Necessary when loading or saving JPEG2000 files)
Ik10JpegA.dll (Necessary when loading or saving JPEG files)
Ik10PcxA.dll (Necessary when loading or saving PCX files)
Ik10PdfA.dll (Necessary when loading or saving PDF files)
Ik10PngA.dll (Necessary when loading or saving PNG files)
Ik10SvgA.dll (Necessary when loading or saving SVG files)
Ik10SxfP21A.dll (Necessary when loading or saving SXF p21 files)
Ik10SxfSfcA.dll (Necessary when loading or saving sXF sfc files)
Ik10TiffA.dll (Necessary when loading or saving TIFF files)
Ik10TransFileA.dll (Necessary when using FTP or HTTP file transfer)
Ik10WMFA.dll (Necessary when loading or saving WMF files)
Ik10VectComA.dll (Necessary when using vector images)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10ThumbALib.dll
Interop.ImageKit10ThumbALib.dll

These two files are created with your application and can be found in the same folder

When using the Thumbnail Control (64 bit Unicode version)

ImageKit10Thumb64.ocx (Absolutely necessary)

Ik10Com64.dll (Absolutely necessary)
Ik10Effect64.dll (Absolutely necessary)
Ik10File64.dll (Absolutely necessary)
Ik10Bmp64.dll (Necessary when loading or saving BMP files)
Ik10Dxf64.dll (Necessary when loading or saving DXF files)
Ik10Emf64.dll (Necessary when loading or saving EMF files)
Ik10Fpx64.dll (Necessary when loading or saving FPX files)
Ik10Gif64.dll (Necessary when loading or saving GIF files)
Ik10J2k64.dll (Necessary when loading or saving JPEG2000 files)
Ik10Jpeg64.dll (Necessary when loading or saving JPEG files)
Ik10Pcx64.dll (Necessary when loading or saving PCX files)
Ik10Pdf64.dll (Necessary when loading or saving PDF files)
Ik10Png64.dll (Necessary when loading or saving PNG files)
Ik10Svg64.dll (Necessary when loading or saving SVG files)
Ik10SxfP2164.dll (Necessary when loading or saving SXF p21 files)
Ik10SxfSfc64.dll (Necessary when loading or saving sXF sfc files)
Ik10Tiff64.dll (Necessary when loading or saving TIFF files)
Ik10TransFile64.dll (Necessary when using FTP or HTTP file transfer)
Ik10WMF64.dll (Necessary when loading or saving WMF files)
Ik10VectCom64.dll (Necessary when using vector images)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10ThumbLib.dll
Interop.ImageKit10ThumbLib.dll

These two files are created with your application and can be found in the same folder

When using the Thumbnail Control (64 bit ANSI version)

ImageKit10Thumb64A.ocx (Absolutely necessary)

Ik10Com64A.dll (Absolutely necessary)
Ik10Effect64A.dll (Absolutely necessary)
Ik10File64A.dll (Absolutely necessary)
Ik10Bmp64A.dll (Necessary when loading or saving BMP files)
Ik10Dxf64A.dll (Necessary when loading or saving DXF files)
Ik10Emf64A.dll (Necessary when loading or saving EMF files)
Ik10Fpx64A.dll (Necessary when loading or saving FPX files)
Ik10Gif64A.dll (Necessary when loading or saving GIF files)
Ik10J2k64A.dll (Necessary when loading or saving JPEG2000 files)
Ik10Jpeg64A.dll (Necessary when loading or saving JPEG files)
Ik10Pcx64A.dll (Necessary when loading or saving PDF files)
Ik10Pdf64A.dll (Necessary when loading or saving PCX files)
Ik10Png64A.dll (Necessary when loading or saving PNG files)
Ik10Svg64A.dll (Necessary when loading or saving SVG files)
Ik10SxfP2164A.dll (Necessary when loading or saving SXF p21 files)
Ik10SxfSfc64A.dll (Necessary when loading or saving sXF sfc files)
Ik10Tiff64A.dll (Necessary when loading or saving TIFF files)
Ik10TransFile64A.dll (Necessary when using FTP or HTTP file transfer)
Ik10WMF64A.dll (Necessary when loading or saving WMF files)
Ik10VectCom64A.dll (Necessary when using vector images)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10ThumbALib.dll
Interop.ImageKit10ThumbALib.dll

These two files are created with your application and can be found in the same folder

When using the Play / Preview / Record Controls (32 bit Unicode version)

ImageKit10WebCamera.ocx (Absolutely necessary)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10WebCameraLib.dll
Interop.ImageKit10WebCameraLib.dll

These two files are created with your application and can be found in the same folder

When using the Play / Preview / Record Controls (32 bit ANSI version)

ImageKit10WebCameraA.ocx (Absolutely necessary)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10WebCameraALib.dll
Interop.ImageKit10WebCameraALib.dll

These two files are created with your application and can be found in the same folder

When using the Play / Preview / Record Controls (64 bit Unicode version)

ImageKit10WebCamera64.ocx (Absolutely necessary)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10WebCameraLib.dll
Interop.ImageKit10WebCameraLib.dll

These two files are created with your application and can be found in the same folder

When using the Play / Preview / Record Controls (64 bit ANSI version)

ImageKit10WebCamera64A.ocx (Absolutely necessary)

When distributing applications built in VB.NET or C#, please distribute the following files in the same folder as your application:
AxInterop.ImageKit10WebCameraALib.dll
Interop.ImageKit10WebCameraALib.dll

These two files are created with your application and can be found in the same folder

Please copy OCX and DLL files into the Windows\System32 folder (when using 32 bit versions on a 64 bit operating system, copy them to the Windows\SysWOW64 folder). Regarding files unrelated to the ImageKit10 ActiveX that may be necessary when making your setup disk, please refer to the manual for your specific development container.

When using ActiveX (OCX) controls don't forget that they must be registered. At this time even though the install program copies the necessary file and registers them, depending on the timimg that this occurs an error can be generated. To avoid such problems, make sure that the dll files are copied first, then the ocx file is copied and registered.

B. Web Applications

1. When the web application is transferred from server to client via CAB file and runs on the client machine (You must have a webserver runtime license to do this)

To use the ImageKit Control (32 bit Unicode version), use the ImageKit10.cab
To use the ImageKit Control (32 bit ANSI version), use the ImageKit10A.cab
To use the ImageKit Control (64 bit Unicode version), use the ImageKit1064.cab
To use the ImageKit Control (64 bit ANSI version), use the ImageKit1064A.cab

To use the Thumbnail Control (32 bit Unicode version), use the ImageKit10Thumb.cab
To use the Thumbnail Control (32 bit ANSI version), use the ImageKit10ThumbA.cab
To use the Thumbnail Control (64 bit Unicode version), use the ImageKit10Thumb64.cab
To use the Thumbnail Control (64 bit ANSI version), use the ImageKit10Thumb64A.cab

To use the Play / Preview / Record Controls (32 bit Unicode version), use the ImageKit10WebCamera.cab
To use the Play / Preview / Record Controls (32 bit ANSI version), use the ImageKit10WebCameraA.cab
To use the Play / Preview / Record Controls (64 bit Unicode version), use the ImageKit10WebCamera64.cab
To use the Play / Preview / Record Controls (64 bit ANSI version), use the ImageKit10WebCamera64A.cab

These cab files contain compressed versions of the OCX and DLL files and when transferred over the internet an dialog appears identifying the manufacturer and their digital certificate.

1. When the web application runs on the server
Please refer to Windows Applications above.

Microsoft Visual C++ 2019 Redistributable Package is required in your target deployment environment. There are two types of "Microsoft Visual C ++ 2019 Redistributable Package" (x86), (x64), so please select according to the application to be distributed. * "Microsoft Visual C ++ 2019 Redistributable Package" can be downloaded from Microsoft's official website.

IMPORTANT: YOU CANNOT DISTRIBUTE THE ImageKit10 DOCUMENTATION UNDER ANY CIRCUMSTANCES WITHOUT EXPRESSED WRITTEN PERMISSION FROM NEWTONE CORPORATION!


ImageKit9 ActiveX License Agreement

ImageKit9 ActiveX License Agreement

IMPORTANT- READ CAREFULLY BEFORE INSTALLING THE SOFTWARE.

This License Agreement (this "AGREEMENT") contains the terms and conditions regarding your use of the SOFTWARE (as defined below) and material limitations to your rights in that regard. You should read this AGREEMENT carefully.

By installing the ImageKit9 ActiveX software (hereinafter the "SOFTWARE"), you are accepting the following AGREEMENT.

I. THIS AGREEMENT.

1. Software Covered by this AGREEMENT.

This AGREEMENT governs your use of the Newtone Corporation ("Newtone") SOFTWARE enclosed either as part of a SOFTWARE installer or otherwise accompanied herewith. The term "SOFTWARE" includes, to the extent provided by Newtone: 1) any revisions, updates and/or upgrades thereto; 2) any data, image or executable files, databases, data engines, computer software, or similar items customarily used or distributed with computer software products; 3) anything in any form whatsoever intended to be used with or in conjunction with the SOFTWARE; and 4) any associated media, documentation (including physical, electronic and online) and printed materials (the "Documentation").

2. This AGREEMENT is a legal agreement between you and Newtone.

If you are acting as an agent of a company or another legal person, such as an officer or other employee acting for your employer, then "you" and "your" mean your principal, the entity or other legal person for whom you are acting. However, importantly, even if you are acting as an agent for another, you may still be personally liable for violation of laws such as copyright infringement.

This AGREEMENT is a legal agreement between you and Newtone. You intend to be legally bound to this AGREEMENT to the same extent as if Newtone and you physically signed this AGREEMENT. By installing, copying, or otherwise using the SOFTWARE, you agree to be bound by the terms and conditions contained in this AGREEMENT. If you do not agree to all of the terms and conditions contained in this AGREEMENT, you may not install or use the SOFTWARE. If you have already installed or begun to install the SOFTWARE you should cancel any install in progress and uninstall the SOFTWARE. If you do not agree to all of these terms and conditions, then you must promptly return the uninstalled SOFTWARE to the place from which you purchased it in accordance with the return policies of that place.

II. YOUR LICENSE TO DEVELOP AND TO DISTRIBUTE.

Detailed below, this AGREEMENT pertains to three licenses: 1) a license to use the SOFTWARE to develop other software products (the "PC Developer License"); 2) a license to use and/or distribute the Developed Software (the "Runtime Distribution License"); and 3) a license to use and/or distribute the Developed Software on a Network Server (the "Web Server Runtime License"). All of these licenses (individually and collectively, the "Licenses") are explained and defined in more detail below.

1. Definitions. Terms and their respective meanings as used in this AGREEMENT:

"Developer" means a person using the SOFTWARE in accordance with the terms and conditions of this AGREEMENT.

"Network Server" means a computer with one or more computer central processing units (CPU's) that operates for the purpose of serving other computers logically or physically connected to it, including, but not limited to, other computers connected to it on an internal network, intranet or the Internet. "Web Server" means a type of Network Server that serves other computers more particularly connected to it over an intranet or the Internet.

"Developed Software" means those computer software products that are developed by or through the use of the SOFTWARE. "Developed Web Server Software" means those Developed Software products that reside logically or physically on at least one Web Server and are operated (executed therein) by the Web Server's central processing unit(s) (CPU). "Developed Desktop Software" means those Developed Software products that are not Developed Web Server Software, including, for example, standalone applications. "Redistributable Files" means the SOFTWARE files or other portions of the SOFTWARE that are provided by Newtone and are identified as such in the Documentation for distribution by you with the Developed Software. "Developer" means a person using the SOFTWARE in accordance with the terms and conditions of this AGREEMENT.

"PC" is a computer on which the SOFTWARE is installed.

"PC Developer" is the use of one licensed copy of the SOFTWARE on one PC by one concurrent Developer.

"PC Developer License" defines the right to use the SOFTWARE for development purposes. Every machine installing, running and/or using the SOFTWARE for development purposes must have a licensed copy and its appropriate license.

2. Your PC Developer License.

You are hereby granted a limited, royalty-free, non-exclusive right to use the SOFTWARE to design, develop, and test Developed Software, on the express condition that, and only for so long as, you fully comply with all terms and conditions of this AGREEMENT.

The SOFTWARE is licensed to you on a per PC Developer License basis.

The Single PC Developer License means that one Developer may install one copy of the SOFTWARE for use in designing, testing and creating Developed Software on one computer with a single set of input devices, restricting the use of the SOFTWARE to a maximum of one concurrent user. Conversely, you may not install or use the SOFTWARE on a computer that is a network server or a computer at which the SOFTWARE is used by more than one Developer. You may not network the SOFTWARE or any component part of it, where it is or may be used by more than one Developer unless you purchase an additional PC Developer License for each Developer. You must purchase another separate license to the SOFTWARE in order to add additional developer seats if the additional developers are accessing the SOFTWARE on a computer network. If the SOFTWARE is used to create Developed Web Server Software, then you must have a seperate Web Server Runtime License for each Web Server where copies of the Developed Web Server Software exist. (See 4. Your Web Server Runtime License below)

In all cases, you may not use Newtone's name, logo, or trademarks to market your Developed Software without the express written consent of Newtone; agree to indemnify, hold harmless, and defend Newtone, its suppliers and resellers, from and against any claims or lawsuits, including lawyer's fees that may arise from the use or distribution of your Developed Software; you may use the SOFTWARE only to create Developed Software that is significantly different than the SOFTWARE.

3. Your Runtime Distribution License.

License to Distribute Developed Desktop Software. Subject to the terms and conditions in this AGREEMENT, you are granted the license to use and to distribute Developed Desktop Software on a royalty-free basis, provided that the Developed Desktop Software incorporates the SOFTWARE as an integral part of the Developed Software in machine language compiled format (customarily an ".exe", or ".dll", etc.). You may not distribute, bundle, wrap or subclass the SOFTWARE as Developed Software which, when used in a "designtime" development environment, exposes the programmatic interface of the SOFTWARE. You may distribute, on a royalty-free basis, Redistributable Files with Developed Desktop Software only.

4. Your Web Server Runtime License.

Subject to the terms and conditions in this AGREEMENT, you are granted the license to use and to distribute Developed Web Server Software, provided that you purchase one Web Server Runtime License for each Network Server operating the Developed Web Server Software (and/or Redistributable Files called or otherwise used directly by the Developed Web Server Software).

5. License Serial Number.

Upon purchase of the SOFTWARE a unique serial number (the "Serial Number") is provided by Newtone either electronically or via the delivery channel. The Serial number provides a means to Register the SOFTWARE. The Serial Number is subject to the restrictions set forth in this AGREEMENT and may not be disclosed or distributed either with your Developed Software or in any other way. The disclosure or distribution of the Serial Number shall constitute a breach of this AGREEMENT, the effect of which shall be the automatic termination and revocation of all the rights granted herein.

6. Updates/Upgrades.

Subject to the terms and conditions of this AGREEMENT, the Licenses are perpetual. Updates, bug fixes and upgrades to the SOFTWARE may be provided by Newtone at their discretion at timely intervals though Newtone does not commit to providing such updates or upgrades, and, if so provided by Newtone, are provided upon the terms and conditions offered at that time by Newtone.

7. Evaluation, Trial, or Beta Copy.

If you are using an "evaluation copy", a "trial" copy, a "Beta" copy, or similar version of the SOFTWARE, specifically designated as such by Newtone on its website or otherwise, then the Licenses are limited as follows: a) you are granted a license to use the SOFTWARE for a period of thirty (30) days counted from the day of installation (the "Evaluation Period"); b) upon completion of the Evaluation Period, you shall either i) delete the SOFTWARE from the computer containing the installation, or you may ii) contact Newtone or one of its authorized dealers to purchase a license of the SOFTWARE, which is subject to the terms and limitations contained herein. The "evaluation copy", "trial" copy, "Beta" copy, or similar version of the SOFTWARE is for evaluation purposes only and may not be used to created any Developed Software and if created may not be distributed or used for any purpose including commericial purposes.

III. INTELLECTUAL PROPERTY.

1. Copyright.

You agree that all right, title, and interest in and to the SOFTWARE (including, but not limited to, any images, photographs, code examples and text incorporated into the SOFTWARE), and any copies of the SOFTWARE, and any copyrights and other intellectual properties therein or related thereto are owned exclusively by Newtone, except to the limited extent that Newtone may be the rightful license holder of certain third-party technologies incorporated into the SOFTWARE. The SOFTWARE is protected by copyright laws and international treaty provisions. The SOFTWARE is licensed to you, not sold to you. Newtone reserves all rights not otherwise expressly and specifically granted to you in this AGREEMENT.

2. Backups.

You may make one copy the SOFTWARE solely for backup or archival purposes.

3. General Limitations.

You may not reverse engineer, decompile, or disassemble the SOFTWARE.

4. Software Transfers.

You may not rent or lease the SOFTWARE. You may transfer the SOFTWARE to another computer, provided that it is completely removed from the computer from which it was transferred. You may permanently transfer all of your rights under the AGREEMENT, provided that you obtain expressed written permission from Newtone and that you retain no copies, that you transfer all the SOFTWARE (including all component parts, the media and printed materials, any dates, upgrades, this AGREEMENT and, if applicable, the Certificate of Authenticity), and that the recipient agrees to the terms and conditions of this AGREEMENT as provided herein. Newtone must be notified in writing prior to the license transfers where the company of the recipient is different to that of the original licensee. If the SOFTWARE is an update or upgrade, any transfer must include all prior versions of the SOFTWARE.

5. Termination.

Without prejudice to any other rights it may have, Newtone may terminate this AGREEMENT and the Licenses if you fail to comply with the terms and conditions contained herein. In such an event, you must destroy all copies of the SOFTWARE and all of its component parts.

IV. DISCLAIMER and WARRANTIES

1. Disclaimer

Newtone's entire liability and your exclusive remedy under this AGREEMENT shall be, at Newtone's sole option, either (a) return of the price paid for the SOFTWARE; (b) repair the SOFTWARE through updates distributed online. Newtone cannot and does not guarantee that any functions contained in the Software will meet your requirements, or that its operations will be error free. The entire risk as to the Software performance or quality, or both, is solely with the user and not Newtone. You assume responsibility for the selection of the component to achieve your intended results, and for the installation, use, and results obtained from the SOFTWARE.

2. Warranty.

Newtone makes no warranty, to the maximum extent permitted by law, either implied or expressed, including with-out limitation any warranty with respect to this Software documented here, its quality, performance, or fitness for a particular purpose. In no event shall Newtone be liable to you for damages, whether direct or indirect, incidental, special, or consequential arising out the use of or any defect in the Software, even if Newtone has been advised of the possibility of such damages, or for any claim by any other party. All other warranties of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose, are expressly excluded.

V. MISCELLANEOUS.

1. This is the Entire Agreement.

This AGREEMENT (including any addendum or amendment to this AGREEMENT included with the SOFTWARE) is the final, complete and exclusive statement of the entire agreement between you and Newtone relating to the SOFTWARE. This AGREEMENT supersedes any prior and contemporaneous proposals, purchase orders, advertisements, and all other communications in relation to the subject matter of this AGREEMENT, whether oral or written. No terms or conditions, other than those contained in this AGREEMENT, and no other understanding or agreement which in any way modifies these terms and conditions, shall be binding upon the parties unless entered into in writing executed between the parties, or by other non-oral manner of agreement whereby the parties objectively and definitively act in a manner to be bound (such as by continuing with an installation of the SOFTWARE, "clicking-through" a questionnaire, etc.) Employees, agents and other representatives of Newtone are not permitted to orally modify this AGREEMENT.

2. You Indemnify Newtone.

You agree to indemnify, hold harmless, and defend Newtone and its suppliers and resellers from and against any and all claims or lawsuits, including attorney's fees, that arise or result from this AGREEMENT.

3. Interpretation of this AGREEMENT.

If for any reason a court of competent jurisdiction finds any provision of this AGREEMENT, or any portion thereof, to be unenforceable, that provision of this AGREEMENT will be enforced to the maximum extent permissible so as to effect the intent of the parties, and the remainder of this AGREEMENT will continue in full force and effect. Formatives of defined terms shall have the same meaning of the defined term. Failure by either party to enforce any provision of this AGREEMENT will not be deemed a waiver of future enforcement of that or any other provision. Except as otherwise required or superseded by law, this AGREEMENT is governed by the laws of JAPAN. If the SOFTWARE was acquired outside of JAPAN, then local law may apply.


Control Reference

To develop applications using the ImageKit, place the necessary controls on the form at design time, then set the control's properties or execute the control's methods to produce the desired functionality.

Syntax

Notation for the control name within the syntax section of this reference guide will adhere to the following conventions:

Control Name | Explanation
imagekitcontrolname | Refers to the name associated with the ImageKit Control.
thumbcontrolname | Refers to the name assigned to the Thumbnail Control.
playcontrolname | Refers to the name assigned to the WebCamera Play Control.
previewcontrolname | Refers to the name assigned to the WebCamera Preview Control.
recordcontrolname | Refers to the name assigned to the WebCamera Record Control.
Note: From the ImageKit7 ActiveX version onward, the ImageKit Control and the Thumbnail Control have their own OCX files.

  • Using the ImageKit ActiveX controls in VisualBasic:
    When a control property or method returns a Boolean value, it is important to check whether that value is False instead of checking whether that value is True. This is because VisualBasic returns a value of -1 for true, whereas the ImageKit returns a value of 1 for true. It is therefore necessary in VB to check for a False condition since checking for the True condition of a Boolean value could lead to an incorrect result.

  • Using the ImageKit ActiveX controls in Visual C++:
    The definitions for all constants used by each of the control's properties and methods are provided in the following header file; ImageKit10Ax.h

  • Compatibility with earlier versions of the ImageKit:

    From the ImageKit8 ActiveX, there is no longer backward compatibility with the seperate controls that were used in the ImageKit6 or earlier versions. Instead of these controls, please use the ImageKit Control which implements the functions of these seperate controls. Also, the Slideshow Control, which was available in earlier versions, has been deprecated and is not supported in the ImageKit8 ActiveX or later.

    There have been a number of changes in the ImageKit ActiveX versions since ImageKit5. Functionality may be different, some methods with the same name may have additional parameters or a new return value, and so on. Whenever the differences are noteworthy, a simple explanation will be included under the heading, [Differences from ImageKit5/6/7/8/9].

  • Please note that IK5, IK6, IK7, IK8, and IK9 refer to the ImageKit5, ImageKit6, ImageKit7 ActiveX, ImageKit8 ActiveX, and ImageKit9 ActiveX respectively

Also see the ImageKit Control and the Thumbnail Control


The ImageKit Control

The ImageKit Control: A comprehensive image processing control containing various properties, methods, events, and interfaces. This control enables you to scan, display, and edit images and to apply effect filters, draw on images, print and manipulate image files.

Property List

Custom Properties | Explanation
Appearance | Sets the appearance of the ImageKit Control border
AutoDisplay | Sets whether or not the image will automatically be displayed
AutoSize | Sets whether or not the ImageKit Control will be resized to fit the size of the image
BackColor | Sets the color for the background of the ImageKit Control
BackgroundImageFile | Sets the name of the file displayed as the background image in the ImageKit Control
BackgroundImageVectorHeight | Sets the height of the vector image that is being displayed as a background image in the ImageKit Control
BackgroundImageVectorWidth | Sets the width of the vector image that is being displayed as a background image in the ImageKit Control
BitCount | The number of bits per pixel in the image
BlinkSpeed | Sets the speed at which the border of the selected area blinks
BorderColor | Sets the color of the ImageKit Control border
BorderVisible | Sets whether or not the ImageKit Control border is visible
DispCenterX | Sets the x-coordinate of a point on an image that will be displayed from the center of the ImageKit Control
DispCenterY | Sets the y-coordinate of a point on an image that will be displayed from the center of the ImageKit Control
DisplayMode | Sets the display mode to Scale, Stretch, ActualSize, etc.
DispScaleX | Sets the horizontal magnification at which and image is displayed in the ImageKit Control
DispScaleY | Sets the vertical magnification at which and image is displayed in the ImageKit Control
DispStartX | Sets the point on the image that will be displayed from the top left corner of the ImageKit Control
DispStartY | Sets the point on the image that will be displayed from the top left corner of the ImageKit Control
DrawVectorColor | Sets the color used when vector images are displayed in the ImageKit Control
DXFBlack | Sets whether or not white is displayed as black and black is displayed as white in DXF images
Enabled | Sets whether or not mouse or keyboard events are enabled in the ImageKit Control
EnableOLEDrag | Sets whether or not OLE drag and drop is enabled
EnableTouch | Sets whether or not zooming is enabled with a "pinch in" and "pinch out"
ErrorStatus | Refers to the types of errors that can occur when using the ImageKit Control
Grad | Sets the units of measurement at which the graduation is displayed
GradBackColor | Sets the background color of the graduation in the ImageKit Control
GradColor | Sets the color of the graduation in the ImageKit Control
Gray | Determines whether or not the image is grayscale
Grid | Sets the units of measurement at which the grid is displayed
GridColor | Sets the color of the grid lines in the ImageKit Control
GridSpace | Sets the size of the spaces in the grid
Hdc | Refers to the device context of the ImageKit Control
HWND | Refers to the window handle of the ImageKit Control
ImageAtLeftTop | Sets the display position of an image that is smaller than the ImageKit control size
ImageHandle | Refers to the image handle of the base image
ImageHdc | Refers to the image handle of the base image
ImageHdc | Refers to the displayed image's memory device context
ImageHeight | Refers to the height of the image in pixels
ImageKind | Refers to the image type
ImageSize | Refers to the size of the image in bytes
ImageWidth | Refers to the width of the image in pixels
ImageWidthByte | Refers to the number of bytes per line in the image
InvalidHatchColor | Sets the color of the hatch pattern shown in the ImageKit Control when an image is not displayed
InvalidHatchPattern | Sets the pattern that is displayed in that portion of the ImageKit control not covered by an image
LayerNo | Sets the image to be processed (either the base image or one of the layer images)
Mask1632 | Refers to the type of mask data in a 16bit color or 32bit color image
MouseCursorFile | Sets the filename for the cursor file that determines the custom mouse cursor in the ImageKit Control
MouseCursorType | Sets the shape of the mouse cursor used in the ImageKit Control
MouseDragImage | Sets whether or not the image in the ImageKit Control can be scrolled by dragging it with the mouse
MouseWheel | Sets whether the mouse wheel can be used to scroll
PalBlue | Refers to the blue value of the pixel at the clicked location in the base image in the ImageKit Control
PalCount | Refers to the number of palette colors for the image
PalGreen | Refers to the green value of the pixel at the clicked location in the base image in the ImageKit Control
PalRed | Refers to the red value of the pixel at the clicked location in the base image in the ImageKit Control
Picture | allows you to pass a raster image or a vector image between the ImageKit and a VisualBasic Picture object or a C#.NET/VB.NET Image object
RectBottom | Refers to the bottom coordinate of the selected area in the ImageKit Control
RectColor1 | Sets the one of the colors of the dotted line that distinguishes the selected area in the ImageKit Control
RectColor2 | Sets the one of the colors of the dotted line that distinguishes the selected area in the ImageKit Control
RectDraw | Sets whether an area can be selected on the base image in the ImageKit Control
RectDrawFix | Sets whether or not the selected area drawn on the base image in the ImageKit Control can be resized with the mouse
RectDrawRatio | Sets the ratio of the height to the width in the selected area drawn on the base image in the ImageKit Control
RectLeft | Refers to the left coordinate of the selected area in the ImageKit Control
RectMouseCursorFile | Sets the filename for the cursor file that defines the shape of the cursor when the mouse is dragged within the ImageKit Control
RectMouseCursorType | Sets the shape of the mouse cursor when the mouse is dragged within the ImageKit Control
RectRight | Refers to the right coordinate of the selected area in the ImageKit Control
RectTop | Refers to the top coordinate of the selected area in the ImageKit Control
Refine1BitImage | Sets whether or not a 1 bit color image, a 4 bit grayscale image, or an 8 bit grayscale image will be displayed in high quality in the ImageKit Control. This property has been deprecated. Use the StretchMode property instead.
RefineColorImage | Sets whether or not a 24 or 32 bit color image will be displayed in high quality when it is reduced in size. (When the image is larger than the ImageKit Control). This property has been deprecated. Use the StretchMode property instead.
ScrollBar | Sets whether or not scroll bars are displayed on the ImageKit Control
ScrollHeight | Sets the height of the scroll for the image displayed in the ImageKit Control
ScrollWidth | Sets the width of the scroll for the image displayed in the ImageKit Control
ShowBackgroundImage | Sets whether or not an image is displayed in the ImageKit Control background
ShowInDisp | Sets whether or not the base image is displayed in the ImageKit Control
ShowInMagnifier | Sets whether or not the base image is displayed in the Magnifier window
ShowInPanWindow | Sets whether or not the base image is displayed Pan window
SimpleDispCtrl | Limits the ImageKit Control to displaying only to the base image
StretchMode | Sets the method used when images are expanded or contracted. Not to be confused with the DisplayMode stretch parameter.
ToolTip | Sets the units of measurement at which the tool tip coordinates are displayed.
ToolTipColor | Sets the the color of the tool tip background displayed when the mouse is moved over an image
ToolTipTimeSecond | Sets the number of seconds the tool tip is displayed
ToolTipXfromMouse | Sets the horizontal offset in pixels between the mouse cursor position and the tool tip
ToolTipYfromMouse | Sets the vertical offset in pixels between the mouse cursor position and the tool tip
TransBlue | Sets the blue value for the transparent color in the base (raster) image
TransGreen | Sets the green value for the transparent color in the base (raster) image
Transparent | Enables the transparent color in the base image
TransRed | Sets the red value for the transparent color in the base (raster) image
VectorAntiAliasDisplay | Sets whether a vector image's antialias display is enabled
Xdpi | Refers to the number of pixels per horizontal inch (horizontal resolution) in the image
Ydpi | Refers to the number of pixels per vertical inch (vertical resolution) in the image

Method List

Custom Methods | Explanation
BitBlt | Performs a bit-block transfer of the color data corresponding to a rectangle of pixels from the specified source device context into a destination device context
BitmapFromDib | Converts the image data from a Device Independent Bitmap (DIB) to a Device Dependent Bitmap (DDB)
ClearClipBrd | Clears the clipboard
CopyImage | Makes an identical copy of a raster image or a vector image in the memory
CreateImage | Creates a new raster image
DeleteBitmapObject | Deletes the Bitmap object
DibFromBitmap | Converts a Device Dependent Bitmap to a Device Independent Bitmap
Display | Displays the image. This method has been deprecated.
DisplayImage | Displays the image
FreeMemory | Frees image data from the memory
GetDpi | Retrieves the value of resolution property of an image
GetDpiF | Retrieves the value of resolution property of an image. (Float)
GetDpiVariant | Retrieves the value of resolution property of an image. (Variant)
GetDpiFromHdc | Retrieves the resolution from the device context
GetDpiFromHdcVariant | Retrieves the resolution from the device context (variant type)
GetFromClipBrd | Retrieves the raster image or the vector image from the clipboard
GetImageType | Sets the image information into various ImageKit properties
GetMemorySize | Retrieves the size of the memory used by the image
GetOneBitPalCount | Retrieves the number of 0 pixels and 1 pixels from a 1 bit color image
GetOneBitPalCountVariant | Retrieves the number of 0 pixels and 1 pixels from a 1 bit color image (variant type)
GetPalette | Retrieves the palette information for a raster image
GetPaletteVariant | Retrieves the palette information for a raster image (variant type)
GetSystemPalette | Retrieves the system palette from the current PC
IsClipBrdData | Checks whether or not there is clipboard data
Refresh | Redisplays the image on the ImageKit Control
ScrollImage | Scrolls the image according to the values set in the ScrollHeight and ScrollWidth properties
SetDpi | Sets a new value in the resolution property of an image
SetDpiF | Sets a new value in the resolution property of an image. (Float)
SetPalette | Sets the palette information for the raster image
SetPaletteVariant | Sets the palette information for the raster image (variant type)
SetToClipBrd | Copies a raster image or a vector image to the clipboard
StretchBlt | Copies a bitmap from a source rectangle into a destination rectangle, stretching or compressing the bitmap to fit the dimensions of the destination rectangle, if necessary
Zoom | Zooms in on the area specified in the image

Event List

Custom Events | Explanation
AfterScan | Generated after an image is scanned with the scan device
BeforeScan | Generated just before an image is scanned with the scan device
ClickOnPanWindow |
EditToolBar | Generated whenever the image editing toolbars are opened or closed
EndDispImage | Generated after the image is displayed
EndLoad | Generated after a file has loaded
EndPopUpMenu | Generated just after the PopUp Menu has closed
EndRasterToVector | Generated after a raster image has been converted to a vector image
EndSave | Generated after a file has finished being saved
EndVectorToRaster | Generated after a vector image has been converted to a raster image
GetDragDropFileName | Generated after an image is dragged and dropped into the ImageKit Control
MagnifierMouseDown | Generated when the mouse button is pressed inside the Magnifier
MagnifierMouseMove | Generated when the mouse cursor is moved within the Magnifier
MagnifierMouseUp | Generated when the mouse button is released inside the Magnifier
MouseDownImage | Generated when the mouse cursor is inside the image and the mouse button has been pressed
MouseDownSelectLayerImage | Generated when the mouse cursor is over a layer image and the mouse button is been pressed
MouseMoveImage | Generated when the mouse moves over the image
MouseUpImage | Generated when the mouse cursor is inside the image and the mouse button has been released
MouseUpSelectLayerImage | Generated when the mouse cursor is over a layer image and the mouse button is been released
MouseWheelDownImage | Generated when the mouse wheel is rolled down
MouseWheelUpImage | Generated when the mouse wheel is rolled up
PanWindow | Generated whenever the Pan window is displayed or closed
Progress | Generated when an effect in being processed, a file is being loaded or saved, or when a file is converted between vector and raster
Scanning | Generated when an image is being scanned by the scan device
ScrollDispImage | Generated when a scroll bar is used to scroll the image
SelEditFunction | Generated when a button on the image editing toolbar (either Raster or Vector) is clicked
SelEditObj | Generated when aan on the image editing toolbar (either Raster or Vector) is selected
StartDispImage | Generated before the image is displayed
StartLoad | Generated before a file has started to load
StartPopUpMenu | Generated just before the PopUp Menu has closed
StartRasterToVector | Generated when a raster image is converted to a vector image
StartSave | Generated before an image is saved
StartVectorToRaster | Generated when a vector image is converted to a raster image

Interface List

Custom Interface | Explanation
Edit | Exposes properties and methods for editing images
Effect | Exposes properties and methods for processing imaging effects (effect filters, transformations, conversions, etc)
File | Exposes properties and methods for processing image files
Layer | Exposes properties related to the 100 distinct image layers possible when displaying images in the ImageKit Control
Magnifier | Exposes properties and methods related to the magnifying glass display
PanWindow | Exposes properties and methods related to the pan window display
PrintDraw | Exposes properties and methods related to printing or related to drawing objects or text on images
Scan | Exposes properties and methods related to using scan devices and digital cameras
Vector | Exposes properties and methods related to creating vector images or converting raster images to vector images and vice versa


ImageKit Properties

Custom Properties | Explanation
Appearance | Sets the appearance of the ImageKit Control border
AutoDisplay | Sets whether or not the image will automatically be displayed
AutoSize | Sets whether or not the ImageKit Control will be resized to fit the size of the image
BackColor | Sets the color for the background of the ImageKit Control
BackgroundImageFile | Sets the name of the file displayed as the background image in the ImageKit Control
BackgroundImageVectorHeight | Sets the height of the vector image that is being displayed as a background image in the ImageKit Control
BackgroundImageVectorWidth | Sets the width of the vector image that is being displayed as a background image in the ImageKit Control
BitCount | The number of bits per pixel in the image
BlinkSpeed | Sets the speed at which the border of the selected area blinks
BorderColor | Sets the color of the ImageKit Control border
BorderVisible | Sets whether or not the ImageKit Control border is visible
DispCenterX | Sets the x-coordinate of a point on an image that will be displayed from the center of the ImageKit Control
DispCenterY | Sets the y-coordinate of a point on an image that will be displayed from the center of the ImageKit Control
DisplayMode | Sets the display mode to Scale, Stretch, ActualSize, etc.
DispScaleX | Sets the horizontal magnification at which and image is displayed in the ImageKit Control
DispScaleY | Sets the vertical magnification at which and image is displayed in the ImageKit Control
DispStartX | Sets the point on the image that will be displayed from the top left corner of the ImageKit Control
DispStartY | Sets the point on the image that will be displayed from the top left corner of the ImageKit Control
DrawVectorColor | Sets the color used when vector images are displayed in the ImageKit Control
DXFBlack | Sets whether or not white is displayed as black and black is displayed as white in DXF images
Enabled | Sets whether or not mouse or keyboard events are enabled in the ImageKit Control
EnableOLEDrag | Sets whether or not OLE drag and drop is enabled
EnableTouch | Sets whether or not zooming is enabled with a "pinch in" and "pinch out"
ErrorStatus | Refers to the types of errors that can occur when using the ImageKit Control
Grad | Sets the units of measurement at which the graduation is displayed
GradBackColor | Sets the background color of the graduation in the ImageKit Control
GradColor | Sets the color of the graduation in the ImageKit Control
Gray | Determines whether or not the image is grayscale
Grid | Sets the units of measurement at which the grid is displayed
GridColor | Sets the color of the grid lines in the ImageKit Control
GridSpace | Sets the size of the spaces in the grid
Hdc | Refers to the device context of the ImageKit Control
HWND | Refers to the window handle of the ImageKit Control
ImageAtLeftTop | Sets the display position of an image that is smaller than the ImageKit control size
ImageHandle | Refers to the image handle of the base image
ImageHdc | Refers to the image handle of the base image
ImageHdc | Refers to the displayed image's memory device context
ImageHeight | Refers to the height of the image in pixels
ImageKind | Refers to the image type
ImageSize | Refers to the size of the image in bytes
ImageWidth | Refers to the width of the image in pixels
ImageWidthByte | Refers to the number of bytes per line in the image
InvalidHatchColor | Sets the color of the hatch pattern shown in the ImageKit Control when an image is not displayed
InvalidHatchPattern | Sets the pattern that is displayed in that portion of the ImageKit control not covered by an image
LayerNo | Sets the image to be processed (either the base image or one of the layer images)
Mask1632 | Refers to the type of mask data in a 16bit color or 32bit color image
MouseCursorFile | Sets the filename for the cursor file that determines the custom mouse cursor in the ImageKit Control
MouseCursorType | Sets the shape of the mouse cursor used in the ImageKit Control
MouseDragImage | Sets whether or not the image in the ImageKit Control can be scrolled by dragging it with the mouse
MouseWheel | Sets whether the mouse wheel can be used to scroll
PalBlue | Refers to the blue value of the pixel at the clicked location in the base image in the ImageKit Control
PalCount | Refers to the number of palette colors for the image
PalGreen | Refers to the green value of the pixel at the clicked location in the base image in the ImageKit Control
PalRed | Refers to the red value of the pixel at the clicked location in the base image in the ImageKit Control
Picture | allows you to pass a raster image or a vector image between the ImageKit and a VisualBasic Picture object or a C#.NET/VB.NET Image object
RectBottom | Refers to the bottom coordinate of the selected area in the ImageKit Control
RectColor1 | Sets the one of the colors of the dotted line that distinguishes the selected area in the ImageKit Control
RectColor2 | Sets the one of the colors of the dotted line that distinguishes the selected area in the ImageKit Control
RectDraw | Sets whether an area can be selected on the base image in the ImageKit Control
RectDrawFix | Sets whether or not the selected area drawn on the base image in the ImageKit Control can be resized with the mouse
RectDrawRatio | Sets the ratio of the height to the width in the selected area drawn on the base image in the ImageKit Control
RectLeft | Refers to the left coordinate of the selected area in the ImageKit Control
RectMouseCursorFile | Sets the filename for the cursor file that defines the shape of the cursor when the mouse is dragged within the ImageKit Control
RectMouseCursorType | Sets the shape of the mouse cursor when the mouse is dragged within the ImageKit Control
RectRight | Refers to the right coordinate of the selected area in the ImageKit Control
RectTop | Refers to the top coordinate of the selected area in the ImageKit Control
Refine1BitImage | Sets whether or not a 1 bit color image, a 4 bit grayscale image, or an 8 bit grayscale image will be displayed in high quality in the ImageKit Control. This property has been deprecated. Use the StretchMode property instead.
RefineColorImage | Sets whether or not a 24 or 32 bit color image will be displayed in high quality when it is reduced in size. (When the image is larger than the ImageKit Control). This property has been deprecated. Use the StretchMode property instead.
ScrollBar | Sets whether or not scroll bars are displayed on the ImageKit Control
ScrollHeight | Sets the height of the scroll for the image displayed in the ImageKit Control
ScrollWidth | Sets the width of the scroll for the image displayed in the ImageKit Control
ShowBackgroundImage | Sets whether or not an image is displayed in the ImageKit Control background
ShowInDisp | Sets whether or not the base image is displayed in the ImageKit Control
ShowInMagnifier | Sets whether or not the base image is displayed in the Magnifier window
ShowInPanWindow | Sets whether or not the base image is displayed in the Pan window
SimpleDispCtrl | Limits the ImageKit Control to displaying only to the base image
StretchMode | Sets the method used when images are expanded or contracted. Not to be confused with the DisplayMode stretch parameter.
ToolTip | Sets the units of measurement at which the tool tip coordinates are displayed.
ToolTipColor | Sets the the color of the tool tip background displayed when the mouse is moved over an image
ToolTipTimeSecond | Sets the number of seconds the tool tip is displayed
ToolTipXfromMouse | Sets the horizontal offset in pixels between the mouse cursor position and the tool tip
ToolTipYfromMouse | Sets the vertical offset in pixels between the mouse cursor position and the tool tip
TransBlue | Sets the blue value for the transparent color in the base (raster) image
TransGreen | Sets the green value for the transparent color in the base (raster) image
Transparent | Enables the transparent color in the base image
TransRed | Sets the red value for the transparent color in the base (raster) image
VectorAntiAliasDisplay | Sets whether a vector image's antialias display is enabled
Xdpi | Refers to the number of pixels per horizontal inch (horizontal resolution) in the image
Ydpi | Refers to the number of pixels per vertical inch (vertical resolution) in the image


Apperance (ImageKit Control/ Custom Property)

ImageKit10 ActiveX

Appearance (ImageKit Control/ Custom Property)

This property sets the appearance of the ImageKit Control border
[Visual Basic] imagekitcontrolname.Appearance [= AppearanceConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetAppearance()
imagekitcontrolname.SetAppearance(long Val)
[VB.NET] imagekitcontrolname.Appearance [= ImageKit10(A)Lib.ApearanceConstants ]
[C#.NET] imagekitcontrolname.Appearance [= ImageKit10(A)Lib.ApearanceConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Flat
1 | Lowered
2 | Raised

Is also possible to use the following constants:(ikFlat = 0, ikLowered = 1, ikRaised = 2).

Explanation

The Appearance property sets the appearance of the ImageKit Control border. The Apperance property is enabled when the BorderVisible property is set to True. When the Apperance property is set to 0 (ikFlat), the color of the border is determined by the BorderColor property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


AutoSize (ImageKit Control/ Custom Property)

ImageKit10 ActiveX

AutoDisplay (ImageKit Control/ Custom Property)

This property sets whether or not the image will be automatically displayed in the ImageKit Control.
[Visual Basic] imagekitcontrolname.AutoDisplay [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetAutoDisplay()
imagekitcontrolname.SetAutoSize(BOOL Val)
[VB.NET] imagekitcontrolname.AutoDisplay [= Boolean ]
[C#.NET] imagekitcontrolname.AutoDisplay [= bool ]

Property Value

Value | Explanation
True (default) | The image will automatically be displayed
False | The image will not be automatically displayed

Explanation

The AutoDisplay property sets whether or not the image will be automatically displayed in the ImageKit Control. The default value is True.

When AutoDiplay is True and an image is loaded or an image is set into the ImageHandle property, then the image is automatically displayed in the ImageKit Control. When False, the image is not automatically displayed and to display it you must execute the DisplayImage method. Note: The value set in the DisplayMode property sets the mode with which the image is displayed.

For related details, please refer to the ShowInDisp, ShowInMagnifier, and ShowInPanWindow properties

Setting this value

This value can be set at design-time and at run-time.

Retrieving this value

This value can be retrieved at run-time.


AutoSize (ImageKit Control/ Custom Property)

This property sets whether or not the ImageKit Control will be resized to fit the size of the image.
[Visual Basic] imagekitcontrolname.AutoSize [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetAutoSize()
imagekitcontrolname.SetAutoSize(BOOL Val)
[VB.NET] imagekitcontrolname.CtlAutoSize [= Boolean ]
[C#.NET] imagekitcontrolname.CtlAutoSize [= bool ]

Property Value

Value | Explanation
True | The ImageKit Control will be resized to fit the size of the image
False (default) | The size of the ImageKit Control, as determined at design-time or at run-time by the ImageKit Control height and width will be maintained.

Explanation

The AutoSize property sets whether or not the ImageKit Control will be resized to fit the size of the image. When true, the ImageKit Control's top, left position is maintained and the ImageKit Control's height and width are changed to fit the size of the image.

In Visual Basic.NET and C#.NET, AutoSize must be denoted by CtlAutoSize

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BackColor (ImageKit Control/ Custom Property)

This property sets the color for the background of the ImageKit Control
[Visual Basic] imagekitcontrolname.BackColor [= OLE_COLOR ]
[Visual C++] [unsigned long = ]imagekitcontrolname.GetBackColor()
imagekitcontrolname.SetBackColor(unsigned long Val)
[VB.NET] imagekitcontrolname.BackColor [= Color ]
[C#.NET] imagekitcontrolname.BackColor [= Color ]

Property Value

Value | Explanation
BackColor | The ImageKit Control's background color

Explanation

The BackColor property sets the color for the background of the ImageKit Control. To set color, please use the appropriate RGB(Red, Green, Blue) value.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BackgroundImageFile (ImageKit Control/ Custom Property)

This property sets the name of the file displayed as the background image in the ImageKit Control
[Visual Basic] imagekitcontrolname.BackgroundImageFile [= String ]
[Visual C++] [long = ]imagekitcontrolname.GetBackgroundImageFile()
imagekitcontrolname.SetBackgroundImageFile(LPCTSTR Val)
[VB.NET] imagekitcontrolname.BackgroundImageFile [= String ]
[C#.NET] imagekitcontrolname.BackgroundImageFile [= string ]

Property Value

The name of the file that is displayed as the background image in the ImageKit Control.

Explanation

The BackgroundImageFile property sets the name of the file displayed as the background image in the ImageKit Control. This property is enabled with the Transparent property is True.

Rules for using a background image:

The background image will be displayed under a base image
If the background image is larger than the base image, the background image will be resized to the dimensions of the base image.

Example Code

In Visual Basic:
'set the background image
ImageKit1.BackgroundImageFile = "C:\BackImage.bmp"
'set the transparent color in the base image to white
ImageKit1.TransBlue = 255
ImageKit1.TransGreen = 255
ImageKit1.TransRed = 255
ImageKit1.Transparent = True

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


BackgroundImageVectorHeight (ImageKit Control/ Custom Property)

When a vector image is being displayed as the background image in the ImageKit Control, this property sets the height of that vector image.
[Visual Basic] imagekitcontrolname.BackgroundImageVectorHeight [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetBackgroundImageVectorHeight()
imagekitcontrolname.SetBackgroundImageVectorHeight(long Val)
[VB.NET] imagekitcontrolname.BackgroundImageVectorHeight [= Integer ]
[C#.NET] imagekitcontrolname.BackgroundImageVectorHeight [= int ]

Property Value

The height, in pixels, of the vector image that is being displayed as the background image in the ImageKit Control. (default is 0).

Explanation

The BackgroundImageVectorHeight property sets the height of the vector image that is being displayed in the ImageKit Control as the background image.

If a DXF or SXF image is set in the BackgroundImageFile property:
If 0 or less is set in the either the BackgroundImageVectorHeight property or the BackgroundImageVectorWidth property, then the background image will have a height of 600 and a width of 800.

If an EMF, SVG, or WMF image is set in the BackgroundImageFile property:
If 0 or less is set in the either the BackgroundImageVectorHeight property or the BackgroundImageVectorWidth property, then the background image size will be determined by the height and width values stored in the image file.

Note: The actual display size will be the largest size possible to fit within the rectangle specified while maintaining the original height/width ratio.
The BackgroundImageVectorHeight property value and the BackgroundImageVectorWidth property value must be set prior to the BackgroundImageFile property.

Example Code

In Visual Basic:
'set the background image
ImageKit1.BarkgroundImageVectorWidth = 640
                ImageKit1.BarkgroundImageVectorHeight = 480 ImageKit1.BackgroundImageFile =
                "C:\BackImage.emf"
'set the transparent color in the base image to white
ImageKit1.TransBlue = 255
ImageKit1.TransGreen = 255
ImageKit1.TransRed = 255
ImageKit1.Transparent = True

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


BackgroundImageVectorWidth (ImageKit Control/ Custom Property)

When a vector image is being displayed as the background image in the ImageKit Control, this property sets the width of that vector image.
[Visual Basic] imagekitcontrolname.BackgroundImageVectorWidth [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetBackgroundImageVectorWidth()
imagekitcontrolname.SetBackgroundImageVectorWidth(long Val)
[VB.NET] imagekitcontrolname.BackgroundImageVectorWidth [= Integer ]
[C#.NET] imagekitcontrolname.BackgroundImageVectorWidth [= int ]

Property Value

The width, in pixels, of the vector image that is being displayed as the background image in the ImageKit Control. (default is 0).

Explanation

The BackgroundImageVectorWidth property sets the width of the vector image that is being displayed in the ImageKit Control as the background image.

If a DXF or SXF image is set in the BackgroundImageFile property:
If 0 or less is set in the either the BackgroundImageVectorHeight property or the BackgroundImageVectorWidth property, then the background image will have a height of 600 and a width of 800.

If an EMF, SVG, or WMF image is set in the BackgroundImageFile property:
If 0 or less is set in the either the BackgroundImageVectorHeight property or the BackgroundImageVectorWidth property, then the background image size will be determined by the height and width values stored in the image file.

Note: The actual display size will be the largest size possible to fit within the rectangle specified while maintaining the original height/width ratio.
The BackgroundImageVectorHeight property value and the BackgroundImageVectorWidth property value must be set prior to the BackgroundImageFile property.

Example Code

In Visual Basic:
'set the background image
ImageKit1.BarkgroundImageVectorWidth = 640
                ImageKit1.BarkgroundImageVectorHeight = 480 ImageKit1.BackgroundImageFile =
                "C:\BackImage.emf"
'set the transparent color in the base image to white
ImageKit1.TransBlue = 255
ImageKit1.TransGreen = 255
ImageKit1.TransRed = 255
ImageKit1.Transparent = True

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


BitCount (ImageKit Control/ Custom Property)

This property refers to the number of bits per pixel in the image set in the ImageHandle property
[Visual Basic] imagekitcontrolname.BitCount [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetBitCount()
[VB.NET] imagekitcontrolname.BitCount [= Short ]
[C#.NET] imagekitcontrolname.BitCount [= short ]

Property Value

The number of bits per pixel in an image.

Value | Explanation
1 | 2 color (i.e. Black and White)
4 | 16 color
8 | 256 color
16 | 16 bit color
24 | 24 bit color
32 | 32 bit color

Explanation

The BitCount property refers to the number of bits per pixel in the image. After setting the ImageHandle property, the BitCount property value is automatically updated. This property is not valid for vector images.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


BlinkSpeed (ImageKit Control/ Custom Property)

When a portion of an image is selected, either using the mouse or by code, the selected area is highlighted by a blinking dotted line. This property gets or sets the speed at which this dotted line blinks.
[Visual Basic] imagekitcontrolname.BlinkSpeed [= BlinkSpeedConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetBlinkSpeed()
imagekitcontrolname.SetBlinkSpeed(long Val)
[VB.NET] imagekitcontrolname.BlinkSpeed [= ImageKit10(A)Lib.BlinkSpeedConstants ]
[C#.NET] imagekitcontrolname.BlinkSpeed [= ImageKit10(A)Lib.BlinkSpeedConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Slow
1 | Normal
2 | Fast

It is also possible to use the following constants: (ikSlow = 0, ikMedium = 1, ikFast = 2)

Explanation

The BlinkSpeed property sets the speed at which the border of the selected area blinks. This property is only effective when the RectDraw property is True and an area has been selected in the ImageKit Control.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BorderColor (ImageKit Control/ Custom Property)

This property sets the color of the ImageKit Control border.
[Visual Basic] imagekitcontrolname.BorderColor [= OLE_COLOR ]
[Visual C++] [unsigned long = ]imagekitcontrolname.GetBorderColor()
imagekitcontrolname.SetBorderColor(unsigned long Val)
[VB.NET] imagekitcontrolname.BorderColor [= Color ]
[C#.NET] imagekitcontrolname.BorderColor [= Color ]

Property Value

Value | Explanation
BorderColor | The ImageKit Control's border color

Explanation

The BorderColor property sets the color for the border of the ImageKit Control. To set color, please use the appropriate RGB(Red, Green, Blue) value.

The BorderColor property is enabled when the Apperance property is 0 (ikFlat) and the BorderVisible property is True.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BorderVisible (ImageKit Control/ Custom Property)

This property sets whether or not the ImageKit Control border is visible.
[Visual Basic] imagekitcontrolname.BorderVisible [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetBorderVisible()
imagekitcontrolname.SetBorderVisible(BOOL Val)
[VB.NET] imagekitcontrolname.BorderVisible [= Boolean ]
[C#.NET] imagekitcontrolname.BorderVisible [= bool ]

Property Value

Value | Explanation
True | The ImageKit Control border is visible
False (default) | The ImageKit Control border is not visible

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


DispCenterX (ImageKit Control/ Custom Property)

The DispCenterX and DispCenterY properties get or set the coordinates of a point on an image that will be displayed from the center of the ImageKit Control.
[Visual Basic] imagekitcontrolname.DispCenterX [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetDispCenterX()
imagekitcontrolname.SetDispCenterX(long Val)
[VB.NET] imagekitcontrolname.DispCenterX[= Integer ]
[C#.NET] imagekitcontrolname.DispCenterX[= int ]

Property Value

DispCenterX gets or sets the horizontal position of a point on an image that will be displayed from the center of the ImageKit Control. (In pixels)

Explanation

The DispCenterX and DispCenterY properties get or set the coordinates of a point on an image that will be displayed from the center of the ImageKit Control. The DispCenterX property determines the horizontal distance from the left side of the image. (Shown as X in the diagram below) and the DispCenterY property determines the vertical distance from the top of the image (Shown as Y in the diagram below). To display the image, the DisplayImage method must be called.

To use the DispCenterX and DispCenterY properties, the image must be displayed in Actual Size and the DispStartX and DispStartY properties must not be set or must be set to 0. Furthermore, once the image is displayed, if the image is scolled, the DispCenterX and DispCenterY properties will be cleared and the point on the image shown at the top left corner of the ImageKit Control will be set in the DispStartX and DispStartY properties. To use the DispCenterX and DispCenterY properties again, you must reset the DispStartX and DispStartY properties to 0.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


DispCenterY (ImageKit Control/ Custom Property)

The DispCenterX and DispCenterY properties get or set the coordinates of a point on an image that will be displayed from the center of the ImageKit Control.
[Visual Basic] imagekitcontrolname.DispCenterY [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetDispCenterY()
imagekitcontrolname.SetDispCenterY(long Val)
[VB.NET] imagekitcontrolname.DispCenterY[= Integer ]
[C#.NET] imagekitcontrolname.DispCenterY[= int ]

Property Value

DispCenterY gets or sets the vertical position of a point on an image that will be displayed from the center of the ImageKit Control. (In pixels)

Explanation

The DispCenterX and DispCenterY properties get or set the coordinates of a point on an image that will be displayed from the center of the ImageKit Control. The DispCenterX property determines the horizontal distance from the left side of the image. (Shown as X in the diagram below) and the DispCenterY property determines the vertical distance from the top of the image (Shown as Y in the diagram below). To display the image, the DispCenterX and DispCenterY properties, the image must be displayed in Actual Size and the DispStartX and DispStartY properties must not be set or must be set to 0. Furthermore, once the image is displayed, if the image is scolled, the DispCenterX and DispCenterY properties will be cleared and the point on the image shown at the top left corner of the ImageKit Control will be set in the DispStartX and DispStartY properties. To use the DispCenterX and DispCenterY properties again, you must reset the DispStartX and DispStartY properties to 0.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


DisplayMode (ImageKit Control/ Custom Property)

This property sets the display mode when images are displayed in the ImageKit Control
[Visual Basic] imagekitcontrolname.DisplayMode [= DispModeConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetDisplayMode()
imagekitcontrolname.SetDisplayMode(long Val)
[VB.NET] imagekitcontrolname.DisplayMode[= ImageKit10(A)Lib.DispModeConstants ]
[C#.NET] imagekitcontrolname.DisplayMode[= ImageKit10(A)Lib.DispModeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Clear
1 | Scale (When the image is larger than the ImageKit Control, the image is scaled to fit within the ImageKit Control.)
2 | Stretch (The image is stretched to fit the dimensions of the ImageKit Control.)
3 | Actual Size (The image is displayed in according to the values of the DispScaleX and DispScaleY properties.)
4 | FitToWidth (The image is scaled so that the width of the image matches the value of the ImageKit Control's Width property.)
5 | FitToHeight (The image is scaled so that the height of the image matches the value of the ImageKit Control's Height property.)

It is also possible to use the following constants: (ikClear = 0, ikScale = 1, ikStretch = 2, ikActualSize = 3, ikFitToWidth = 4, ikFitToHeight = 5).

Explanation

The DisplayMode property sets the display mode when images are displayed in the ImageKit Control.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


DispScaleX (ImageKit Control/ Custom Property)

The DispScaleX and DispScaleY properties set the magnification at which and image is displayed in the ImageKit Control. (Actual size display is 1 by default)
[Visual Basic] imagekitcontrolname.DispScaleX [= Double ]
[Visual C++] [double = ]imagekitcontrolname.GetDispScaleX()
imagekitcontrolname.SetDispScaleX(double Val)
[VB.NET] imagekitcontrolname.DispScaleX [= Double ]
[C#.NET] imagekitcontrolname.DispScaleX [= double ]

Property Value

The magnification at which an image is displayed.

Explanation

The DispScaleX and DispScaleY properties set the magnification at which and image is displayed in the ImageKit Control. (Actual size display is 1 by default). If the DispScaleX and DispScaleY properties equal 2, for example, then the image will be displayed a twice actual size. Likewise, if the the DispScaleX and DispScaleY properties equal 0.5, then the image will be displayed at half actual size. The DispScaleX and DispScaleY properties are only effective when the image is displayed at actual size.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


DispScaleY (ImageKit Control/ Custom Property)

The DispScaleX and DispScaleY properties set the magnification at which and image is displayed in the ImageKit Control. (Actual size display is 1 by default)
[Visual Basic] imagekitcontrolname.DispScaleY [= Double ]
[Visual C++] [double = ]imagekitcontrolname.GetDispScaleY()
imagekitcontrolname.SetDispScaleY(double Val)
[VB.NET] imagekitcontrolname.DispScaleY [= Double ]
[C#.NET] imagekitcontrolname.DispScaleY [= double ]

Property Value

The magnification at which an image is displayed.

Explanation

The DispScaleX and DispScaleY properties set the magnification at which and image is displayed in the ImageKit Control. (Actual size display is 1 by default). If the DispScaleX and DispScaleY properties equal 2, for example, then the image will be displayed a twice actual size. Likewise, if the the DispScaleX and DispScaleY properties equal 0.5, then the image will be displayed at half actual size. The DispScaleX and DispScaleY properties are only effective when the image is displayed at actual size.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


DispStartX (ImageKit Control/ Custom Property)

The DispStartX and DispStartY properties get or set the point on the image that will be displayed from the top left corner of the ImageKit Control.
[Visual Basic] imagekitcontrolname.DispStartX [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetDispStartX()
imagekitcontrolname.SetDispStartX(long Val)
[VB.NET] imagekitcontrolname.DispStartX[= Integer ]
[C#.NET] imagekitcontrolname.DispStartX[= int ]

Property Value

The horizontal position on the image that will be displayed from the left of the ImageKit Control.

Explanation

By setting the DispStartX and DispStartY properties, large images can be loaded into the ImageKit Control and displayed from a specified position on the image. DispStartX and DispStartY are enabled when the image is displayed in actual size. Furthermore, if DispCenterX and DispCenterY properties are set to values other than 0 then DispStartX and DispStartY properties are disabled.

The DispStartX and DispStartY properties supercede the older StartX and StartY properties in earlier versions of the ImageKit.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


DispStartY (ImageKit Control/ Custom Property)

The DispStartX and DispStartY properties get or set the point on the image that will be displayed from the top left corner of the ImageKit Control.
[Visual Basic] imagekitcontrolname.DispStartY [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetDispStartY()
imagekitcontrolname.SetDispStartY(long Val)
[VB.NET] imagekitcontrolname.DispStartY[= Integer ]
[C#.NET] imagekitcontrolname.DispStartY[= int ]

Property Value

The vertical position on the image that will be displayed from the top of the ImageKit Control.

Explanation

By setting the DispStartX and DispStartY properties, large images can be loaded into the ImageKit Control and displayed from a specified position on the image. DispStartX and DispStartY are enabled when the image is displayed in actual size. Furthermore, if DispCenterX and DispCenterY properties are set to values other than 0 then DispStartX and DispStartY properties are disabled.

The DispStartX and DispStartY properties supercede the older StartX and StartY properties in earlier versions of the ImageKit.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


DrawVectorColor (ImageKit Control/ Custom Property)

This property gets or sets the color used when vector images are displayed in the ImageKit Control.
[Visual Basic] imagekitcontrolname.DrawVectorColor [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetDrawVectorColor()
imagekitcontrolname.SetDrawVectorColor(long Val)
[VB.NET] imagekitcontrolname.DrawVectorColor [= Integer ]
[C#.NET] imagekitcontrolname.DrawVectorColor [= int ]

Property Value

The color used to draw the vector image. Default is -1. When the default value is used, the vector image is drawn using the vector image's own color values

Explanation

The DrawVectorColor property sets the color used when vector images are displayed in the ImageKit Control. To set a value, use the default value of -1 or the appropriate RGB(Red, Green, Blue) value. When the default value is used, the vector image is drawn using the vector image's own color values. When a RGB value is set, the vector image will be drawn using that single color.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


DXFBlack (ImageKit Control/ Custom Property)

This property gets or sets whether or not white is displayed as black and black is displayed as white in DXF images
[Visual Basic] imagekitcontrolname.DXFBlack [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetDXFBlack()
imagekitcontrolname.SetDXFBlack(BOOL Val)
[VB.NET] imagekitcontrolname.DXFBlack [= Boolean ]
[C#.NET] imagekitcontrolname.DXFBlack [= bool ]

Property Value

Value | Explanation
True(default) | Black is displayed as white and white is displayed as black in DXF images. (default)
False | The DXF images is displayed as normal.

Explanation

The DXFBlack property gets or sets whether or not white is displayed as black and black is displayed as white in DXF images. When the default value, True, is used, black is displayed as white and white is displayed as black in DXF images.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Enabled (ImageKit Control/ Custom Property)

This property sets whether or not mouse or keyboard events are enabled in the ImageKit Control.
[Visual Basic] imagekitcontrolname.Enabled [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetEnabled()
imagekitcontrolname.SetEnabled(BOOL Val)
[VB.NET] imagekitcontrolname.Enabled [= Boolean ]
[C#.NET] imagekitcontrolname.Enabled [= bool ]

Property Value

Value | Explanation
True (default) | Mouse and keyboard events are enabled in the ImageKit Control
False | Mouse and keyboard events are disabled in the ImageKit Control

Explanation

The Enabled property sets whether or not mouse or keyboard events are enabled in the ImageKit Control. When true, mouse and keyboard events in the ImageKit Control will be generated. When false, these events will not be generated.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


EnableOLEDrag (ImageKit Control/ Custom Property)

This property sets whether or not OLE drag and drop is enabled
[Visual Basic] imagekitcontrolname.EnableOLEDrag [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetEnableOLEDrag()
imagekitcontrolname.SetEnableOLEDrag(BOOL Val)
[VB.NET] imagekitcontrolname.EnableOLEDrag [= Boolean ]
[C#.NET] imagekitcontrolname.EnableOLEDrag [= bool ]

Property Value

Value | Explanation
True | Enable OLE drag and drop
False (default) | Disable OLE drag and drop

Explanation

The EnableOLEDrag property sets whether or not OLE drag and drop is enabled. This property is False by default (OLE drag and drop is disabled by default). To drag and drop an image from the ImageKit Control into the Thumbnail Control or into another ImageKit Control both source and target controls must have their EnableOLEDrag properties set to True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


EnableTouch (ImageKit Control/ Custom Property)

This property sets whether or not "pinch in" and "pinch out" can be used to zoom.
[Visual Basic] imagekitcontrolname.EnableTouch [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetEnableTouch()
imagekitcontrolname.SetEnableTouch(BOOL Val)
[VB.NET] imagekitcontrolname.EnableTouch [= Boolean ]
[C#.NET] imagekitcontrolname.EnableTouch [= bool ]

Property Value

Value | Explanation
True (default) | Enable "pinch in", "pinch out"
False | Disable "pinch in", "pinch out"

Explanation

The EnableTouch property sets whether or not "pinch in" and "pinch out" can be used to zoom. The default value is True. This property is enabled for applications that support touch screens. Regardless of this property's values, when vector data is being edited, the object that is selected and can be manipulated by touch will have enlarged guides displayed on the four corners of the object.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ErrorStatus (ImageKit Control/ Custom Property)

This property refers to the types of errors that can occur when using the ImageKit Control.
[Visual Basic] imagekitcontrolname.ErrorStatus [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetErrorStatus()
[VB.NET] imagekitcontrolname.ErrorStatus [= Short ]
[C#.NET] imagekitcontrolname.ErrorStatus [= short ]

Property Value

Value | Explanation
0 | No error has occurred
1 | The process was canceled
2 | An unspecified error has occurred
3 | A memory error has occurred
4 | This function is not supported
5 | An incorrect value has been set
6 | The file is incorrect or corrupted
7 | The image is incorrect or corrupted
8 | Twain_32.dll can not load
9 | An error has occurred while drawing on or displaying an image
10 | That image format is not supported
11 | The order of execution is incorrect
12 | There is no paper in the ADF (UI suppressed only)
13 | There are no images in the digital camera (UI suppressed only)
14 | The DLL is not loaded
15 | Transmission error
16 | Cannot find file
17 | The file is corrupted
18 | A timeout has occurred. The process has been cancelled
19 | The username and/or password is incorrect. Access denied.
20 | Cannot open file
21 | Cannot create file
22 | Cannot save file
23 | Cannot load file
24 | There is no image data to display
25 | PDF Password setting error
101 | There is no entry point for the Twain_32.dll
102 | The data source manager and the data source haven't been opened or can't be open.
103 | There is no data source
104 | The data source is already connected to the maximum number of applications
105 | An error has occurred in the data source or in the data source manager
106 | An unconfirmed triplet has occurred (TWAIN - DG_XXX/DAT_XXX/MSG_XXX)
107 | Check the scan device's operating status
108 | Paper is jammed in the feeder
109 | Multiple sheets of paper have been fed into the feeder
110 | The resolution is incorrect
111 | The cover is open
112 | The corner of the original is folded over
113 | A focus error occurred when capturing the original
114 | The original is too bright
115 | The original is too dark
116 | Unable to transfer because image information cannot be retrieved

Explanation

The ErrorStatus property refers to the types of errors that can occur when using the ImageKit Control. This property value can be retrieved immediately after executing a ImageKit Control method.

Error 13 is for digital cameras whose TWAIN drivers support TWAIN version 1.7 and up. Errors 108 and 109 are for TWAIN drivers that support TWAIN version 1.8 and up

Errors 111 through 115 are for TWAIN drivres that support TWAIN version 2.0

Error 116 is for TWAIN drivers that support TWAIN version 2.1

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


Grad (ImageKit Control/ Custom Property)

This property set the units of measurement at which the graduation is displayed.
[Visual Basic] imagekitcontrolname.Grad [= UnitConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetGrad()
imagekitcontrolname.SetGrad(long Val)
[VB.NET] imagekitcontrolname.Grad [= ImageKit10(A)Lib.UnitConstants ]
[C#.NET] imagekitcontrolname.Grad [= ImageKit10(A)Lib.UnitConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | None
1 | Pixels
2 | Millimeters
3 | Inches
In Visual Basic, it is also possible to use the following constants:(ikNone = 0, ikPixel = 1, ikmm = 2, ikInch = 3).

Explanation

The Grad property sets a graduation along the left and top of the ImageKit Control. When this property is set to 0, the graduation will not be displayed. Values of 1, 2, or 3 will set the graduation units to pixels, millimeters, or inches respectively.

Note: The Grad property does not support millimeter units so if 2 (ikmm) is set, the graduation will be displayed in centimeter units.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


GradBackColor (ImageKit Control/ Custom Property)

This property sets the background color of the graduation in the ImageKit Control
[Visual Basic] imagekitcontrolname.GradBackColor [= OLE_COLOR ]
[Visual C++] [unsigned long = ]imagekitcontrolname.GetGradBackColor()
imagekitcontrolname.SetGradBackColor(unsigned long Val)
[VB.NET] imagekitcontrolname.GradBackColor [= Color ]
[C#.NET] imagekitcontrolname.GradBackColor [= Color ]

Property Value

GradBackColor - the graduation background color.

Explanation

The GradBackColor property sets the background color of the graduation in the ImageKit Control. Color can be set using RGB(Red, Green, Blue) or the equivalent value.

Ex.
GradBackColor = RGB(255, 0, 0)

Or

GradBackColor = &H000000FF& (VisualBasic)

The GradColor and GradBackColor properties are enabled when the Grad property is 1 or more.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


GradColor (ImageKit Control/ Custom Property)

This property sets the color of the graduation in the ImageKit Control
[Visual Basic] imagekitcontrolname.GradColor [= OLE_COLOR ]
[Visual C++] [unsigned long = ]imagekitcontrolname.GetGradColor()
imagekitcontrolname.SetGradColor(unsigned long Val)
[VB.NET] imagekitcontrolname.GradColor [= Color ]
[C#.NET] imagekitcontrolname.GradColor [= Color ]

Property Value

GradColor - the color of the graduation lines.

Explanation

The GradColor property sets the color of the graduation in the ImageKit Control. Color can be set using RGB(Red, Green, Blue) or the equivalent value.

Ex.
GradColor = RGB(255, 0, 0)

Or

GradColor = &H000000FF& (VisualBasic)

The GradColor and GradBackColor properties are enabled when the Grad property is 1 or more.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Gray (ImageKit Control/ Custom Property)

This property determines whether or not the image set in the ImageHandle property is grayscale
[Visual Basic] imagekitcontrolname.Gray [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetGray()
[VB.NET] imagekitcontrolname.Gray [= Boolean ]
[C#.NET] imagekitcontrolname.Gray [= bool ]

Property Value

Value | Explanation
True | The image is grayscale
False | The image is not grayscale

Explanation

The Gray property determines if the image set in the ImageHandle property is grayscale or not. When the ImageHandle property is set the Gray property is automatically refreshed. The Gray property is not enabled for vector images.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


Grid (ImageKit Control/ Custom Property)

This property sets the units of measurement at which the grid is displayed
[Visual Basic] imagekitcontrolname.Grid [= UnitConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetGrid()
imagekitcontrolname.SetGrid(long Val)
[VB.NET] imagekitcontrolname.Grid [= ImageKit10(A)Lib.UnitConstants ]
[C#.NET] imagekitcontrolname.Grid [= ImageKit10(A)Lib.UnitConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | None
1 | Pixels
2 | Millimeters
3 | Inches
In Visual Basic, it is also possible to use the following constants:(ikNone = 0, ikPixel = 1, ikmm = 2, ikInch = 3).

Explanation

The Grid property draws grid lines in the ImageKit Control. When this property is set to 0, the grid will not be displayed. Values of 1, 2, or 3 will set the grid units to pixels, millimeters, or inches respectively.

Note: The Grid property does not support millimeter units so if 2 (ikmm) is set, the grid will be displayed in centimeter units.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


GridColor (ImageKit Control/ Custom Property)

This property sets the color of the grid lines in the ImageKit Control
[Visual Basic] imagekitcontrolname.GridColor [= OLE_COLOR ]
[Visual C++] [unsigned long = ]imagekitcontrolname.GetGridColor()
imagekitcontrolname.SetGridColor(unsigned long Val)
[VB.NET] imagekitcontrolname.GridColor [= Color ]
[C#.NET] imagekitcontrolname.GridColor [= Color ]

Property Value

GridColor - the color of the grid lines.

Explanation

The GridColor property sets the color of the grid lines in the ImageKit Control. Color can be set using RGB(Red, Green, Blue) or the equivalent value.

Ex.
GridColor = RGB(255, 0, 0)

Or

GridColor = &H000000FF& (VisualBasic)

The GridColor property is enabled when the Grid property is 1 or more.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


GridSpace (ImageKit Control/ Custom Property)

This property sets the size of the spaces in the grid.
[Visual Basic] imagekitcontrolname.GridSpace [= Double ]
[Visual C++] [double = ]imagekitcontrolname.GetGridSpace()
imagekitcontrolname.SetGridSpace(double Val)
[VB.NET] imagekitcontrolname.GridSpace [= Double ]
[C#.NET] imagekitcontrolname.GridSpace [= double ]

Property Value

The unit of measurement is determined by the Grid property.

Explanation

The GridSpace property sets the size of the spaces in the grid. When the Grid property is set to 1 (ikPixel), the units of measurement for this property in pixel units. If the value set in this property is very small or if an image displayed in actual size has been greatly reduced, the GridSpace property value may be automatically adjusted.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Hdc (ImageKit Control/ Custom Property)

This property refers to the device context of the ImageKit Control.
[Visual Basic] imagekitcontrolname.Hdc[= LONG_PTR ]
[Visual C++] [LONG_PTR = ]imagekitcontrolname.GetHdc()
[VB.NET] imagekitcontrolname.hDC[= Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.hDC[= int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version

Property Value

The device context of the ImageKit Control.

Explanation

The Hdc property refers to the device context of the ImageKit Control. A device context is something onto which graphics and text can be drawn. It is what you see on the screen or what is printed as output. The Hdc can therefore be thought of as the ImageKit Control's canvas. Graphics and text can be drawn on the ImageKit Control by using one of the methods contained in ImageKit.PrintDraw. Note that drawing to the Hdc is not the same as drawing to the image data. Drawing using the Hdc property can be thought of as drawing on the screen. To draw to the image data, use the ImageHdc property.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.

Differences from ImageKit7/8

This property's type has changed from Long to LONG_PTR


HWND (ImageKit Control/ Custom Property)

This property refers to the window handle of the ImageKit Control.
[Visual Basic] imagekitcontrolname.HWND [= LONG_PTR ]
[Visual C++] [LONG_PTR = ]imagekitcontrolname.GetHWND()
[VB.NET] imagekitcontrolname.HWND[= Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.HWND[= int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version

Property Value

Hwnd is the window handle of the ImageKit Control.

Explanation

TheHWND property holds the ImageKit Control window handle. It is therefore possible, using this property value, to pass the window handle as an argument into various WindowsAPI.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.

Differences from ImageKit7/8

This property's name is now all capitals and its type has changed from Long to LONG_PTR


ImageAtLeftTop (ImageKit Control/ Custom Property)

This property sets the display position of an image that is smaller than the ImageKit control size

[Visual Basic] imagekitcontrolname.ImageAtLeftTop [= Boolean ]
[Visual C++] imagekitcontrolname.SetImageAtLeftTop(BOOL Val)
[VB.NET] imagekitcontrolname.ImageAtLeftTop [= Boolean ]
[C#.NET] imagekitcontrolname.ImageAtLeftTop [= bool ]

Property Value

Value | Explanation
True | The image is displayed at the top left corner of the ImageKit control
False | The image is displayed in the center of the ImageKit control

Explanation

The ImageAtLeftTop property determines where an image will be displayed when it is smaller than the ImageKit control. When this property is True, the image will be displayed in the top left corner of the ImageKit control. When this property is false, the image will be displayed in the center of the ImageKit control. The default value is false.

The ImageAtLeftTop property is enabled when scale display or actual size display is used. For details about the display mode, please refer to the DisplayMode property. If the image is larger than the ImageKit control then this property is disabled. In that case, the display location of the image is affected by the DispCenterX, DispCenterY, DispStartX, and DispStartY properties.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ImageHandle (ImageKit Control/ Custom Property)

This property refers to the image handle of the base image
[Visual Basic] imagekitcontrolname.ImageHandle[= LONG_PTR ]
[Visual C++] [LONG_PTR = ]imagekitcontrolname.GetImageHandle()
imagekitcontrolname.SetImageHandle(LONG_PTR Val)
[VB.NET] imagekitcontrolname.ImageHandle[= Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.ImageHandle[= int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version

Property Value

The image handle of the base image.

Explanation

The ImageHandle property refers to the image handle of the base image. Although it is possible to set the image handle of the image directly into the ImageHandle property, if the LayerNo property is set to -1 and the file is loaded then the image handle is automatically set in the ImageHandle property. It is possible to set either a raster or a vector image as the base image. In earlier versions of the ImageKit, the base image could only be a raster image but now the ImageKit Control will allow you to display either raster or vector image data as the base image.

Note that when your are in edit mode and the ImageHdc property is being used, even when the image data referred to by the ImageHandle property is altered, those changes will not be shown on the screen unless that image data is reloaded.

To disable the image data, set the ImageHandle property to 0. The image data referred to by this image handle will automatically be freed from the memory.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences from ImageKit7/8

This property's type has changed from Long to LONG_PTR


ImageHdc (ImageKit Control/ Custom Property)

This property refers to the displayed image's memory device context
[Visual Basic] imagekitcontrolname.ImageHdc[= LONG_PTR ]
[Visual C++] [LONG_PTR = ]imagekitcontrolname.GetImageHdc()
[VB.NET] imagekitcontrolname.ImageHdc[= Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.ImageHdc[= int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version

Property Value

The displayed image's memory device context.

Explanation

The ImageHdc property refers to the displayed image's memory device context. This property allows you to draw graphics and text on an image using one of the methods contained in ImageKit.PrintDraw. The ImageHdc property may be used when the Edit.EditEnable property is set to true, thus enabling the ImageKit10's edit mode, and when a raster image is set in the ImageHandle property. Note that in edit mode, graphics and text are drawn to the image data in the memory. To save those changes to the image data, execute the Edit.Modify method.

The ImageHdc property corresponds to the HdcMemory property in earlier versions of the ImageKit.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.

Differences from ImageKit7/8

This property's type has changed from Long to LONG_PTR


ImageHeight (ImageKit Control/ Custom Property)

This property refers to the height of the image in pixels.
[Visual Basic] imagekitcontrolname.ImageHeight [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetImageHeight()
[VB.NET] imagekitcontrolname.ImageHeight [= Integer ]
[C#.NET] imagekitcontrolname.ImageHeight [= int ]

Property Value

This property refers to the height of the image in pixels

Explanation

The ImageHeight property refers to the height of the image in pixels. When the ImageHandle property is set the values of the ImageHeight property and ImageWidth property are automatically set.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ImageKind (ImageKit Control/ Custom Property)

This property refers to the image type
[Visual Basic] imagekitcontrolname.ImageKind [= ImageKindConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetImageKind()
[VB.NET] imagekitcontrolname.ImageKind [= ImageKit10(A)Lib.ImageKindConstants ]
[C#.NET] imagekitcontrolname.ImageKind [= ImageKit10(A)Lib.ImageKindConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Unknown
1 | Raster image
2 | WMF
3 | EMF
4 | DXF
5 | SVG
6 | SXF

It is also possible to use the following constants (ikErrorImage = 0, ikRasterImage = 1, ikVectorWMF = 2, ikVectorEMF = 3, ikVectorDXF = 4, ikVectorSVG = 5, ikVectorSXF = 6).

Explanation

The ImageKind property refers to the image type. When the ImageHandle property is set the values of the ImageKind property are automatically set.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ImageSize (ImageKit Control/ Custom Property)

This property refers to the size of the image in bytes
[Visual Basic] imagekitcontrolname.ImageSize [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetImageSize()
[VB.NET] imagekitcontrolname.ImageSize [= Integer ]
[C#.NET] imagekitcontrolname.ImageSize [= int ]

Reference

The size of the image in bytes

Explanation

The ImageSize property refers to the size of the image in bytes. When the ImageHandle property is set the values of this property are automatically set.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ImageWidth (ImageKit Control/ Custom Property)

This property refers to the width of the image in pixels.
[Visual Basic] imagekitcontrolname.ImageWidth [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetImageWidth()
[VB.NET] imagekitcontrolname.ImageWidth [= Integer ]
[C#.NET] imagekitcontrolname.ImageWidth [= int ]

Property Value

This property refers to the width of the image in pixels

Explanation

The ImageWidth property refers to the width of the image in pixels. When the ImageHandle property is set the values of the ImageHeight property and ImageWidth property are automatically set.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ImageWidthByte (ImageKit Control/ Custom Property)

This property refers to the number of bytes per line in the image
[Visual Basic] imagekitcontrolname.ImageWidthByte [= Long]
[Visual C++] [long = ]imagekitcontrolname.GetImageWidthByte()
[VB.NET] imagekitcontrolname.ImageWidthByte [= Integer]
[C#.NET] imagekitcontrolname.ImageWidthByte [= int]

Reference

The number of bytes per line in the image.

Explanation

The ImageWidthByte property refers to the number of bytes per line in the image. When the ImageHandle property is set the values of the ImageWidthByte property are automatically set.

This property is not valid for vector data.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


InvalidHatchColor (ImageKit Control/ Custom Property)

This property sets the color of the hatch pattern shown in the ImageKit Control when an image is not displayed
[Visual Basic] imagekitcontrolname.InvalidHatchColor [= OLE_COLOR ]
[Visual C++] [unsigned long = ]imagekitcontrolname.GetInvalidHatchColor()
imagekitcontrolname.SetInvalidHatchColor(unsigned long Val)
[VB.NET] imagekitcontrolname.InvalidHatchColor [= Color ]
[C#.NET] imagekitcontrolname.InvalidHatchColor [= Color ]

Property Value

InvalidHatchColor - the color of the hatch pattern shown in the ImageKit Control when an image is not displayed.

Explanation

The InvalildHatchColor property sets the color of the hatch pattern shown in the ImageKit Control when an image is not displayed. Color can be set using RGB(Red, Green, Blue) or the equivalent value

Ex.
InvalidHatchColor = RGB(255, 0, 0)

Or

InvalidHatchColor = &H000000FF& (VisualBasic)

The InvalidHatchColor property is enabled when the value of the InvalidHatchPattern property is more than 1(ikShowHatch).

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


InvalidHatchPattern (ImageKit Control/ Custom Property)

Sets the pattern that is displayed in that portion of the ImageKit control not covered by an image. You can see this pattern most clearly before you load an image
[Visual Basic] imagekitcontrolname.InvalidHatchPattern [= InvalidHatchConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetInvalidHatchPattern()
imagekitcontrolname.SetInvalidHatchPattern(long Val)
[VB.NET] imagekitcontrolname.InvalidHatchPattern [= ImageKit10(A)Lib.InvalidHatchConstants ]
[C#.NET] imagekitcontrolname.InvalidHatchPattern [= ImageKit10(A)Lib.InvalidHatchConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Does not display the hatch pattern, instead, the color set in the BackColor property is used.
1 | Displays the hatch pattern.
2 | Does not display the hatch pattern, instead, the area is set to transparent. (Enabled when the image is displayed in scale display mode.)

It is also possible to use the following constants (ikNonHatch = 0, ikShowHatch = 1, ikTransparentHatch = 2).

Explanation

This is the pattern that is displayed in that portion of the ImageKit control not covered by an image. You can see this pattern most clearly before you load an image. The default value is 1(ikShowHatch). When the InvallidHatchPattern property is set to 1(ikShowHatch), the hatch pattern is displayed in the color set in the InvalidHatchColor property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


LayerNo (ImageKit Control/ Custom Property)

The ImageKit Control allows you to load, save, and process several images simultaneously. This property gets and sets the number of the image that has been or will be processed.
[Visual Basic] imagekitcontrolname.LayerNo [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetLayerNo()
imagekitcontrolname.SetLayerNo(short Val)
[VB.NET] imagekitcontrolname.LayerNo [= Short ]
[C#.NET] imagekitcontrolname.LayerNo [= short ]

Property Value

The number of the image (default is -1). A value of -1 refers to the base image. Values from 0 to 99 refer to the various image layers

Explanation

The ImageKit Control allows you to load, save, and process several images simultaneously. The LayerNo property refers to the number of the image that will be processed (or has been processed) when loading, saving, or applying an effect to an image. If you set the LayerNo property to -1 and load the image, then the loaded image's image handle will be set into the ImageHandle property. If you set the LayerNo property to a value other than -1 (i.e. from 0 to 99), then the image handle of the loaded image will be set into the Layer(LayerNo).ImageHandle property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Mask1632 (ImageKit Control/ Custom Property)

This property refers to the type of mask data in a 16bit color or 32bit color image
[Visual Basic] imagekitcontrolname.Mask1632 [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetMask1632()
[VB.NET] imagekitcontrolname.Mask1632 [= Short ]
[C#.NET] imagekitcontrolname.Mask1632 [= short ]

Reference

the type of mask data for 16bit color or 32bit color image

Value | Explanation
0 | The BitCount property is not 16 bit or 32 bit.
1 | Mask data exists (RGB555 format)
2 | Mask data exists (RGB565 format)
3 | Mask data does not exist (RGB555 format)
4 | Mask data exists (RGB888 format)
5 | Mask data does not exist (RGB888 format)

Explanation

The Mask1632 property refers to the type of mask data in a 16bit color or 32bit color image. After setting the ImageHandle property, the value of the Mask1632 property is automatically set. This property is not valid for vector data.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


MouseCursorFile (ImageKit Control/ Custom Property)

When using a custom mouse cursor in the ImageKit Control, this property sets the filename for that cursor file.
[Visual Basic] imagekitcontrolname.MouseCursorFile [= String ]
[Visual C++] [CString = ]imagekitcontrolname.GetMouseCursorFile()
imagekitcontrolname.SetMouseCursorFile(LPCTSTR Val)
[VB.NET] imagekitcontrolname.MouseCursorFile [= String ]
[C#.NET] imagekitcontrolname.MouseCursorFile [= string ]

Property Value

The name of the custom cursor file.

Explanation

When using a custom mouse cursor in the ImageKit Control, the MouseCursorFile property sets the filename for that cursor file. If an empty string is set in this property, the mouse cursor will be an arrow (Default). To enable this property the MouseCursorType property must be set to 15 (ikCustom).

In earlier versions of the ImageKit, this was the MouseCursorTypeFile property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


MouseCursorType (ImageKit Control/ Custom Property)

This property sets the shape of the mouse cursor used in the ImageKit Control.
[Visual Basic] imagekitcontrolname.MouseCursorType [= CursorTypeConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetMouseCursorType()
imagekitcontrolname.SetMouseCursorType(long Val)
[VB.NET] imagekitcontrolname.MouseCursorType [= ImageKit10(A)Lib.CursorTypeConstants ]
[C#.NET] imagekitcontrolname.MouseCursorType [= ImageKit10(A)Lib.CursorTypeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Standard arrow (Default)
1 | Standard arrow and small hourglass
2 | Crosshair
3 | Standard arrow and question mark
4 | I-beam
6 | Forbidden mark
8 | 4 direction arrow
9 | Double-pointed arrow pointing northeast and southwest
10 | Double-pointed arrow pointing north and south
11 | Double-pointed arrow pointing northwest and southeast
12 | Double-pointed arrow pointing west and east
13 | Vertical arrow
14 | Hourglass
15 | Custom
16 | Hidden
17 | Image-editing toolbars default cursor

It is also possible to use the following constants (ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2,
                ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8,
                ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11,
                ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom =
                15, ikCursorNoShow = 16, ikCursorDefault = 17).

Explanation

The MouseCursorType property sets the shape of the mouse cursor used in the ImageKit Control. When the MouseCursorType property is set to 15 (ikCursorCustom), a cursor file name must be set in the MouseCursorTypeFile property. When the MouseCursorType property is 17 (ikCursorDefault), the cursors that are designated by the ImageKit as the default cursors for each of the buttons on the image editing toolbars are used.

Note: This property is different from the RectMouseCursorType property which sets the shape of the cursor when the mouse is dragged in the ImageKit Control.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


MouseDragImage (ImageKit Control/ Custom Property)

This property sets whether or not the image in the ImageKit Control can be scrolled by dragging it with the mouse.
[Visual Basic] imagekitcontrolname.MouseDragImage [= Boolean ]
[Visual C++] [Bool = ]imagekitcontrolname.GetMouseDragImage()
imagekitcontrolname.SetMouseDragImage(BOOL Val)
[VB.NET] imagekitcontrolname.MouseDragImage [= Boolean ]
[C#.NET] imagekitcontrolname.MouseDragImage [= bool ]

Property Value

Value | Explanation
True | The image can be scrolled with the mouse.
False | The image cannot be scrolled with the mouse

Explanation

The MouseDragImage property sets whether or not the image in the ImageKit Control can be scrolled by dragging it with the mouse. When this property is set to True, the image can be scrolled with the mouse.

In earlier versions of the ImageKit, this was the ScrollDrag property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


MouseWheel (ImageKit Control/ Custom Property)

This property sets whether the mouse wheel can be used to scroll
[Visual Basic] imagekitcontrolname.MouseWheel [= MouseWheelConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetMouseWheel()
imagekitcontrolname.SetMouseWheel(long Val)
[VB.NET] imagekitcontrolname.MouseWheel [= ImageKit10(A)Lib.MouseWheelConstants ]
[C#.NET] imagekitcontrolname.MouseWheel [= ImageKit10(A)Lib.MouseWheelConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Disables scrolling with the mouse wheel
1 | Mouse scrolls in a vertical direction
2 | Mouse scrolls in a horizontal direction

It is also possible to use the following constants (ikDisable = 0, ikVertical = 1, ikHorizontal = 2).

Explanation

The MouseWheel property sets whether the mouse wheel can be used to scroll. To enable the mouse wheel to scroll, set this property to a value other than 0 (ikDisable).
When using this property in Visual Basic.NET or Visual C#.NET, describe this property as the CtlMouseWheel.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


PalBlue (ImageKit Control/ Custom Property)

This property refers to the blue value of the pixel at the clicked location in the base image in the ImageKit Control
[Visual Basic] imagekitcontrolname.PalBlue [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetPalBlue()
[VB.NET] imagekitcontrolname.PalBlue [= Short ]
[C#.NET] imagekitcontrolname.PalBlue [= short ]

Reference

Values range from 0 to 255.

Explanation

You can easily retrieve color information from the base image displayed in the ImageKit Control. All you need to do is to click on the color in the base image that you want to retrieve and the respective RGB values for that pixel are set in the PalRed, PalGreen and PalBlue properties. The PalBlue property refers to the blue value of the pixel at the clicked location in the base image in the ImageKit Control.

This property is used most often to make transparent GIF or PNG files. In order to set a color to be transparent in a GIF or PNG image you must use the File.PalRed, File.PalGreen, and File.PalBlue properties. Although you can set these properties directly, it is sometimes difficult to know the exact color to set. One easy way is to click on the color in the image that you want to be transparent, then pass the retrieved RGB values from the PalRed, PalGreen and PalBlue properties to the File.PalRed, File.PalGreen, and File.PalBlue properties.

Another way to retrieve the RGB values is by using the ImageKit.PrintDraw's GetPixel method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


PalCount (ImageKit Control/ Custom Property)

This property refers to the number of palette colors for the image
[Visual Basic] imagekitcontrolname.PalCount [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetPalCount()
[VB.NET] imagekitcontrolname.PalCount [= Short ]
[C#.NET] imagekitcontrolname.PalCount [= short ]

Reference

The number of palette colors for the image. This property value is valid when the BitCount property is less than 8, otherwise 0 is returned.

Explanation

The PalCount property refers to the number of palette colors for the image. After setting the ImageHandle property, the value of the PalCount property is automatically set. This property is not valid for vector data.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


PalGreen (ImageKit Control/ Custom Property)

This property refers to the green value of the pixel at the clicked location in the base image in the ImageKit Control
[Visual Basic] imagekitcontrolname.PalGreen [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetPalGreen()
[VB.NET] imagekitcontrolname.PalGreen [= Short ]
[C#.NET] imagekitcontrolname.PalGreen [= short ]

Reference

Values range from 0 to 255.

Explanation

You can easily retrieve color information from the base image displayed in the ImageKit Control. All you need to do is to click on the color in the base image that you want to retrieve and the respective RGB values for that pixel are set in the PalRed, PalGreen and PalBlue properties. The PalGreen property refers to the green value of the pixel at the clicked location in the base image in the ImageKit Control.

This property is used most often to make transparent GIF or PNG files. In order to set a color to be transparent in a GIF or PNG image you must use the File.PalRed, File.PalGreen, and File.PalBlue properties. Although you can set these properties directly, it is sometimes difficult to know the exact color to set. One easy way is to click on the color in the image that you want to be transparent, then pass the retrieved RGB values from the PalRed, PalGreen and PalBlue properties to the File.PalRed, PalGreen, and File.PalBlue properties.

Another way to retrieve the RGB values is by using the ImageKit.PrintDraw's GetPixel method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


PalRed (ImageKit Control/ Custom Property)

This property refers to the red value of the pixel at the clicked location in the base image in the ImageKit Control
[Visual Basic] imagekitcontrolname.PalRed [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetPalRed()
[VB.NET] imagekitcontrolname.PalRed [= Short ]
[C#.NET] imagekitcontrolname.PalRed [= short ]

Reference

Values range from 0 to 255.

Explanation

You can easily retrieve color information from the base image displayed in the ImageKit Control. All you need to do is to click on the color in the base image that you want to retrieve and the respective RGB values for that pixel are set in the PalRed, PalGreen and PalBlue properties. The PalRed property refers to the red value of the pixel at the clicked location in the base image in the ImageKit Control.

This property is used most often to make transparent GIF or PNG files. In order to set a color to be transparent in a GIF or PNG image you must use the File.PalRed, File.PalGreen, and File.PalBlue properties. Although you can set these properties directly, it is sometimes difficult to know the exact color to set. One easy way is to click on the color in the image that you want to be transparent, then pass the retrieved RGB values from the PalRed, PalGreen and PalBlue properties to the File.PalRed, File.PalGreen, and File.PalBlue properties.

Another way to retrieve the RGB values is by using the ImageKit.PrintDraw's GetPixel method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


Picture (ImageKit Control/ Custom Property)

This property allows a raster image or a vector image to be passed between the ImageKit and a VisualBasic Picture object or a C#.NET/VB.NET Image object.
[Visual Basic] imagekitcontrolname.Picture [= Picture ]
[C#.Net] imagekitcontrolname.Picture [= Image ]
[VB.Net] imagekitcontrolname.Picture [= Image ]

Reference

This value refers to the VisualBasic Picture object or the C#.NET/VB.NET Image object.

Explanation

It's possible to pass either a raster image or a vector image from the ImageKit to the VisualBasic Picture object. However, with the C#.NET/VB.NET Image object, although you can pass a vector image from the ImageKit Control, the vector image is converted to a raster image in the C#.NET/VB.NET Image object.

In Visual Basic:

(1) From a PictureBox to the ImageKit:

ImageKit1.Picture = Picture1.Picture

(2) From the ImageKIt to a PictureBox

Picture1.Picture = ImageKit1.Picture

In VB.NET/ C#.Net: (In C# there must be a semicolon at the end of each line)

(1) From a PictureBox to the ImageKit:

ImageKit1.Picture = PictureBox1.Image

(2) From the ImageKit to a PictureBox

PictureBox1.Image = ImageKit1.Picture

Note: At runtime, prior to setting the Picture(Image) object to the Picture property, it is necessary to free any previous contents of the Picture property from the memory.

In Visual Basic:

Set Picture1.Picture = LoadPicture(path)

ImageKit1.Picture = LoadPicture()

ImageKit1.Picture = Picture1.Picture

In VB.NET:

PictureBox1.Image = Image.FromFile(path)

ImageKit1.Picture = Nothing

ImageKit1.Picture = PictureBox1.Image

In C#.NET:

PictureBox1.Image = Image.FromFile(path);

ImageKit1.Picture = null;

ImageKit1.Picture = PictureBox1.Image

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


RectBottom (ImageKit Control/ Custom Property)

This property refers to the bottom coordinate of the selected area in the ImageKit Control.
[Visual Basic] imagekitcontrolname.RectBottom [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetRectBottom()
imagekitcontrolname.SetRectBottom(long Val)
[VB.NET] imagekitcontrolname.RectBottom [= Integer ]
[C#.NET] imagekitcontrolname.RectBottom [= int ]

Property Value

The distance in pixels that the bottom of the selected area is from the origin (the top left corner of the image)

Explanation

The RectBottom property refers to the bottom coordinate of the selected area in the ImageKit Control.

The RectBottom, RectLeft, RectRight, and RectTop properties refer to the coordinates of the selected area in the ImageKit Control. The RectTop and RectLeft properties set the top left corner of the selected area. Whereas the RectBottom and RectRight properties set the bottom right corner of the selected area.

By setting the RectDraw property to True, an area in the base image can be selected either by dragging the mouse or by setting the values directly in the RectBottom, RectLeft, RectRight, and RectTop properties. If the mouse is used to draw the selected area then the corresponding values for each of these properties are automatically set. The color of the selected area can be set in the RectColor1, RectColor2 properties. The line is displayed as a dotted line. The blink speed of the dotted line can be set at the BlinkSpeed property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


RectColor1 (ImageKit Control/ Custom Property)

This property and the RectColor2 property set the colors of the dotted line that distinguishes the selected area in the ImageKit Control
[Visual Basic] imagekitcontrolname.RectColor1 [= OLE_COLOR ]
[Visual C++] [unsigned long = ]imagekitcontrolname.GetRectColor1()
imagekitcontrolname.SetRectColor1(unsigned long Val)
[VB.NET] imagekitcontrolname.RectColor1 [= Color ]
[C#.NET] imagekitcontrolname.RectColor1 [= Color ]

Property Value

RectColor1 - one of the colors in the dotted line that distinguishes the selected area in the ImageKit Control.
RectColor2 - the other color in the dotted line that distinguishes the selected area in the ImageKit Control.

Explanation

The RectColor1 property and the RectColor2 property set the colors of the dotted line that distinguishes the selected area in the ImageKit Control. Color can be set using RGB(Red, Green, Blue) or the equivalent value.

Ex.
RectColor1 = RGB(255, 0, 0)

Or

RectColor1 = &H000000FF& (VisualBasic)

The RectColor1 and RectColor2 properties are enabled when the RectDraw property is true.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


RectColor2 (ImageKit Control/ Custom Property)

This property and the RectColor1 property set the colors of the dotted line that distinguishes the selected area in the ImageKit Control
[Visual Basic] imagekitcontrolname.RectColor2 [= OLE_COLOR ]
[Visual C++] [unsigned long = ]imagekitcontrolname.GetRectColor2()
imagekitcontrolname.SetRectColor2(unsigned long Val)
[VB.NET] imagekitcontrolname.RectColor2 [= Color ]
[C#.NET] imagekitcontrolname.RectColor2 [= Color ]

Property Value

RectColor1 - one of the colors in the dotted line that distinguishes the selected area in the ImageKit Control.
RectColor2 - the other color in the dotted line that distinguishes the selected area in the ImageKit Control.

Explanation

The RectColor2 property and the RectColor1 property set the colors of the dotted line that distinguishes the selected area in the ImageKit Control. Color can be set using RGB(Red, Green, Blue) or the equivalent value.

Ex.
RectColor2 = RGB(255, 0, 0)

Or

RectColor2 = &H000000FF& (VisualBasic)

The RectColor1 and RectColor2 properties are enabled when the RectDraw property is true.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


RectDraw (ImageKit Control/ Custom Property)

This property sets whether area can be selected on the base image displayed in the ImageKit Control. An area can be selected either by a mouse drag or by setting the RectBottom, RectLeft, RectRight, and RectTop properties.
[Visual Basic] imagekitcontrolname.RectDraw[= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetRectDraw()
imagekitcontrolname.SetRectDraw(BOOL Val)
[VB.NET] imagekitcontrolname.RectDraw[= Boolean ]
[C#.NET] imagekitcontrolname.RectDraw[= bool ]

Property Value

Value | Explanation
True (default) | An area on the image can be selected.
False | An area on the image cannot be selected.

Explanation

When the RectDraw property is True, an area on the base image can be selected by either using a mouse drag or by setting the RectBottom, RectLeft, RectRight, and RectTop properties directly. If an area has been selected by dragging the mouse then the coordinates for the selected area are set in the RectBottom, RectLeft, RectRight, and RectTop properties.

Note: When an area has been selected on the image, the border of the selected area is displayed in alternating colors. These colors are determined by the RectColor1 and RectColor2 properties and the speed that they alternate is determined by the BlinkSpeed property.

When the MouseDragImage property is True, even if the RectDraw property is True, an area on the image cannot selected or a selected area cannot moved with the mouse.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


RectDrawFix (ImageKit Control/ Custom Property)

This property sets whether or not the selected area drawn on the base image in the ImageKit Control can be resized with the mouse
[Visual Basic] imagekitcontrolname.RectDrawFix [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetRectDrawFix()
imagekitcontrolname.SetRectDrawFix(BOOL Val)
[VB.NET] imagekitcontrolname.RectDrawFix [= Boolean ]
[C#.NET] imagekitcontrolname.RectDrawFix [= bool ]

Property Value

Value | Explanation
True | The selected area cannot be resized with the mouse.
False | The selected area can be resized with the mouse.

Explanation

If the RectDrawFix property is True, the RectDraw property must also be True. This will fix the size of the selected area drawn on the base image in the ImageKit Control. It cannot be resized using the mouse. (It can however be moved with the mouse.) If this property is not set, the rectangular area can be resized with the mouse. (Default value is False).

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


RectDrawRatio (ImageKit Control/ Custom Property)

When using the mouse to select an area on the image, this property sets the ratio of the height to the width in that selected area
[Visual Basic] imagekitcontrolname.RectDrawRatio[= Double ]
[Visual C++] [double = ]imagekitcontrolname.GetRectDrawRatio()
imagekitcontrolname.SetRectDrawRatio(double Val)
[VB.NET] imagekitcontrolname.RectDrawRatio[= Double ]
[C#.NET] imagekitcontrolname.RectDrawRatio[= double ]

Property Value

The ratio of the height to the width in the selected area (default value is 0 meaning ratio is not set)

Explanation

When using the mouse to select an area on the image, RectDrawRatio property sets the ratio of the height to the width in that selected area. For this property to be enabled, the RectDraw property must be True. When the RectDrawRatio property is 0 (default value) there is no set ratio between the height and width of the selected area. Since the ratio is defined as heigth/width, values of more than 1 mean that the height of the selected area will be greater than the width. Likewise values less than 1 mean the width will be greater than the length.

Below is a code snippet that illustrates how to set the ratio of the height and width in the selected area to be the same as in the currently displayed image.

In Visual Basic:

Dim Ret As Boolean

ImageKit1.LayerNo = -1

Ret = ImageKit1.GetImageType()

If Ret = False Then Exit Sub

ImageKit1.RectDrawRatio = ImageKit1.ImageHeight / ImageKit1.ImageWidth

ImageKit1.RectDraw = True

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


RectLeft (ImageKit Control/ Custom Property)

This property refers to the left coordinate of the selected area in the ImageKit Control.
[Visual Basic] imagekitcontrolname.RectLeft [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetRectLeft()
imagekitcontrolname.SetRectLeft(long Val)
[VB.NET] imagekitcontrolname.RectLeft [= Integer ]
[C#.NET] imagekitcontrolname.RectLeft [= int ]

Property Value

The distance in pixels that the left side of the selected area is from the origin (the top left corner of the image)

Explanation

The RectLeft property refers to the left coordinate of the selected area in the ImageKit Control.

The RectBottom, RectLeft, RectRight, and RectTop properties refer to the coordinates of the selected area in the ImageKit Control. The RectTop and RectLeft properties set the top left corner of the selected area. Whereas the RectBottom and RectRight properties set the bottom right corner of the selected area.

By setting the RectDraw property to True, an area in the base image can be selected either by dragging the mouse or by setting the values directly in the RectBottom, RectLeft, RectRight, and RectTop properties. If the mouse is used to draw the selected area then the corresponding values for each of these properties are automatically set. The color of the selected area can be set in the RectColor1, RectColor2 properties. The line is displayed as a dotted line. The blink speed of the dotted line can be set at the BlinkSpeed property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


RectMouseCursorFile (ImageKit Control/ Custom Property)

This property sets the filename for the cursor file that defines the shape of the cursor when the mouse is dragged within the ImageKit Control.
[Visual Basic] imagekitcontrolname.RectMouseCursorFile [= String ]
[Visual C++] [CString = ]imagekitcontrolname.GetRectMouseCursorFile()
imagekitcontrolname.SetRectMouseCursorFile(LPCTSTR Val)
[VB.NET] imagekitcontrolname.RectMouseCursorFile [= String ]
[C#.NET] imagekitcontrolname.RectMouseCursorFile [= string ]

Property Value

Cursor file name.

Explanation

The RectMouseCursorFile property sets the filename for the cursor file that defines the shape of the cursor when the mouse is dragged within the ImageKit Control or when the mouse is within the selected area in the ImageKit Control. This property is enabled when the RectMouseCursorType property is set to 15 (ikCursorCustom). When an empty string is set into the RectMouseCursorFile property, the cursor will be a 4-direction arrow.

The cursor will be displayed when the RectDraw property is True and an area has been selected on the image (the RectLeft, RectTop, RectRight, and RectBottom properties are set) and the mouse button has been pressed while the cursor is within the selected area. If the image-editing toolbars are being used or the MouseDragImage property is true, then the cursor will change when the mouse is dragged on the image to scoll.

To set the cursor shape when the mouse cursor is inside the ImageKit Control, please refer to the MouseCursorType property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


RectMouseCursorType (ImageKit Control/ Custom Property)

This property sets the shape of the mouse cursor when the mouse is dragged within the ImageKit Control.
[Visual Basic] imagekitcontrolname.RectMouseCursorType [= CursorTypeConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetRectMouseCursorType()
imagekitcontrolname.SetRectMouseCursorType(long Val)
[VB.NET] imagekitcontrolname.RectMouseCursorType [= ImageKit10(A)Lib.CursorTypeConstants ]
[C#.NET] imagekitcontrolname.RectMouseCursorType [= ImageKit10(A)Lib.CursorTypeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Standard arrow (Default)
1 | Standard arrow and small hourglass
2 | Crosshair
3 | Standard arrow and question mark
4 | I-beam
6 | (This is no longer a valid setting. Default cursor will be used)
8 | Four-pointed arrow
9 | Double-pointed arrow pointing northeast and southwest
10 | Double-pointed arrow pointing north and south
11 | Double-pointed arrow pointing northwest and southeast
12 | Double-pointed arrow pointing west and east
13 | Vertical arrow
14 | Hourglass
15 | Custom
16 | Hidden
17 | Image-editing toolbars default cursor

It is also possible to use the following constants (ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2,
                ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8,
                ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11,
                ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom =
                15, ikCursorNoShow = 16, ikCursorDefault = 17).

Explanation

The RectMouseCursorType property sets the shape of the mouse cursor when the mouse is dragged within the ImageKit Control. When this property is set to 15 (ikCursorCustom), a cursor file name must be set in the RectMouseCursorFile property.

Note: This property is different from the MouseCursorType property which sets the shape of the cursor within the ImageKit Control.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


RectRight (ImageKit Control/ Custom Property)

This property refers to the right coordinate of the selected area in the ImageKit Control.
[Visual Basic] imagekitcontrolname.RectRight [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetRectRight()
imagekitcontrolname.SetRectRight(long Val)
[VB.NET] imagekitcontrolname.RectRight [= Integer ]
[C#.NET] imagekitcontrolname.RectRight [= int ]

Property Value

The RectRight property refers to the right coordinate of the selected area in the ImageKit Control.

The RectBottom, RectLeft, RectRight, and RectTop properties refer to the coordinates of the selected area in the ImageKit Control. The RectTop and RectLeft properties set the top left corner of the selected area. Whereas the RectBottom and RectRight properties set the bottom right corner of the selected area.

By setting the RectDraw property to True, an area in the base image can be selected either by dragging the mouse or by setting the values directly in the RectBottom, RectLeft, RectRight, and RectTop properties. If the mouse is used to draw the selected area then the corresponding values for each of these properties are automatically set. The color of the selected area can be set in the RectColor1, RectColor2 properties. The line is displayed as a dotted line. The blink speed of the dotted line can be set at the BlinkSpeed property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


RectTop (ImageKit Control/ Custom Property)

This property refers to the top coordinate of the selected area in the ImageKit Control.
[Visual Basic] imagekitcontrolname.RectTop [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetRectTop()
imagekitcontrolname.SetRectTop(long Val)
[VB.NET] imagekitcontrolname.RectTop [= Integer ]
[C#.NET] imagekitcontrolname.RectTop [= int ]

Property Value

The distance in pixels that the top of the selected area is from the origin (the top left corner of the image)

Explanation

The RectTop property refers to the top coordinate of the selected area in the ImageKit Control.

The RectBottom, RectLeft, RectRight, and RectTop properties refer to the coordinates of the selected area in the ImageKit Control. The RectTop and RectLeft properties set the top left corner of the selected area. Whereas the RectBottom and RectRight properties set the bottom right corner of the selected area.

By setting the RectDraw property to True, an area in the base image can be selected either by dragging the mouse or by setting the values directly in the RectBottom, RectLeft, RectRight, and RectTop properties. If the mouse is used to draw the selected area then the corresponding values for each of these properties are automatically set. The color of the selected area can be set in the RectColor1, RectColor2 properties. The line is displayed as a dotted line. The blink speed of the dotted line can be set at the BlinkSpeed property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Refine1BitImage (ImageKit Control/ Custom Property)

This property sets whether or not a 1 bit color image, a 4 bit grayscale image, or an 8 bit grayscale image will be displayed in high quality in the ImageKit Control. This property has been deprecated. Use the StretchMode property instead.
[Visual Basic] imagekitcontrolname.Refine1BitImage[= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetRefine1BitImage()
imagekitcontrolname.SetRefine1BitImage(BOOL Val)
[VB.NET] imagekitcontrolname.Refine1BitImage[= Boolean ]
[C#.NET] imagekitcontrolname.Refine1BitImage[= bool ]

Property Value

Value | Explanation
True | Images will be displayed in high quality. (Default)
False | Images will be displayed as normal.

Explanation

The Refine1BitImage property refers to whether a 1 bit color image, a 4 bit grayscale image, or an 8 bit grayscale image, displayed in the ImageKit Control, is displayed in high quality. Default value is True. It is enabled whenever a supported image is displayed.

If the Edit.EditEnable property is True or if the BackgroundImageFile property has been set with a valid file, the Refine1BitImage property is disabled and the image will be displayed as normal.

IMPORTANT: This property has been deprecated. It is being maintained to provide backward compatibility with the ImageKit7 ActiveX. Please use the StretchMode property instead.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.

[Differences between the ImageKit7 ActiveX]

The Refine1BitImage property value can now only be set at runtime. It can no longer be set at design time. To receive the same results as the ImageKit7, set the StretchMode property to 0 (ikRefineImage).


RefineColorImage (ImageKit Control/ Custom Property)

This property sets whether or not a 24 or 32 bit color image will be displayed in high quality when it is reduced in size. (When the image is larger than the ImageKit Control). This property has been deprecated. Use the StretchMode property instead.
[Visual Basic] imagekitcontrolname.RefineColorImage[= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetRefine1BitImage()
imagekitcontrolname.RefineColorImage(BOOL Val)
[VB.NET] imagekitcontrolname.RefineColorImage[= Boolean ]
[C#.NET] imagekitcontrolname.RefineColorImage[= bool ]

Property Value

Value | Explanation
True | Images will be displayed in high quality.
False | Images will be displayed as normal. (Default)

Explanation

The RefineColorImage property refers to whether a 24 or 32 bit color image, displayed in the ImageKit Control, is displayed in high quality when it's size is reduced. (This occurs when the image displayed is larger than the ImageKit Control and the display mode is not actual size.) The default value is False.

If that even if the RefineColorImage property is True or if the BackgroundImageFile property has been set with a valid file, when the Edit.EditEnable property is True, image will be displayed as normal and not in High Quality display.

IMPORTANT: This property has been deprecated. It is being maintained to provide backward compatibility with the ImageKit7 ActiveX. Please use the StretchMode property instead.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.

[Differences between the ImageKit7 ActiveX]

The Refine1BitImage property value can now only be set at runtime. It can no longer be set at design time. To receive the same results as the ImageKit7, set the StretchMode property to 0 (ikRefineImage).


ScrollBar (ImageKit Control/ Custom Property)

This property sets whether or not scroll bars are displayed on the ImageKit Control
[Visual Basic] imagekitcontrolname.ScrollBar[= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetScrollBar()
imagekitcontrolname.SetScrollBar(BOOL Val)
[VB.NET] imagekitcontrolname.ScrollBar[= Boolean ]
[C#.NET] imagekitcontrolname.ScrollBar[= bool ]

Property Value

Value | Explanation
True | Displays scroll bars on the Imagekit Control.
False | Does not display scroll bars on the Imagekit Control. (Default)

Explanation

The ScrollBar property sets whether or not scroll bars are displayed on the ImageKit Control. The default value is False. When the ScrollBar property is True, if an image does not fit within the ImageKit Control, scroll bars will appear and can be used to scroll the image.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ScrollHeight (ImageKit Control/ Custom Property)

This property sets the height of the scroll for the image displayed in the ImageKit Control (in pixels)
[Visual Basic] imagekitcontrolname.ScrollHeight[= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetScrollHeight()
imagekitcontrolname.SetScrollHeight(long Val)
[VB.NET] imagekitcontrolname.ScrollHeight[= Integer ]
[C#.NET] imagekitcontrolname.ScrollHeight[= int ]

Reference

The size of the scroll in pixels. (must be 1 or more). By setting the ScrollHeight and ScrollWidth properties to 0, the scroll function becomes ineffective. The default value is 10.

Explanation

The ScrollHeight property sets the number of pixels of vertical scroll. To scroll vertically, set the ScrollHeight property only. To scroll horizontally, set the ScrollWidth property only. To scroll diagonally, set both of these properties. After setting these properties, execute the ScrollImage method. These functions are particularly useful to link scrolling to a button click or other event.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ScrollWidth (ImageKit Control/ Custom Property)

This property sets the width of the scroll for the image displayed in the ImageKit Control (in pixels)
[Visual Basic] imagekitcontrolname.ScrollWidth [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetScrollWidth()
imagekitcontrolname.SetScrollWidth(long Val)
[VB.NET] imagekitcontrolname.ScrollWidth[= Integer ]
[C#.NET] imagekitcontrolname.ScrollWidth[= int ]

Reference

The size of the scroll in pixels. (must be 1 or more). By setting the ScrollHeight and ScrollWidth properties to 0, the scroll function becomes ineffective. The default value is 10.

Explanation

The ScrollWidth property sets the width of the scroll for the image displayed in the ImageKit Control (in pixels). The ScrollHeight property sets the number of pixels of vertical scroll. To scroll vertically, set the ScrollHeight property only. To scroll horizontally, set the ScrollWidth property only. To scroll diagonally, set both of these properties. After setting these properties, execute the ScrollImage method. These functions are particularly useful to link scrolling to a button click or other event.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ShowBackgroundImage (ImageKit Control/ Custom Property)

This property sets whether or not an image will be displayed in the ImageKit Control background.
[Visual Basic] imagekitcontrolname.ShowBackgroundImage[= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetShowBackgroundImage()
imagekitcontrolname.SetShowBackgroundImage(BOOL Val)
[VB.NET] imagekitcontrolname.ShowBackgroundImage[= Boolean ]
[C#.NET] imagekitcontrolname.ShowBackgroundImage[= bool ]

Property Value

Value | Explanation
True (default) | The image will be displayed in the ImageKit Control background
False | The image will not be displayed in the ImageKit Control background

Explanation

The ShowBackgroundImage property sets whether or not an image will be displayed in the ImageKit Control background. Set the background image to be displayed using the BackgroundImageFile property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ShowInDisp (ImageKit Control/ Custom Property)

This property sets whether or not the base image is displayed in the ImageKit Control
[Visual Basic] imagekitcontrolname.ShowInDisp[= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetShowInDisp()
imagekitcontrolname.SetShowInDisp(BOOL Val)
[VB.NET] imagekitcontrolname.ShowInDisp[= Boolean ]
[C#.NET] imagekitcontrolname.ShowInDisp[= bool ]

Property Value

The ShowInDisp property sets whether or not the base image is displayed in the ImageKit Control.

Value | Explanation
True | Displays the base image (Default)
False | Does not display the base image

Explanation

Using this property, you can switch between displaying or hiding the base image. (The base image is the image pointed to by the ImageHandle property). The default value is True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ShowInMagnifier (ImageKit Control/ Custom Property)

This property sets whether or not the base image is displayed in the Magnifier window.
[Visual Basic] imagekitcontrolname.ShowInMagnifier [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetShowInMagnifier()
imagekitcontrolname.SetShowInMagnifier(BOOL Val)
[VB.NET] imagekitcontrolname.ShowInMagnifier[= Boolean ]
[C#.NET] imagekitcontrolname.ShowInMagnifier[= bool ]

Property Value

The ShowInMagnifier property sets whether or not the base image is displayed in the Magnifier window.

Value | Explanation
True | Displays the base image (Default)
False | Does not display the base image

Explanation

Using this property, you can switch between displaying or hiding the base image in the Magnifier window. (The base image is the image pointed to by the ImageHandle property). The default value is True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ShowInPanWindow (ImageKit Control/ Custom Property)

This property sets whether or not the base image is displayed Pan window.
[Visual Basic] imagekitcontrolname.ShowInPanWindow [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetShowInPanWindow()
imagekitcontrolname.SetShowInPanWindow(BOOL Val)
[VB.NET] imagekitcontrolname.ShowInPanWindow[= Boolean ]
[C#.NET] imagekitcontrolname.ShowInPanWindow[= bool ]

Property Value

The ShowInPanWindow property sets whether or not the base image is displayed in the Pan window.

Value | Explanation
True | Displays the base image (Default)
False | Does not display the base image

Explanation

Using this property, you can switch between displaying or hiding the base image in the Pan window. (The base image is the image pointed to by the ImageHandle property). The default value is True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


SimpleDispCtrl (ImageKit Control/ Custom Property)

This property allows you to limit the ImageKit Control to displaying only to the base image
[Visual Basic] imagekitcontrolname.SimpleDispCtrl= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetSimpleDispCtrl()
imagekitcontrolname.SetSimpleDispCtrl(BOOL Val)
[VB.NET] imagekitcontrolname.SimpleDispCtrl= Boolean ]
[C#.NET] imagekitcontrolname.SimpleDispCtrl= bool ]

Property Value

Value | Explanation
True | Limits the ImageKit Control to displaying only the base image.
False (default) | ImageKit Control functionality is as normal which means it can display the, background image, the base image and the various image layer images.

Explanation

The SimpleDispCtrl property allows you to limit the ImageKit Control to displaying only to the base image. The default value is False.

When not using the editing functionality (either the Image Editing Toolbars or the HdcMemory property) or when not displaying multiple image layers, setting the SimpleDispCtrl property to True results in increased speed displaying images. When the SimpleDispCtrl property is True, the Grid functionality is disabled. (The base image refers to the image set in the ImageHandle property)

Sample code to limit the ImageKit Control to only the base image...

In Visual Basic:

ImageKit1.LayerNo = -1
ImageKit1.DisplayMode = ikActualSize
ImageKit1.File.FileName = "c:\abc.jpg"
ImageKit1.File.LoadFile ikLoad
ImageKit1.Edit.EditEnable = False
ImageKit1.SimpleDispCtrl = True
ImageKit1.DisplayImage 'Disabled when AutoDisplay is True

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


StretchMode (ImageKit Control/ Custom Property)

This property sets the mode used to expand or contract the bitmap.

[Visual Basic] imagekitcontrolname.StretchMode[= StretchModeConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetStretchMode()
imagekitcontrolname.SetStretchMode(long Val)
[VB.NET] imagekitcontrolname.StretchMode[= ImageKit10(A)Lib.StretchModeConstants ]
[C#.NET] imagekitcontrolname.StretchMode[= ImageKit10(A)Lib.StretchModeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | ImageKit high quality display function for expanding and contracting bitmaps. (Using this setting is the same as setting the Refine1BitImage and RefineColorImage properties to True)
1 | Performs a Boolean AND operation using the color values for the eliminated and existing pixels. If the bitmap is a monochrome bitmap, this mode preserves black pixels at the expense of white pixels. (BLACKONWHITE)
2 | Performs a Boolean OR operation using the color values for the eliminated and existing pixels. If the bitmap is a monochrome bitmap, this mode preserves white pixels at the expense of black pixels. (WHITEONBLACK)
3 (Default value) | Deletes the pixels. This mode deletes all eliminated lines of pixels without trying to preserve their information. (COLORONCOLOR)
4 | Maps pixels from the source rectangle into blocks of pixels in the destination rectangle. The average color over the destination block of pixels approximates the color of the source pixels. (HALFTONE)

The value in the parentheses () are the same constants used by Windows API

The following constants can be used: ikRefineImage = 0, ikBlackOnWhite = 1, ikWhiteOnBlack = 2, ikColorOnColor = 3, ikHalftone = 4

Explanation

The StretchMode property sets the mode used to expand or contract the bitmap. The default value is 3 (ikColorOnColor). When this property is set to values ranging from 1 to 4, images are processed in the same way as the Windows API SetStretchBitMode function.

Values 1 (ikBlackOnWhite) and 2 (ikWhiteOnBlack) are low quality but faster than the high quality value 3 (ikColorOnColor). Value 4 (ikHalftone) is high quality as well but also slower than values 1 or 2. We recommend that you use value 3 (ikColorOnColor) for most images and when contracting bitmaps, use 4 (ikHalftone).

Even when using 0(ikRefineImage), if the Edit.EditEnable property is true, the image will be displayed without high quality display (i.e. it will be displayed as is).

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]
Setting the StretchMode property to 0 (ikRefineImage) is the same as using the IK7 Refine1BitImage and RefineColorImage properties.


ToolTip (ImageKit Control/ Custom Property)

This property sets the units of measurement at which the tool tip coordinates are displayed.
[Visual Basic] imagekitcontrolname.ToolTip [= UnitConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetToolTip()
imagekitcontrolname.SetToolTip(long Val)
[VB.NET] imagekitcontrolname.ToolTip [= ImageKit10(A)Lib.UnitConstants ]
[C#.NET] imagekitcontrolname.ToolTip [= ImageKit10(A)Lib.UnitConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | None
1 | Pixels
2 | Millimeters
3 | Inches

It is also possible to use the following constants:(ikNone = 0, ikPixel = 1, ikmm = 2, ikInch = 3).

Explanation

The ToolTip property displays a tool tip when the mouse moves over the image in the ImageKit Control. The tool tip shows the x y coordinates for the location of the mouse cursor. When this property is set to 0, the tool tip will not be displayed. Values of 1, 2, or 3 will set the tool tip units to pixels, millimeters, or inches respectively.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ToolTipColor (ImageKit Control/ Custom Property)

This property sets the the color of the tool tip background displayed when the mouse is moved over an image
[Visual Basic] imagekitcontrolname.ToolTipColor [= OLE_COLOR ]
[Visual C++] [unsigned long = ]imagekitcontrolname.GetToolTipColor()
imagekitcontrolname.SetToolTipColor(unsigned long Val)
[VB.NET] imagekitcontrolname.ToolTipColor [= Color ]
[C#.NET] imagekitcontrolname.ToolTipColor [= Color ]

Property Value

ToolTipColor - the color of the tool tip background.

Explanation

The ToolTipColor property sets the the color of the tool tip background displayed when the mouse is moved over an image. Color can be set using RGB(Red, Green, Blue) or the equivalent value.

Ex.
ToolTipColor = RGB(255, 0, 0)

Or

ToolTipColor = &H000000FF& (VisualBasic)

The ToolTipColor property is enabled when the ToolTip property is 1 or more.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ToolTipTimeSecond (ImageKit Control/ Custom Property)

This property sets the number of seconds the tool tip is displayed
[Visual Basic] imagekitcontrolname.ToolTipTimeSecond[= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetToolTipTimeSecond()
imagekitcontrolname.SetToolTipTimeSecond(short Val)
[VB.NET] imagekitcontrolname.ToolTipTimeSecond[= Short ]
[C#.NET] imagekitcontrolname.ToolTipTimeSecond[= short ]

Reference

ToolTipTimeSecond - the number of seconds the tool tip is displayed. The default value is 3.

Explanation

The ToolTipTimeSecond property the number of seconds the tool tip is displayed. This property is enabled when the ToolTip property is 1 or more.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ToolTipXfromMouse (ImageKit Control/ Custom Property)

This property sets the horizontal offset in pixels between the mouse cursor position and the tool tip
[Visual Basic] imagekitcontrolname.ToolTipXfromMouse [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetToolTipXfromMouse()
imagekitcontrolname.SetToolTipXfromMouse(short Val)
[VB.NET] imagekitcontrolname.ToolTipXfromMouse[= Short ]
[C#.NET] imagekitcontrolname.ToolTipXfromMouse[= short ]

Reference

ToolTipXfromMouse - the horizontal offset in pixels between the mouse cursor position and the tool tip. The default value is 20.

Explanation

The ToolTipXfromMouse property sets the horizontal offset in pixels between the mouse cursor position and the tool tip. This property is enabled when the ToolTip property is 1 or more.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ToolTipYfromMouse (ImageKit Control/ Custom Property)

This property sets the vertical offset in pixels between the mouse cursor position and the tool tip
[Visual Basic] imagekitcontrolname.ToolTipYfromMouse [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetToolTipYfromMouse()
imagekitcontrolname.SetToolTipYfromMouse(short Val)
[VB.NET] imagekitcontrolname.ToolTipYfromMouse[= Short ]
[C#.NET] imagekitcontrolname.ToolTipYfromMouse[= short ]

Reference

ToolTipYfromMouse - the vertical offset in pixels between the mouse cursor position and the tool tip. The default value is 10.

Explanation

The ToolTipYfromMouse property sets the vertical offset in pixels between the mouse cursor position and the tool tip. This property is enabled when the ToolTip property is 1 or more.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


TransBlue (ImageKit Control/ Custom Property)

The TransRed, TransGreen, and TransBlue properties are used to set a transparent color in the base (raster) image.
[Visual Basic] imagekitcontrolname.TransBlue [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetTransBlue()
imagekitcontrolname.SetTransBlue(short Val)
[VB.NET] imagekitcontrolname.TransBlue [= Short ]
[C#.NET] imagekitcontrolname.TransBlue [= short ]

Reference

TransBlue The transparent color's blue value.

Values range from 0 to 255

Explanation

The TransRed, TransGreen, and TransBlue properties are used to set a transparent color in the base (raster) image. The ImageKit Control background will be seen in the areas of the image that are set to transparent. To set a transparent color in an image, the image must be either 8 bit color or 24 bit color. If a vector image is set in the base image, these properties are disabled.

To set a transparent color in an image layer, please refer to the Layer.TransRed, Layer.TransGreen, and Layer.TransBlue properties.

Example: Setting the transparent color to white

ImageKit1.TransBlue = 255

ImageKit1.TransGreen = 255

ImageKit1.TransRed = 255

ImageKit1.Transparent = True

ImageKit1.LayerNo = -1

ImageKit1.File.LoadFile(ikLoad)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


TransGreen (ImageKit Control/ Custom Property)

The TransRed, TransGreen, and TransBlue properties are used to set a transparent color in the base (raster) image.
[Visual Basic] imagekitcontrolname.TransGreen [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetTransGreen()
imagekitcontrolname.SetTransGreen(short Val)
[VB.NET] imagekitcontrolname.TransGreen [= Short ]
[C#.NET] imagekitcontrolname.TransGreen [= short ]

Reference

TransGreen The transparent color's green value.

Values range from 0 to 255

Explanation

The TransRed, TransGreen, and TransBlue properties are used to set a transparent color in the base (raster) image. The ImageKit Control background will be seen in the areas of the image that are set to transparent. To set a transparent color in an image, the image must be either 8 bit color or 24 bit color. If a vector image is set in the base image, these properties are disabled.

To set a transparent color in an image layer, please refer to the Layer.TransRed, Layer.TransGreen, and Layer.TransBlue properties.

Example: Setting the transparent color to white

ImageKit1.TransBlue = 255

ImageKit1.TransGreen = 255

ImageKit1.TransRed = 255

ImageKit1.Transparent = True

ImageKit1.LayerNo = -1

ImageKit1.File.LoadFile(ikLoad)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Transparent (ImageKit Control/ Custom Property)

This property enables the transparent color in the base image.
[Visual Basic] imagekitcontrolname.Transparent[= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetTransparent()
imagekitcontrolname.SetTransparent(BOOL Val)
[VB.NET] imagekitcontrolname.Transparent[= Boolean ]
[C#.NET] imagekitcontrolname.Transparent[= bool ]

Reference

Value | Explanation
True | The transparent color is enabled
False | The transparent color is disabled (Default)

Explanation

The Transparent property enables the transparent color in the base image. The default value is False.

When True, the color set in the TransBlue, TransGreen, and TransRed properties will appear as transparent when the base image is displayed in the ImageKit Control.

If the base image referred to by the ImageHandle property is a vector image then transparency is disabled.

When the Transparent property is True and the BackgroundImageFile property is not set or set to a invalid file:
The ImageKit Control will be displayed through those portions of the base image where there is the transparent color.

When the Transparent property is True and the BackgroundImageFile property is set to a valid file:
The background image will be displayed through those portions of the base image where there is the transparent color.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


TransRed (ImageKit Control/ Custom Property)

The TransRed, TransGreen, and TransBlue properties are used to set a transparent color in the base (raster) image.
[Visual Basic] imagekitcontrolname.TransRed [= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetTransRed()
imagekitcontrolname.SetTransRed(short Val)
[VB.NET] imagekitcontrolname.TransRed [= Short ]
[C#.NET] imagekitcontrolname.TransRed [= short ]

Reference

TransRed The transparent color's red value.

Values range from 0 to 255

Explanation

The TransRed, TransGreen, and TransBlue properties are used to set a transparent color in the base (raster) image. The ImageKit Control background will be seen in the areas of the image that are set to transparent. To set a transparent color in an image, the image must be either 8 bit color or 24 bit color. If a vector image is set in the base image, these properties are disabled.

To set a transparent color in an image layer, please refer to the Layer.TransRed, Layer.TransGreen, and Layer.TransBlue properties.

Example: Setting the transparent color to white

ImageKit1.TransBlue = 255

ImageKit1.TransGreen = 255

ImageKit1.TransRed = 255

ImageKit1.Transparent = True

ImageKit1.LayerNo = -1

ImageKit1.File.LoadFile(ikLoad)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


VectorAntiAliasDisplay (ImageKit Control/ Custom Property)

This property sets whether a vector image's antialias display is enabled.
[Visual Basic] imagekitcontrolname.VectorAntiAliasDisplay [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetVectorAntiAliasDisplay()
imagekitcontrolname.SetVectorAntiAliasDisplay(BOOL Val)
[VB.NET] imagekitcontrolname.VectorAntiAliasDisplay [= Boolean ]
[C#.NET] imagekitcontrolname.VectorAntiAliasDisplay [= bool ]

Reference

Value | Explanation
True | Antialias display is enabled
False | Antialias display is disabled (default)

Explanation

The VectorAntiAliasDisplay property sets whether a vector image's antialias display is enabled. The default value is False. When true, it will take longer to display images but the display quality of text and figures will improve.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Xdpi (ImageKit Control/ Custom Property)

This property refers to the number of pixels per horizontal inch (horizontal resolution) in the image set in the ImageHandle property.
[Visual Basic] imagekitcontrolname.Xdpi[= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetXdpi()
imagekitcontrolname.SetXdpi(long Val)
[VB.NET] imagekitcontrolname.Xdpi[= Integer ]
[C#.NET] imagekitcontrolname.Xdpi[= int ]

Reference

Xdpi The number of pixels in one horizontal inch.

Explanation

The XDpi property refers to the number of pixels per horizontal inch (horizontal resolution) in the image set in the ImageHandle property. Whenever a new image is set into the ImageHandle property the XDpi and Ydpi properties are automatically updated.

To change the values in the resolution property of the base raster image, set the LayerNo property to -1 and use the SetDpi method.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Ydpi (ImageKit Control/ Custom Property)

This property refers to the number of pixels per vertical inch (vertical resolution) in the image set in the ImageHandle property.
[Visual Basic] imagekitcontrolname.Ydpi [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetYdpi()
imagekitcontrolname.SetYdpi(long Val)
[VB.NET] imagekitcontrolname.Ydpi[= Integer ]
[C#.NET] imagekitcontrolname.Ydpi[= int ]

Reference

Ydpi The number of pixels in one vertical inch.

Explanation

The YDpi property refers to the number of pixels per vertical inch (vertical resolution) in the image set in the ImageHandle property. Whenever a new image is set into the ImageHandle property the XDpi and Ydpi properties are automatically updated.

To change the values in the resolution property of the base raster image, set the LayerNo property to -1 and use the SetDpi method.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ImageKit Methods

Custom Methods | Explanation
BitBlt | Performs a bit-block transfer of the color data corresponding to a rectangle of pixels from the specified source device context into a destination device context
BitmapFromDib | Converts the image data from a Device Independent Bitmap (DIB) to a Device Dependent Bitmap (DDB)
ClearClipBrd | Clears the clipboard
CopyImage | Makes an identical copy of a raster image or a vector image in the memory
CreateImage | Creates a new raster image
DeleteBitmapObject | Deletes the Bitmap object
DibFromBitmap | Converts a Device Dependent Bitmap to a Device Independent Bitmap
Display | Displays the image. This method has been deprecated.
DisplayImage | Displays the image
FreeMemory | Frees image data from the memory
GetDpi | Retrieves the value of resolution property of an image. (Integer)
GetDpiF | Retrieves the value of resolution property of an image. (Float)
GetDpiVariant | Retrieves the value of resolution property of an image. (Variant)
GetDpiFromHdc | Retrieves the resolution from the device context
GetDpiFromHdcVariant | Retrieves the resolution from the device context (variant type)
GetFromClipBrd | Retrieves the raster image or the vector image from the clipboard
GetImageType | Sets the image information into various ImageKit properties
GetMemorySize | Retrieves the size of the memory used by the image
GetOneBitPalCount | Retrieves the number of 0 pixels and 1 pixels from a 1 bit color image
GetOneBitPalCountVariant | Retrieves the number of 0 pixels and 1 pixels from a 1 bit color image (variant type)
GetPalette | Retrieves the palette information for a raster image
GetPaletteVariant | Retrieves the palette information for a raster image (variant type)
GetSystemPalette | Retrieves the system palette from the current PC
IsClipBrdData | Checks whether or not there is clipboard data
Refresh | Redisplays the image on the ImageKit Control
ScrollImage | Scrolls the image according to the values set in the ScrollHeight and ScrollWidth properties
SetDpi | Sets a new value in the resolution property of an image. (Integer)
SetDpiF | Sets a new value in the resolution property of an image. (Float)
SetPalette | Sets the palette information for the raster image
SetPaletteVariant | Sets the palette information for the raster image (variant type)
SetToClipBrd | Copies a raster image or a vector image to the clipboard
StretchBlt | Copies a bitmap from a source rectangle into a destination rectangle, stretching or compressing the bitmap to fit the dimensions of the destination rectangle, if necessary
Zoom | Zooms in on the area specified in the image


BitBlt (ImageKit Control/ Custom Method)

This method performs a bit-block transfer of the color data corresponding to a rectangle of pixels from the specified source device context into a destination device context.
[Visual Basic] [ Boolean = ]imagekitcontrolname.BitBlt(hDCDst As LONG_PTR, XDst As Long, YDst As Long, Width As Long, Height As Long, hDCSrc As LONG_PTR, XSrc As Long, YSrc As Long, dwRop As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.BitBlt(LONG_PTR hDCDst, long XDst, long YDst, long Width, long Height, LONG_PTR hDCSrc, long XSrc, long YSrc, long dwRop)
[VB.NET] [ Boolean = ]imagekitcontrolname.BitBlt(hDCDst As Integer(x86) or Long(x64), XDst As Integer, YDst As Integer, Width As Integer, Height As Integer, hDCSrc As Integer(x86) or Long(x64), XSrc As Integer, YSrc As Integer, dwRop As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.BitBlt(int(x86) or (x64) hDCDst, int XDst, int YDst, int Width, int Height, int(x86) or (x64) hDCSrc, int XSrc, int YSrc, int dwRop)

(x86) refers to the 32bit version, (x64) refers to the 64bit version.

Parameters

Name | Explanation
hDCDst | handle to destination device context
XDst | x-coordinate of destination upper-left corner (in pixels)
YDst | y-coordinate of destination upper-left corner (in pixels)
Width | width of destination rectangle (in pixels)
Height | height of destination rectangle (in pixels)
hDCSrc | handle to source device context
XSrc | x-coordinate of source upper-left corner (in pixels)
YSrc | y-coordinate of source upper-left corner (in pixels)
dwRop | raster operation code

Return Value

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

Explanation

The following list shows the raster operation codes.

Value | Explanation
0x00000042 | Fills the destination rectangle using the color associated with index 0 in the physical palette. (This color is black for the default physical palette.)(BLACKNESS)
0x00550009 | Inverts the destination rectangle.(DSTINVERT)
0x00C000CA | Merges the colors of the source rectangle with the brush currently selected in hdcDest, by using the Boolean AND operator.(MERGECOPY)
0x00BB0226 | Merges the colors of the inverted source rectangle with the colors of the destination rectangle by using the Boolean OR operator.(MERGEPAINT)
0x00330008 | Copies the inverted source rectangle to the destination.(NOTSRCCOPY)
0x001100A6 | Combines the colors of the source and destination rectangles by using the Boolean OR operator and then inverts the resultant color.(NOTSRCERASE)
0x00F00021 | Copies the brush currently selected in hdcDest, into the destination bitmap.(PATCOPY)
0x005A0049 | Combines the colors of the brush currently selected in hdcDest, with the colors of the destination rectangle by using the Boolean XOR operator.(PATINVERT)
0x00FB0A09 | Combines the colors of the brush currently selected in hdcDest, with the colors of the inverted source rectangle by using the Boolean OR operator. The result of this operation is combined with the colors of the destination rectangle by using the Boolean OR operator.(PATPAINT)
0x008800C6 | Combines the colors of the source and destination rectangles by using the Boolean AND operator.(SRCAND)
0x00CC0020 | Copies the source rectangle directly to the destination rectangle.(SRCCOPY)
0x00440328 | Combines the inverted colors of the destination rectangle with the colors of the source rectangle by using the Boolean AND operator.(SRCERASE)
0x00660046 | Combines the colors of the source and destination rectangles by using the Boolean XOR operator.(SRCINVERT)
0x00EE0086 | Combines the colors of the source and destination rectangles by using the Boolean OR operator.(SRCPAINT)
0x00FF0062 | Fills the destination rectangle using the color associated with index 1 in the physical palette. (This color is white for the default physical palette.)(WHITENESS)

Ordinarily, the value 0x00CC0020(SRCCOPY) is used.

When using hexidecimals in Visual Basic (including .NET) change the 0x notation to &H

The terms within the parentheses () refer to the Windows API operation.

Differences from ImageKit7/8

The hDCDst and hDCSrc arguments and return values have changed


BitmapFromDib (ImageKit Control/ Custom Method)

This method converts the image data from a Device Independent Bitmap (DIB) to a Device Dependent Bitmap (DDB)
[Visual Basic] [ LONG_PTR = ]imagekitcontrolname.BitmapFromDib(ImageHandle As LONG_PTR)
[Visual C++] [ LONG_PTR = ]imagekitcontrolname.BitmapFromDib(LONG_PTR ImageHandle)
[VB.NET] [ Integer(x86) or Long(x64) = ]imagekitcontrolname.BitmapFromDib(ImageHandle As Integer(x86) or Long(x64))
[C#.NET] [ int(x86) or long(x64) = ]imagekitcontrolname.BitmapFromDib(int(x86) or long(x64) ImageHandle)

(x86) refers to the 32bit version, (x64) refers to the 64bit version.

Parameters

Name | Explanation
ImageHandle | The image handle of the raster image

Return Value

Returns the Bitmap handle if successful, otherwise returns 0 or null.

Explanation

The BitmapFromDib method converts the image data from a Device Independent Bitmap (DIB) to a Device Dependent Bitmap (DDB). This method only works with raster images and cannot be used with vector images.

When the ImageHandle parameter contains a valid image handle
The image data that the ImageHandle parameter refers to will be processed.

When the ImageHandle parameter contains 0
The image data determined by the LayerNo property will be processed. If the LayerNo property is -1 (the base image) then the image data referred to by the ImageHandle property will be processed. If the value of the LayerNo property is between 0 and 99 then the image data referred to by the Layer(LayerNo).ImageHandle property will be processed.

Differences from ImageKit7/8

This method's arguments and return value have changed


ClearClipBrd (ImageKit Control/ Custom Method)

This method clears the clipboard
[Visual Basic] imagekitcontrolname.ClearClipBrd
[Visual C++] imagekitcontrolname.ClearClipBrd()
[VB.NET] imagekitcontrolname.ClearClipBrd()
[C#.NET] imagekitcontrolname.ClearClipBrd()

Parameters

None

Return Value

None

Explanation

The ClearClipBrd method clears the clipboard


CopyImage (ImageKit Control/ Custom Method)

ImageKit10 ActiveX

CopyImage (ImageKit Control/ Custom Property)

This method makes an identical copy of a raster image or a vector image in the memory
[Visual Basic] [ LONG_PTR = ]imagekitcontrolname.CopyImage (ImageHandle As LONG_PTR)
[Visual C++] [ LONG_PTR = ]imagekitcontrolname.CopyImage(LONG_PTR ImageHandle)
[VB.NET] [ Integer(x86) or Long(x64) = ]imagekitcontrolname.CopyImage (ImageHandle As Integer(x86) or Long(x64))
[C#.NET] [ int(x86) or long(x64) = ]imagekitcontrolname.CopyImage ( int(x86) or long(x64) ImageHandle)

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
ImageHandle | The image handle of the image to be copied

Return Value

Returns a new image handle if successful, otherwise returns 0.

Explanation

When the ImageHandle parameter contains a valid image handle
The image data that the ImageHandle parameter refers to will be processed.

When the ImageHandle parameter contains 0
The image data determined by the LayerNo property will be processed. If the LayerNo property is -1 (the base image) then the image data referred to by the ImageHandle property will be processed. If the value of the LayerNo property is between 0 and 99 then the image data referred to by the Layer(LayerNo).ImageHandle property will be processed.

1, 4, 8, 16, 24, 32, and 48 bit raster images are supported. 48 bit images are used if the Scan device context retrieves 36, 42, or 48 bit color image.

Differences from ImageKit7/8

This method's arguments and return value have changed


CreateImage (ImageKit Control/ Custom Method)

This method creates a new raster image
[Visual Basic] [ LONG_PTR = ]imagekitcontrolname.CreateImage (Width As Long, Height As Long, BitCount As Integer, Red As Integer, Green As Integer, Blue As Integer)
[Visual C++] [ LONG_PTR = ]imagekitcontrolname.CreateImage(long Width, long Height, short BitCount, short Red, short Green, short Blue)
[VB.NET] [ Integer(x86) or Long(x64) = ]imagekitcontrolname.CreateImage (Width As Integer, Height As Integer, BitCount As Short, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ int(x86) or long(x64) = ]imagekitcontrolname.CreateImage (int Width, int Height, short BitCount, short Red, short Green, short Blue)

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
Width | The width of the created image (in pixels)
Height | The height of the created image (in pixels)
BitCount | The bitcount of the created image (1, 4, 8, 16, 24, 32, 40, 80) * 4 represents 4 bit color, 40 is for 4 bit grayscale, 8 is for 8 bit color, and 80 is for 8 bit grayscale
Red | The red value of the color in the created image (from 0 to 255)
Green | The green value of the color in the created image (from 0 to 255)
Blue | The blue value of the color in the created image (from 0 to 255)

Return Value

Returns the raster image's image handle if successful. Otherwise returns 0

Explanation

The CreateImage method creates a new raster image. Depending on the bit count of the created image, the RGB values set in the Red, Green, and Blue parameters may not be effective. In such cases, the nearest values will be assigned. (For images with bit counts higher than 24, the RGB values are effective as they are.)

Differences from ImageKit7/8

This method's return value type has changed


DeleteBitmapObject (ImageKit Control/ Custom Method)

This method deletes the Bitmap object
[Visual Basic] [ Boolean = ]imagekitcontrolname.DeleteBitmapObject (hBitmap As LONG_PTR)
[Visual C++] [ BOOL = ]imagekitcontrolname.DeleteBitmapObject(LONG_PTR hBitmap)
[VB.NET] [ Boolean = ]imagekitcontrolname.DeleteBitmapObject (hBitmap As Integer(x86) or Long(x64))
[C#.NET] [ bool = ]imagekitcontrolname.DeleteBitmapObject (int(x86) or long(x64) hBitmap)

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hBitmap | The Bitmap handle

Return Value

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

Explanation

The DeleteBitmapObject method deletes the Bitmap object. Use this method when the Bitmap handle retrieved by the BitmapFromDib method is no longer needed.

Differences from ImageKit7/8

This method's argument type has changed


BitmapFromDib (ImageKit Control/ Custom Method)

This method converts a Device Dependent Bitmap to a Device Independent Bitmap
[Visual Basic] [Boolean = ]imagekitcontrolname.DibFromBitmap(hBm As LONG_PTR, hPal As LONG_PTR)
[Visual C++] [BOOL = ]imagekitcontrolname.DibFromBitmap(LONG_PTR hBm, LONG_PTR hPal)
[VB.NET] [Boolean = ]imagekitcontrolname.DibFromBitmap(hBm As Integer(x86) or Long(x64), hPal As Integer(x86) or Long(x64))
[C#.NET] [bool = ]imagekitcontrolname.DibFromBitmap(int(x86) or long(x64) hBm, int(x86) or long(x64) hPal)

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hBm | The bitmap handle
hPal | The bitmap palette (0 if there is no palette)

Return Value

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

Explanation

The DibFromBitmap method converts a Device Dependent Bitmap to a Device Independent Bitmap. If successful, the image handle is set in the LayerNo property (ImageHandle property or Layer(LayerNo).ImageHandle property).

This method can be used to retrieve an image from VisualBasic PictureBox.

Note: The argument hBm is not freed after executing this method.

In Visual Basic:

' Retrieve a raster image from a PictureBox

Set Picture1.Picture = LoadPicture("C:\Bmp\001.bmp")

' Image Processing 1

ImageKit1.LayerNo = -1

ImageKit1.DibFromBitmap Picture1.Picture.Handle, Picture1.Picture.hPal

' Image Processing 2

Differences from ImageKit7/8

This method's argument type has changed


Display (ImageKit Control/ Custom Method)

This method displays the image. This method has been deprecated. Please use the DisplayImage method instead.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Display(DispMode As DispModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.Display(long DispMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.Display(DispMode As ImageKit10(A)Lib.DispModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.Display(ImageKit10(A)Lib.DispModeConstants DispMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
DispMode | The display mode. Can be one of the following. 0: Clears the image within the ImageKit Control 1: Scale display mode 2: Stretch display mode 3: Actual size display mode (Please refer to the DispScaleX, DispScaleY properties) 4: Fit to Width 5: Fit to Height

It is also possible to use the following constants (ikClear = 0, ikScale = 1, ikStretch = 2, ikActualSize = 3, ikFitToWidth = 4, ikFitToHeight = 5).

Return Value

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

Explanation

The Display method displays the image.

When the DispMode parameter is 0 (ikClear), the image displayed within the ImageKit Control is cleared. To display images in the ImageKit Control you must execute the Display method again.

When the DispMode parameter is 1 (ikScale) or more and the ShowInDisp property is true, the image is displayed. (base image or layer image)

Images are displayed in the following order: the base image first then the Layer images (the images with lower indexes are displayed before the image with higher indexes)

Note that if the base image is not set, then the Layer images are not displayed.

IMPORTANT: This method has been deprecated. It is being maintained to provide backward compatibility with the ImageKit7 ActiveX. Please use the DisplayImage method instead.


DisplayImage (ImageKit Control/ Custom Method)

This method displays the image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.DisplayImage
[Visual C++] [ BOOL = ]imagekitcontrolname.DisplayImage()
[VB.NET] [ Boolean = ]imagekitcontrolname.DisplayImage()
[C#.NET] [ bool = ]imagekitcontrolname.DisplayImage()

Parameters

None

Return Value

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

Explanation

The DisplayImage method displays the image according to the display mode set in the DisplayMode property.

When the DisplayMode property is 0 (ikClear), the image displayed within the ImageKit Control is cleared. To display images in the ImageKit Control you must execute the DisplayImage method again.

When the DisplayMode property is 1 (ikScale) or more and the ShowInDisp property is true, the image is displayed. (base image or layer image)

Images are displayed in the following order: the base image first then the Layer images are displayed above the base image. Images with higher indexes are displayed above the image with lower indexes.

Note that if the base image is not set, then the Layer images are not displayed.


FreeMemory (ImageKit Control/ Custom Method)

This method frees image data from the memory
[Visual Basic] [ Boolean = ]imagekitcontrolname.FreeMemory(ImageHandle As LONG_PTR)
[Visual C++] [ BOOL = ]imagekitcontrolname.FreeMemory(LONG_PTR ImageHandle)
[VB.NET] [ Boolean = ]imagekitcontrolname.FreeMemory(ImageHandle Integer(x86) or Long(x64))
[C#.NET] [ bool = ]imagekitcontrolname.FreeMemory(int(x86) or long(x64) ImageHandle)

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
ImageHandle | the handle of the image data to be freed from the memory.

Return Value

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

Explanation

The FreeMemory method frees image data from the memory. This method is valid for raster images, vector images, and raw data.

When the ImageHandle parameter contains a valid image handle
The image data that the ImageHandle parameter refers to will be processed.

When the ImageHandle parameter contains 0
The image data determined by the LayerNo property will be processed. If the LayerNo property is -1 (the base image) then the image data referred to by the ImageHandle property will be processed. If the value of the LayerNo property is between 0 and 99 then the image data referred to by the Layer(LayerNo).ImageHandle property will be processed.

Note: Even if the image set in the ImageHandle property or the Layer(Index).ImageHandle property is not freed using this method, whenever a new image is set in these properties or the ImageKit Control is destroyed, that image data is automatically freed. However, if you use the FreeMemory method to manually free image data from the memory, it is recommended that you set the image handle for that data to 0 after executing the FreeMemory method.

Example in Visual Basic:
(1)

ImageKit1.LayerNo = -1
ImageKit1.FreeMemory 0
ImageKit1.ImageHandle = 0

(2)

ImageKit1.FreeMemory ImageKit1.ImageHandle
ImageKit1.ImageHandle = 0

(3)

ImageKit1.ImageHandle = 0

*Although (3) does not explicitly call the FreeMemory method, just as in the above (1) and (2), the image data referred to by the ImageHandle property is freed from the memory.

Differences from ImageKit7/8

This method's argument type has changed


GetDpi (ImageKit Control/ Custom Method)

This method retrieves the value of resolution property of an image
[Visual Basic] [ Boolean = ]imagekitcontrolname.GetDpi
[Visual C++] [ BOOL = ]imagekitcontrolname.GetDpi()
[VB.NET] [ Boolean = ]imagekitcontrolname.GetDpi()
[C#.NET] [ bool = ]imagekitcontrolname.GetDpi()

Parameters

None

Return Value

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

Explanation

The GetDpi method retrieves the value of the resolution property of the image referred to by the LayerNo property (ImageHandle property or Layer(LayerNo).ImageHandle property).

If successful, the resolution values will be set in the Xdpi and Ydpi properties (for the image set in the ImageHandle) and in the Layer(LayerNo).Xdpi and Layer(LayerNo).Ydpi (for images set in the Layer(LayerNo).ImageHandle property).

Note: even if you do not execute this method, the value of the resolution property of an image is automatically set whenever an image is set in the ImageHandle or Layer(LayerNo).ImageHandle properties.


GetDpiF (ImageKit Control/ Custom Method)

This method retrieves the value of resolution property of an image. (Float)
[Visual Basic] [ Boolean = ]imagekitcontrolname.GetDpiF(Xdpi As Single, Ydpi As Single)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetDpiF(float *Xdpi, float *Ydpi)
[VB.NET] [ Boolean = ]imagekitcontrolname.GetDpiF(ByRef Xdpi As Single, ByRef Ydpi As Single)
[C#.NET] [ bool = ]imagekitcontrolname.GetDpiF(ref float Xdpi, ref float Ydpi)

Parameters

Name | Explanation
Xdpi | The horizontal resolution (Number of pixels per horizontal inch)
Ydpi | The vertical resolution (Number of pixels per vertical inch)

Return Value

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

Explanation

The GetDpiF method retrieves the value of the resolution property of the image referred to by the LayerNo property (ImageHandle property or Layer(LayerNo).ImageHandle property). The resolution value is a float type.

If successful, the resolution values will be retrieved in the Xdpi and Ydpi parameters.

This method is similiar to the GetDpi method except that the resolution is retrieved as the method parameters of type "float".


GetDpiVariant (ImageKit Control/ Custom Method)

This method retrieves the value of resolution property of an image. (Variant)
[Visual Basic] [ Boolean = ]imagekitcontrolname.GetDpiVariant(Xdpi As Variant, Ydpi As Variant)
[VB.NET] [ Boolean = ]imagekitcontrolname.GetDpiVariant(ByRef Xdpi As Object, ByRef Ydpi As Object)
[C#.NET] [ bool = ]imagekitcontrolname.GetDpiVariant(ref object Xdpi, ref object Ydpi)

Parameters

Name | Explanation
Xdpi | The horizontal resolution (Number of pixels per horizontal inch)
Ydpi | The vertical resolution (Number of pixels per vertical inch)

Return Value

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

Explanation

The GetDpiVariant method retrieves the value of the resolution property of the image referred to by the LayerNo property (ImageHandle property or Layer(LayerNo).ImageHandle property).

If successful, the resolution values will be set in the Xdpi and Ydpi properties (for the image set in the ImageHandle) and in the Layer(LayerNo).Xdpi and Layer(LayerNo).Ydpi (for images set in the Layer(LayerNo).ImageHandle property).

This method is similiar to the GetDpi method except the resolution is retrieved as a variant type.

Example:

VB.NET
Dim Xdpi As Object = Nothing
Dim Ydpi As Oject = Nothing
Dim ret As Boolean = ImageKit1.GetDpiVariant(Xdpi, Ydpi)

C#
object Xdpi, Ydpi;
Xdpi = Ydpi = null;
bool ret = ImageKit1.GetDpiVariant(ref Xdpi, ref Ydpi);


GetDpiFromHdc (ImageKit Control/ Custom Method)

This method retrieves the resolution from the device context.
[Visual Basic] [ Boolean = ]imagekitcontrolname.GetDpiFromHdc(hDC As LONG_PTR, Xdpi As Long, Ydpi As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetDpiFromHdc(LONG_PTR hDC, long *Xdpi, long *Ydpi)
[VB.NET] [ Boolean = ]imagekitcontrolname.GetDpiFromHdc(hDC As Integer(x86) or Long(x64), ByRef Xdpi As Integer, ByRef Ydpi As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.GetDpiFromHdc(int(x86) or long(x64) hDC, ref int Xdpi, ref int Ydpi)

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version

Parameters

Name | Explanation
hDC | The Device Context
Xdpi | The horizontal resolution (Number of pixels per horizontal inch)
Ydpi | The vertical resolution (Number of pixels per vertical inch)

Return Value

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

Explanation

The GetDpiFromHdc method retrieves the resolution from the device context.

For scripting languages and other programs that require variant types, please refer to the GetDpiFromHdcVariant method.


GetDpiFromHdcVariant (ImageKit Control/ Custom Method)

This method retrieves the resolution from the device context.
[Visual Basic] [ Boolean = ]imagekitcontrolname.GetDpiFromHdcVariant(hDC As LONG_PTR, Xdpi As Variant, Ydpi As Variant)
[VB.NET] [ Boolean = ]imagekitcontrolname.GetDpiFromHdcVariant(hDC As Integer(x86) or Long(x64), ByRef Xdpi As Object, ByRef Ydpi As Object)
[C#.NET] [ bool = ]imagekitcontrolname.GetDpiFromHdcVariant(int(x86) or long(x64) hDC, ref object Xdpi, ref object Ydpi)

Parameters

Name | Explanation
hDC | The Device Context
Xdpi | The horizontal resolution (Number of pixels per horizontal inch)
Ydpi | The vertical resolution (Number of pixels per vertical inch)

Return Value

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

Explanation

The GetDpiFromHdcVariant method retrieves the resolution from the device context.

This method is recommended when using scripting or other languages that require variant types. Also see the GetDpiFromHdc method.

Example:

VB.NET
Dim Xdpi As Object = Nothing
Dim Ydpi As Oject = Nothing
Dim ret As Boolean = ImageKit1.GetDpiFromHdcVariant(ImageKit1.hDC, Xdpi, Ydpi)

C#
object Xdpi, Ydpi;
Xdpi = Ydpi = null;
bool ret = ImageKit1.GetDpiFromHdcVariant(ImageKit1.hDC, ref Xdpi, ref Ydpi);

Differences from ImageKit7/8

The hDC argument has a different type


GetFromClipBrd (ImageKit Control/ Custom Method)

This method retrieves the raster image or the vector image from the clipboard
[Visual Basic] [ Boolean = ]imagekitcontrolname.GetFromClipBrd
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFromClipBrd()
[VB.NET] [ Boolean = ]imagekitcontrolname.GetFromClipBrd()
[C#.NET] [ bool = ]imagekitcontrolname.GetFromClipBrd()

Parameters

None

Return Value

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

Explanation

The GetFromClipBrd method retrieves the raster image or the vector image from the clipboard.

If successful, the image will be set in the property referred to by the LayerNo property (either the ImageHandle property or the Layer(LayerNo).ImageHandle property)

If the retrieved image is a vector image, it will be in EMF format.


GetImageType (ImageKit Control/ Custom Method)

This method sets the various image information into the following property values: BitCount, Gray, ImageKind, ImageSize, ImageHeight, ImageWidth, ImageWidthByte, Mask1632, PalCount, Xdpi, and Ydpi.
[Visual Basic] [ Boolean = ]imagekitcontrolname.GetImageType
[Visual C++] [ BOOL = ]imagekitcontrolname.GetImageType()
[VB.NET] [ Boolean = ]imagekitcontrolname.GetImageType()
[C#.NET] [ bool = ]imagekitcontrolname.GetImageType()

Parameters

None

Return Value

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

Explanation

The GetImageType method sets the various image information into the image's related property values. Depending on the LayerNo property value, the information will be related to the image set in the ImageHandle property of the Layer(LayerNo).ImageHandle property.

For the image referred to by the ImageHandle property

The following properties will be set: BitCount, Gray, ImageKind, ImageSize, ImageHeight, ImageWidth, ImageWidthByte, Mask1632, PalCount, Xdpi, Ydpi

For the image referred to by the Layer(LayerNo).ImageHandle property

The following properties will be set: Layer(LayerNo).BitCount, Layer(LayerNo).Gray, Layer(LayerNo).Height, Layer(LayerNo).ImageKind, Layer(LayerNo).ImageSize, Layer(LayerNo).Mask1632, Layer(LayerNo).PalCount, Layer(LayerNo).Width, Layer(LayerNo).WidthByte, Layer(LayerNo).Xdpi, Layer(LayerNo).Ydpi

Note: Even if you do not execute the GetImageType method, when an image is set into the ImageHandle property or the Layer(LayerNo).ImageHandle property, the image information is automatically set into these various properties.


GetMemorySize (ImageKit Control/ Custom Method)

This method retrieves the size of the memory used by the image
[Visual Basic] [ Long = ]imagekitcontrolname.GetMemorySize (ImageHandle As LONG_PTR)
[Visual C++] [ long = ]imagekitcontrolname.GetMemorySize(LONG_PTR ImageHandle)
[VB.NET] [ Integer = ]imagekitcontrolname.GetMemorySize (ImageHandle As Integer(x86) or Long(x64))
[C#.NET] [ int = ]imagekitcontrolname.GetMemorySize (int(x86) or long(x64) ImageHandle)

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
ImageHandle | The image handle of the image whose size is retrieved

Return Value

Returns the size (in bytes) of the memory used by the image, otherwise returns 0.

Explanation

When the ImageHandle parameter contains a valid image handle
The image data that the ImageHandle parameter refers to will be processed.

When the ImageHandle parameter contains 0
The image data determined by the LayerNo property will be processed. If the LayerNo property is -1 (the base image) then the image data referred to by the ImageHandle property will be processed. If the value of the LayerNo property is between 0 and 99 then the image data referred to by the Layer(LayerNo).ImageHandle property will be processed.

Differences from ImageKit7/8

This method's argument type has changed


GetOneBitPalCount (ImageKit Control/ Custom Method)

This method retrieves the number of 0 pixels and 1 pixels from a 1 bit color image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.GetOneBitPalCount(Pal0 As Long, Pal1 As Long, ImageHandle As LONG_PTR)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetOneBitPalCount(long *Pal0, long *Pal1, LONG_PTR ImageHandle)
[VB.NET] [ Boolean = ]imagekitcontrolname.GetOneBitPalCount(ByRef Pal0 As Integer, ByRef Pal1 As Integer, ImageHandle As Integer(x86) or Long(x64))
[C#.NET] [ bool = ]imagekitcontrolname.GetOneBitPalCount(ref int Pal0, ref int Pal1, int(x86) or long(x64) ImageHandle)

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
Pal0 | The number of 0 pixels retrieved from a 1 bit color image palette.
Pal1 | The number of 1 pixels retrieved from a 1 bit color image palette.
ImageHandle | The image handle of the raster image

Return Value

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

Explanation

The GetOneBitPalCount method retrieves the number of 0 pixels and 1 pixels from a 1 bit color image. This method is enabled for 1 bit color images only.

When the ImageHandle parameter contains a valid image handle
The image data that the ImageHandle parameter refers to will be processed.

When the ImageHandle parameter contains 0
The image data determined by the LayerNo property will be processed. If the LayerNo property is -1 (the base image) then the image data referred to by the ImageHandle property will be processed. If the value of the LayerNo property is between 0 and 99 then the image data referred to by the Layer(LayerNo).ImageHandle property will be processed.

For Palette color, please refer to the GetPalette method.

For programs in ASP or other scripting languages that require variant types, please refer to the GetOneBitPalCountVariant method.

Differences from ImageKit7/8

The ImageHandle argument has a different type.


GetOneBitPalCountVariant (ImageKit Control/ Custom Method)

This method retrieves the number of 0 pixels and 1 pixels from a 1 bit color image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.GetOneBitPalCountVariant(Pal0 As Variant, Pal1 As Variant, ImageHandle As LONG_PTR)
[VB.NET] [ Boolean = ]imagekitcontrolname.GetOneBitPalCountVariant(ByRef Pal0 As Object, ByRef Pal1 As Object, ImageHandle As Object))
[C#.NET] [ bool = ]imagekitcontrolname.GetOneBitPalCountVariant(ref object Pal0, ref object Pal1, object ImageHandle)

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
Pal0 | The number of 0 pixels retrieved from a 1 bit color image palette.
Pal1 | The number of 1 pixels retrieved from a 1 bit color image palette.
ImageHandle | The image handle of the raster image

Return Value

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

Explanation

The GetOneBitPalCountVariant method retrieves the number of 0 pixels and 1 pixels from a 1 bit color image. This method is enabled for 1 bit color images only. This method is used in place of the GetOneBitPalCount method when the programming language requires a variant type.

When the ImageHandle parameter contains a valid image handle
The image data that the ImageHandle parameter refers to will be processed.

When the ImageHandle parameter is omitted
The image data determined by the LayerNo property will be processed. If the LayerNo property is -1 (the base image) then the image data referred to by the ImageHandle property will be processed. If the value of the LayerNo property is between 0 and 99 then the image data referred to by the Layer(LayerNo).ImageHandle property will be processed.

For Palette color, please refer to the GetPalette method. For programs that do not require the variant type, please refer to the GetOneBitPalCount method.

Example:

VB.NET
Dim Pal0 As Object = Nothing
Dim Pal1 As Oject = Nothing
Dim ret As Boolean = ImageKit1.GetOneBitPalCountVariant(Pal0, Pal1)

C#
object Pal0, Pal1;
Pal0 = Pal1 = null;
bool ret = ImageKit1.GetOneBitPalCountVariant(ref Pal0, ref Pal1);


GetPalette (ImageKit Control/ Custom Method)

This method retrieves the palette information for a raster image
[Visual Basic] [ Boolean = ]imagekitcontrolname.GetPalette(Red As Integer, Green As Integer, Blue As Integer, ImageHandle As LONG_PTR)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPalette(short *Red, short *Green, short *Blue, LONG_PTR ImageHandle)
[VB.NET] [ Boolean = ]imagekitcontrolname.GetPalette(ByRef Red As Short, ByRef Green As Short, ByRef Blue As Short, ImageHandle As Integer(x86) or Long(x64))
[C#.NET] [ bool = ]imagekitcontrolname.GetPalette(ref short Red, ref short Green, ref short Blue, int(x86) or long(x64) ImageHandle)

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
Red | Array of the retrieved red palette information. *
Green | Array of the retrieved green palette information. *
Blue | Array of the retrieved blue palette information. *
ImageHandle | The image handle of the raster image.

* (1) In Visual Basic pass the arguments as Red(0)
(2) In Visual C++ pass the pointer to the top of the array
(3) In VB.NET pass the arguments as Red(0)
(4) In C#.NET pass the arguments as Red[0]

Return Value

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

Explanation

When the ImageHandle parameter contains a valid image handle
The image data that the ImageHandle parameter refers to will be processed.

When the ImageHandle parameter contains 0
The image data determined by the LayerNo property will be processed. If the LayerNo property is -1 (the base image) then the image data referred to by the ImageHandle property will be processed. If the value of the LayerNo property is between 0 and 99 then the image data referred to by the Layer(LayerNo).ImageHandle property will be processed.

To find out how many items are in the various RGB arrays, please refer to the PalCount property. The PalCount property value is refreshed when ever an image handle is set into the ImageHandle property of the Layer(LayerNo).ImageHandle property. Use the GetImageType method to retrieve the PalCount property value.

For programs in ASP or other scripting languages that use variant types, or in VB.NET or C#.NET x64 build, please refer to the GetPaletteVariant method.

Examples:

In Visual Basic:

Dim r() As Integer

Dim g() As Integer

Dim b() As Integer

ImageKit1.LayerNo = -1

If ImageKit1.PalCount < 1 Then Exit Sub

ReDim r(0 To ImageKit1.PalCount - 1)

ReDim g(0 To ImageKit1.PalCount - 1)

ReDim b(0 To ImageKit1.PalCount - 1)

ImageKit1.GetPalette r(0), g(0), b(0), 0

'using the rgb values....

ImageKit1.SetPalette r(0), g(0), b(0), 0

In Visual C++:

ImageKit1.SetLayerNo(-1);

if (ImageKit1.GetPalCount() < 1) return;

short *r = new short[ImageKit1.GetPalCount()];

short *g = new short[ImageKit1.GetPalCount()];

short *b = new short[ImageKit1.GetPalCount()];

ImageKit1.GetPalette(r, g, b, 0);

// using the rgb values

ImageKit1.SetPalette(r, g, b, 0);

delete[] r;

delete[] g;

delete[] b;

In VB.NET:

ImageKit1.LayerNo = -1

If ImageKit1.PalCount < 1 Then Exit Sub

Dim r as Short() = New Short(ImageKit1.PalCount - 1){}

Dim g as Short() = New Short(ImageKit1.PalCount - 1){}

Dim b as Short() = New Short(ImageKit1.PalCount - 1){}

ImageKit1.GetPalette(r(0), g(0), b(0), 0)

'using the rgb values....

ImageKit1.SetPalette(r(0), g(0), b(0), 0)

In C#.NET:

ImageKit1.LayerNo = -1;

if(ImageKit1.PalCount < 1) return;

short []r = new short[ImageKit1.PalCount];

short []g = new short[ImageKit1.PalCount];

short []b = new short[ImageKit1.PalCount];

ImageKit1.GetPalette(ref r[0], ref g[0], ref b[0], 0);

//using the rgb values....

ImageKit1.SetPalette(ref r[0], ref g[0], ref b[0], 0);

Differences from ImageKit7/8

The ImageHandle argument has a different type.


GetPaletteVariant (ImageKit Control/ Custom Method)

This method retrieves the palette information for a raster image
[Visual Basic] [ Boolean = ]imagekitcontrolname.GetPaletteVariant(Red As Variant, Green As Variant, Blue As Variant, ImageHandle As Long)
[VB.NET] [ Boolean = ]imagekitcontrolname.GetPaletteVariant(ByRef Red As Object, ByRef Green As Object, ByRef Blue As Object, ImageHandle As Object)
[C#.NET] [ bool = ]imagekitcontrolname.GetPaletteVariant(ref object Red, ref object Green, ref object Blue, object ImageHandle)

Parameters

Name | Explanation
Red | Array of the retrieved red palette information
Green | Array of the retrieved green palette information
Blue | Array of the retrieved blue palette information
ImageHandle | The image handle of the raster image.

* In Visual Basic or VB.NET, pass the arguments as Red
In C#.NET, pass the arguements as ref Red

Return Value

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

Explanation

When the ImageHandle parameter contains a valid image handle
The image data that the ImageHandle parameter refers to will be processed.

When the ImageHandle parameter contains is omitted
The image data determined by the LayerNo property will be processed. If the LayerNo property is -1 (the base image) then the image data referred to by the ImageHandle property will be processed. If the value of the LayerNo property is between 0 and 99 then the image data referred to by the Layer(LayerNo).ImageHandle property will be processed.

To find out how many items are in the various RGB arrays retrieved from the palette information, please refer to the PalCount property. The PalCount property value is refreshed when ever an image handle is set into the ImageHandle property of the Layer(LayerNo).ImageHandle property. Use the GetImageType method to retrieve the PalCount property value.

For programs that do not require variant types, please refer to the GetPalette method.

Examples:

In Visual Basic:

Dim r

Dim g

Dim b

ImageKit1.LayerNo = -1

If ImageKit1.PalCount < 1 Then Exit Sub

ImageKit1.GetPaletteVariant r, g, b

'using the rgb values....

ImageKit1.SetPaletteVariant r, g, b

In VB.NET:

ImageKit1.LayerNo = -1

If ImageKit1.PalCount < 1 Then Exit Sub

Dim r as Object = Nothing

Dim g as Object = Nothing

Dim b as Object = Nothing

ImageKit1.GetPaletteVariant(r, g, b)

'using the rgb values....

ImageKit1.SetPaletteVariant(r, g, b)

In C#.NET:

ImageKit1.LayerNo = -1;

if(ImageKit1.PalCount < 1) return;

object r = null;

object g = null;

object b = null;

ImageKit1.GetPaletteVariant(ref r, ref g, ref b);

//using the rgb values....

ImageKit1.SetPaletteVariant(ref r, ref g, ref b);


GetSystemPalette (ImageKit Control/ Custom Method)

This method retrieves the system palette from the current PC
[Visual Basic] [ Integer = ]imagekitcontrolname.GetSystemPalette
[Visual C++] [ short = ]imagekitcontrolname.GetSystemPalette()
[VB.NET] [ Short = ]imagekitcontrolname.GetSystemPalette()
[C#.NET] [ short = ]imagekitcontrolname.GetSystemPalette()

Parameters

None

Return Value

Returns the system palette from the current computer

2: 2 color (1 bit color)

16: 16 color (4 bit color)

256: 256 color (8 bit color)

0: 16 bit color, 24 bit color, or 32 bit color

Explanation

The GetSystemPalette method retrieves the system palette from the current computer.


IsClipBrdData (ImageKit Control/ Custom Method)

This method checks whether or not there is clipboard data
[Visual Basic] [ Boolean = ]imagekitcontrolname.IsClipBrdData
[Visual C++] [ BOOL = ]imagekitcontrolname.IsClipBrdData()
[VB.NET] [ Boolean = ]imagekitcontrolname.IsClipBrdData()
[C#.NET] [ bool = ]imagekitcontrolname.IsClipBrdData()

Parameters

None

Return Value

Returns True (nonzero) if there is clipboard data, otherwise returns False (0)

Explanation

The IsClipBrdData method checks whether or not there is clipboard data.


Refresh (ImageKit Control/ Custom Method)

ImageKit10 ActiveX

Refresh (ImageKit Control/ Custom Event)

This method redisplays the image on the ImageKit Control
[Visual Basic] imagekitcontrolname.Refresh
[Visual C++] imagekitcontrolname.Refresh()
[VB.NET] imagekitcontrolname.Refresh()
[C#.NET] imagekitcontrolname.Refresh()

Parameters

None

Return Value

None

Explanation

The Refresh method is used to redisplay an image in the ImageKit Control. If the image currently being displayed has been changed in some way either by executing another method or by editing the image, these changes will not appear in the ImageKit Control until the image is redisplayed by executing the Refresh method.


ScrollImage (ImageKit Control/ Custom Method)

This method scrolls the image according to the values set in the ScrollHeight and ScrollWidth properties
[Visual Basic] [ Boolean = ]imagekitcontrolname.ScrollImage(Dir As ScrollDirConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.ScrollImage(long Dir)
[VB.NET] [ Boolean = ]imagekitcontrolname.ScrollImage(Dir As ImageKit10(A)Lib.ScrollDirConstants)
[C#.NET] [ bool = ]imagekitcontrolname.ScrollImage(ImageKit10(A)Lib.ScrollDirConstants Dir)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Dir | Sets the scroll direction. (0: Up and left, 1: Up, 2: Up and right, 3: Right, 4: Down and right, 5: Down, 6: Down and left, 7: Left)

It is also possible to use the following constants (ikUpLeft = 0, ikUp = 1, ikUpRight = 2, ikRight = 3, ikDownRight = 4, ikDown = 5, ikDownLeft = 6, ikLeft = 7).

Return Value

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

Explanation

The ScrollImage method scrolls the image according to the values set in the ScrollHeight and ScrollWidth properties.

The ScrollHeight and ScrollWidth properties must be set prior to executing this method. This method is only enabled when the image is displayed in actual size.


SetDpi (ImageKit Control/ Custom Method)

ImageKit10 ActiveX

SetDpi (ImageKit Control/ Custom Event)

This method sets a new value in the resolution property of an image
[Visual Basic] [ Boolean = ]imagekitcontrolname.SetDpi
[Visual C++] [ BOOL = ]imagekitcontrolname.SetDpi()
[VB.NET] [ Boolean = ]imagekitcontrolname.SetDpi()
[C#.NET] [ bool = ]imagekitcontrolname.SetDpi()

Parameters

None

Return Value

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

Explanation

The SetDpi method sets a new value into the resolution property of the image referred to by the LayerNo property (ImageHandle property or Layer(LayerNo).ImageHandle property).

If successful, the resolution values set in the Xdpi and Ydpi properties (for the image set in the ImageHandle) and set in the Layer(LayerNo).Xdpi and Layer(LayerNo).Ydpi (for images set in the Layer(LayerNo).ImageHandle property) will be set in the resolution property of the image.

Note: even if you do not execute this method, the value of the resolution property of an image is automatically set whenever an image is set in the ImageHandle or Layer(LayerNo).ImageHandle properties.


SetDpiF (ImageKit Control/ Custom Method)

ImageKit10 ActiveX

SetDpiF (ImageKit Control/ Custom Event)

This method sets a new value in the resolution property of an image. (Float)
[Visual Basic] [ Boolean = ]imagekitcontrolname.SetDpiF(Xdpi As Single, Ydpi As Single)
[Visual C++] [ BOOL = ]imagekitcontrolname.SetDpiF(float Xdpi, float Ydpi)
[VB.NET] [ Boolean = ]imagekitcontrolname.SetDpiF(Xdpi As Single, Ydpi As Single)
[C#.NET] [ bool = ]imagekitcontrolname.SetDpiF(float Xdpi, float Ydpi)

Parameters

None

Return Value

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

Explanation

The SetDpiF method sets a new value into the resolution property of the image referred to by the LayerNo property (ImageHandle property or Layer(LayerNo).ImageHandle property).

If successful, the resolution values set in the Xdpi and Ydpi properties (for the image set in the ImageHandle) and set in the Layer(LayerNo).Xdpi and Layer(LayerNo).Ydpi (for images set in the Layer(LayerNo).ImageHandle property) will be set in resolution property of the image.

This method is similiar to the SetDpi method except the resolution is a float type.


SetPalette (ImageKit Control/ Custom Method)

This method sets the palette information for a raster image
[Visual Basic] [ Boolean = ]imagekitcontrolname.SetPalette(Red As Integer, Green As Integer, Blue As Integer, ImageHandle As LONG_PTR)
[Visual C++] [ BOOL = ]imagekitcontrolname.SetPalette(short *Red, short *Green, short *Blue, LONG_PTR ImageHandle)
[VB.NET] [ Boolean = ]imagekitcontrolname.SetPalette(ByRef Red As Short, ByRef Green As Short, ByRef Blue As Short, ImageHandle As Integer(x86) or Long(x64))
[C#.NET] [ bool = ]imagekitcontrolname.SetPalette(ref short Red, ref short Green, ref short Blue, int(x86) or long(x64) ImageHandle)

* (x86) refers to the 32bit version, (x64) refers to the 64bit version.

Parameters

Name | Explanation
Red | Array of the retrieved red palette information
Green | Array of the retrieved green palette information
Blue | Array of the retrieved blue palette information
ImageHandle | The image handle of the raster image

* (1)In Visual Basic pass the argument as Red(0)
(2)In Visual C++ pass the pointer to the top of the array
(3)In VB.NET pass the argument as Red(0)
(4)In C#.NET pass the argument as Red[0]

Return Value

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

Explanation

When the ImageHandle parameter contains a valid image handle
The image data that the ImageHandle parameter refers to will be processed.

When the ImageHandle parameter contains 0
The image data determined by the LayerNo property will be processed. If the LayerNo property is -1 (the base image) then the image data referred to by the ImageHandle property will be processed. If the value of the LayerNo property is between 0 and 99 then the image data referred to by the Layer(LayerNo).ImageHandle property will be processed.

The number of colors that can be set must be the same as the number of colors of the image.

To find out how many items are in the various RGB arrays, please refer to the PalCount property. The PalCount property value is refreshed when ever an image handle is set into the ImageHandle property of the Layer(LayerNo).ImageHandle property. Use the GetImageType method to retrieve the PalCount property value.

For programs in ASP or other scripting languages that use variant types, or for VB.NET and C# in x64 builds, please refer to the SetPaletteVariant method.


SetPaletteVariant (ImageKit Control/ Custom Method)

This method sets the palette information for a raster image
[Visual Basic] [ Boolean = ]imagekitcontrolname.SetPaletteVariant(Red As Variant, Green As Variant, Blue As Variant, ImageHandle As Variant)
[VB.NET] [ Boolean = ]imagekitcontrolname.SetPaletteVariant(ByRef Red As Object, ByRef Green As Object, ByRef Blue As Object, ImageHandle As Object)
[C#.NET] [ bool = ]imagekitcontrolname.SetPaletteVariant(ref object Red, ref object Green, ref object Blue, object ImageHandle)

* (x86) refers to the 32bit version, (x64) refers to the 64bit version.

Parameters

Name | Explanation
Red | Array of the retrieved red palette information
Green | Array of the retrieved green palette information
Blue | Array of the retrieved blue palette information
ImageHandle | The image handle of the raster image.

* (1) In Visual Basic pass the arguments as Red
(2) In VB.NET pass the arguments as Red
(3) In C#.NET pass the arguments as ref Red

Return Value

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

Explanation

When the ImageHandle parameter contains a valid image handle
The image data that the ImageHandle parameter refers to will be processed.

When the ImageHandle parameter is omitted
The image data determined by the LayerNo property will be processed. If the LayerNo property is -1 (the base image) then the image data referred to by the ImageHandle property will be processed. If the value of the LayerNo property is between 0 and 99 then the image data referred to by the Layer(LayerNo).ImageHandle property will be processed.

The number of colors that can be set must be the same as the number of colors of the image.

To find out how many items are in the various RGB arrays, please refer to the PalCount property. The PalCount property value is refreshed when ever an image handle is set into the ImageHandle property of the Layer(LayerNo).ImageHandle property. Use the GetImageType method to retrieve the PalCount property value.

Also see the SetPalette method.


SetToClipBrd (ImageKit Control/ Custom Method)

This method copies a raster image or a vector image to the clipboard
[Visual Basic] [ Boolean = ]imagekitcontrolname.SetToClipBrd
[Visual C++] [ BOOL = ]imagekitcontrolname.SetToClipBrd()
[VB.NET] [ Boolean = ]imagekitcontrolname.SetToClipBrd()
[C#.NET] [ bool = ]imagekitcontrolname.SetToClipBrd()

Parameters

None

Return Value

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

Explanation

The SetToClipBrd method copies a raster image or a vector image to the clipboard.

If successful, the image referred to by the LayerNo property (either the ImageHandle property or the Layer(LayerNo).ImageHandle property) will be copied to the clipboard

If the image is a vector image, it will be in EMF format.


StretchBlt (ImageKit Control/ Custom Method)

The StretchBlt method copies a bitmap from a source rectangle into a destination rectangle, stretching or compressing the bitmap to fit the dimensions of the destination rectangle, if necessary.
[Visual Basic] [ Boolean = ]imagekitcontrolname.StretchBlt (hDCDst As LONG_PTR, XDst As Long, YDst As Long, WidthDst As Long, HeightDst As Long, hDCSrc As LONG_PTR, XSrc As Long, YSrc As Long, WidthSrc As Long, HeightSrc As Long, dwRop As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.StretchBlt(LONG_PTR hDCDst, long XDst, long YDst, long WidthDst, long HeightDst, LONG_PTR hDCSrc, long XSrc, long YSrc, long WidthSrc, long HeightSrc, long dwRop)
[VB.NET] [ Boolean = ]imagekitcontrolname.StretchBlt (hDCDst As Integer(x86) or Long(x64), XDst As Integer, YDst As Integer, WidthDst As Integer, HeightDst As Integer, hDCSrc As Integer(x86) or Long(x64), XSrc As Integer, YSrc As Integer, WidthSrc As Integer, HeightSrc As Integer, dwRop As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.StretchBlt (int(x86) or long(x64) hDCDst, int XDst, int YDst, int WidthDst, int HeightDst, int(x86) or long(x64) hDCSrc, int XSrc, int YSrc, int WidthSrc, int HeightSrc, int dwRop)

* (x86) refers to the 32bit version, (x64) refers to the 64bit version.

Parameters

Name | Explanation
hDCDst | handle to destination DC
XDst | x-coord of destination upper-left corner
YDst | y-coord of destination upper-left corner
WidthDst | width of destination rectangle
HeightDst | height of destination rectangle
hDCSrc | handle to source DC
XSrc | x-coord of source upper-left corner
YSrc | y-coord of source upper-left corner
WidthSrc | width of source rectangle
HeightSrc | height of source rectangle
dwRop | raster operation code

Return Value

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

Explanation

The StretchBlt method copies a bitmap from a source rectangle into a destination rectangle, stretching or compressing the bitmap to fit the dimensions of the destination rectangle, if necessary.

The StretchBlt methodcreates a mirror image of a bitmap if the signs of the WidthSrc and WidthDest parameters or if the HeightSrc and HeightDest parameters differ. If WidthSrc and WidthDest have different signs, the function creates a mirror image of the bitmap along the x-axis. If HeightSrc and HeightDest have different signs, the function creates a mirror image of the bitmap along the y-axis.

Value | Explanation
0x00000042 | Fills the destination rectangle using the color associated with index 0 in the physical palette. (This color is black for the default physical palette.)(BLACKNESS)
0x00550009 | Inverts the destination rectangle.(DSTINVERT)
0x00C000CA | Merges the colors of the source rectangle with the brush currently selected in hdcDest, by using the Boolean AND operator.(MERGECOPY)
0x00BB0226 | Merges the colors of the inverted source rectangle with the colors of the destination rectangle by using the Boolean OR operator.(MERGEPAINT)
0x00330008 | Copies the inverted source rectangle to the destination.(NOTSRCCOPY)
0x001100A6 | Combines the colors of the source and destination rectangles by using the Boolean OR operator and then inverts the resultant color.(NOTSRCERASE)
0x00F00021 | Copies the brush currently selected in hdcDest, into the destination bitmap.(PATCOPY)
0x005A0049 | Combines the colors of the brush currently selected in hdcDest, with the colors of the destination rectangle by using the Boolean XOR operator.(PATINVERT)
0x00FB0A09 | Combines the colors of the brush currently selected in hdcDest, with the colors of the inverted source rectangle by using the Boolean OR operator. The result of this operation is combined with the colors of the destination rectangle by using the Boolean OR operator.(PATPAINT)
0x008800C6 | Combines the colors of the source and destination rectangles by using the Boolean AND operator.(SRCAND)
0x00CC0020 | Copies the source rectangle directly to the destination rectangle.(SRCCOPY)
0x00440328 | Combines the inverted colors of the destination rectangle with the colors of the source rectangle by using the Boolean AND operator.(SRCERASE)
0x00660046 | Combines the colors of the source and destination rectangles by using the Boolean XOR operator.(SRCINVERT)
0x00EE0086 | Combines the colors of the source and destination rectangles by using the Boolean OR operator.(SRCPAINT)
0x00FF0062 | Fills the destination rectangle using the color associated with index 1 in the physical palette. (This color is white for the default physical palette.)(WHITENESS)

Ordinarily, the value 0x00CC0020(SRCCOPY) is used.

When using hexidecimals in Visual Basic (including .NET) change the 0x notation to &H

The terms within the parentheses () refer to the Windows API operation.

Differences from ImageKit7/8

The hDCDst and hDCSrc argument types have changed


Zoom (ImageKit Control/ Custom Method)

This method zooms in on the area specified by the Left, Top, Right and Bottom parameters.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Zoom(Left As Long, Top As Long, Right As Long, Bottom As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.Zoom(long Left, long Top, long Right, long Bottom)
[VB.NET] [ Boolean = ]imagekitcontrolname.Zoom(Left As Integer, Top As Integer, Right As Integer, Bottom As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Zoom(int Left, int Top, int Right, int Bottom)

Parameters

Name | Explanation
Left | The left coordinate of the zoom area (in pixels)
Top | The top coordinate of the zoom area (in pixels)
Right | The right coordinate of the zoom area (in pixels)
Bottom | The bottom coordinate of the zoom area (in pixels)

Return Value

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

Explanation

The Zoom method zooms (in or out) on the area specified by the above four parameters so that the area fills the ImageKit Control while maintaining the height to width aspect of the specified area. After the Zoom method has executed the DispScaleX and DispScaleY property values are recalculated.


ImageKit Events

Custom Events | Explanation
AfterScan | Generated after an image is scanned with the scan device
BeforeScan | Generated just before an image is scanned with the scan device
ClickOnPanWindow |
EditToolBar | Generated whenever the image editing toolbars are opened or closed
EndDispImage | Generated after the image is displayed
EndLoad | Generated after a file has loaded
EndPopUpMenu | Generated just after the PopUp Menu has closed
EndRasterToVector | Generated after a raster image has been converted to a vector image
EndSave | Generated after a file has finished being saved
EndVectorToRaster | Generated after a vector image has been converted to a raster image
GetDragDropFileName | Generated after an image is dragged and dropped into the ImageKit Control
MagnifierMouseDown | Generated when the mouse button is pressed inside the Magnifier
MagnifierMouseMove | Generated when the mouse cursor is moved within the Magnifier
MagnifierMouseUp | Generated when the mouse button is released inside the Magnifier
MouseDownImage | Generated when the mouse cursor is inside the image and the mouse button has been pressed
MouseDownSelectLayerImage | Generated when the mouse cursor is over a layer image and the mouse button is been pressed
MouseMoveImage | Generated when the mouse moves over the image
MouseUpImage | Generated when the mouse cursor is inside the image and the mouse button has been released
MouseUpSelectLayerImage | Generated when the mouse cursor is over a layer image and the mouse button is been released
MouseWheelDownImage | Generated when the mouse wheel is rolled down
MouseWheelUpImage | Generated when the mouse wheel is rolled up
PanWindow | Generated whenever the Pan window is displayed or closed
Progress | Generated when an effect in being processed, a file is being loaded or saved, or when a file is converted between vector and raster
Scanning | Generated when an image is being scanned by the scan device
ScrollDispImage | Generated when a scroll bar is used to scroll the image
SelEditFunc | Generated when a button on the image editing toolbar (either Raster or Vector) is clicked
SelEditObj | Generated when aan on the image editing toolbar (either Raster or Vector) is selected
StartDispImage | Generated before the image is displayed
StartLoad | Generated before a file has started to load
StartPopUpMenu | Generated just before the PopUp Menu has closed
StartRasterToVector | Generated when a raster image is converted to a vector image
StartSave | Generated before an image is saved
StartVectorToRaster | Generated when a vector image is converted to a raster image


AfterScan (ImageKit Control/ Custom Event)

This event is generated after an image is scanned with the scan device.
[Visual Basic] imagekitcontrolname_AfterScan(ByVal DibHandle As ImageKit10(A)LibCtl.LONG_PTR, ByVal OrgHandle As ImageKit10(A)LibCtl.LONG_PTR, ByVal ImageCount As Long, ByVal BitOrder As Integer)
[Visual C++] OnAfterScan imagekitcontrolname(LONG_PTR DibHandle, LONG_PTR OrgHandle, long ImageCount, short BitOrder)
[VB.NET] imagekitcontrolname_AfterScan(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib.IImageKitEvents_AfterScanEvent)
[C#.NET] imagekitcontrolname_AfterScan(object sender, AxImageKit10(A)Lib.IImageKitEvents_AfterScanEvent e)

* ImageKitKit10ALibCtl/AxImageKit10ALib refers to the ANSI version, ImageKit10LibCtl/AxImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
DibHandle | The image handle of the scanned image data. This is the image handle of image data that can be processed by Windows
OrgHandle | The image handle of the scanned image data. This is the image handle of image data that cannot be processed by Windows (i.e. 12, 14, 16 bit grayscale; 36, 42, 48 bit color; or when compression is used.)
ImageCount | The number of images scanned
BitOrder | This parameter refers to whether the bits in each byte of the scanned image start from the left or start from the right. 0: Start from the right (LSB), 1: Start from the left (MSB)

* The second parameter in VB.NET/C#.NET is e and it contains the DibHandle and other arguments. (the first letter is lower case)

Explanation

This event is generated after an image is scanned with the scan device. The scanned image data (DibHandle and OrgHandle) is freed after this event fires so if you want to use this image data in any way, you must make a copy of the scanned image in the memory or save it in an image file.

(1) When using native transfer or when using memory transfer without compression:

If the scanned image is 1, 4, 8, or 24 bits, then the image will be set in the DibHandle and 0 will be set in the OrgHandle. If the scanned image is 12, 14, 16 bit grayscale, or 36, 42, or 48 bit color then the original image data will be set in the OrgHandle and the image data set in the DibHandle will be 8 bit grayscale or 24 bit color. If the image data is not supported by DibHandle, then it will be set to 0.

(2) When using memory transfer with compression:

The scanned image data will be set into the OrgHandle and 0 will be set into the DibHandle

(3) When using file transfer:

0 will be set in both the DibHandle and the OrgHandle

Furthermore, when the Scan.UiMode property is 2 (ikScanNONUI) and the Scan.UnitMode property is 5 (ikScanPixel), depending on the datasource, the Scan.XResolution and Scan.YResolution values are set to 1

To cancel the scan, set the Scan.Cancel property to True within this event.

Differences from ImageKit7/8

The DibHandle and OrgHandle argument types have changed


BeforeScan (ImageKit Control/ Custom Event)

This event is generated just before an image is scanned with the scan device.
[Visual Basic] imagekitcontrolname_BeforeScan(ByVal Width As Long, ByVal Height As Long, ByVal ImageCount As Long)
[Visual C++] OnBeforeScan imagekitcontrolname(long Width, long Height, long ImageCount)
[VB.NET] imagekitcontrolname_BeforeScan(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib.IImageKitEvents_BeforeScanEvent)
[C#.NET] imagekitcontrolname_BeforeScan(object sender, AxImageKit10(A)Lib.IImageKitEvents_BeforeScanEvent e)

* AxImageKit10ALib refers to the ANSI version, AxImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Width | The width of the image that will be transferred in pixels
Height | The height of the image that will be transferred in pixels
ImageCount | The image count. For a single page image file, this will always be 1. When scanning a multi-page image file, this will tell you which page of the multi-page file is about to be scanned.

* The second parameter in VB.NET/C#.NET is e and it contains the DibHandle and other arguments. (the first letter is lower case)

Explanation

Within this event it is possible to retrieve information about the actual image data that is being tranferred by referencing such properties as Scan.XResolution, Scan.YResolution, Scan.BitDepth, Scan.PixelType, Scan.Compression.

When the Scan.PaperSize property is set to 1000 (ikScanUndefinedSize) and above, the Width and Height parameters may return values of -1. It is also possible that the Width and Height parameters may return values bigger than the actual document plate.

When the Scan.PixelType property is set to 1000 (ikScanPixelAutomation), the retrieved BitDepth and PixelType may be different from the actual image.

To cancel the scan set the Scan.Cancel property to True within this event.

Regarding the Scan.XResolution and Scan.YResolution properties:

Although the TWAIN specifications allow scan units to be inches or centimeters, depending on the datasource (scan device) the scan units settings are ignored and DPI is used. Furthermore, if scan units are set to pixels, there are cases where the datasource will return a value of 1 as these resolution properties.

Regarding the Scan.BitDepth property:

If scanning in 12 or 14 bit grayscale, the Scan.BitDepth property will have a value of 16. If scanning in 36 or 42 bit color, the Scan.BitDepth property will have a value of 48.

Regarding the Scan.Compression property

This is used when file transfer or memory transfer is used. (For native transfer, this is irrelevant)


ClickOnPanWindow (ImageKit Control/ Custom Event)

This event is generated when the mouse cursor is inside the pan window and the left mouse button is pressed.
[Visual Basic] imagekitcontrolname_ClickOnPanWindow(ByVal x As Long, ByVal y As Long)
[Visual C++] OnClickOnPanWindow imagekitcontrolname(long x, long y)
[VB.NET] imagekitcontrolname_ClickOnPanWindow(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib.IImageKitEvents_ClickOnPanWindowEvent)
[C#.NET] imagekitcontrolname_ClickOnPanWindow(object sender, AxImageKit10(A)Lib.IImageKitEvents_ClickOnPanWindowEvent e)

* AxImageKit10ALib refers to the ANSI version, AxImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
x, y | The x and y coordinates of the mouse click location within the pan window. (in pixels)

* The second parameter in VB.NET/C#.NET is e and it contains the x,y arguments. (the first letter is lower case)

Explanation

The ClickOnPanWindow event is generated when the mouse cursor is inside the pan window and the left mouse button is pressed.


EditToolBar (ImageKit Control/ Custom Event)

This event is generated whenever the image editing toolbars are opened or closed (hidden).
[Visual Basic] imagekitcontrolname_EditToolBar(ByVal Mode As EditToolBarModeConstants)
[Visual C++] OnEditToolBar imagekitcontrolname(long Mode)
[VB.NET] imagekitcontrolname_EditToolBar(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib.IImageKitEvents_EditToolBarEvent)
[C#.NET] imagekitcontrolname_EditToolBar(object sender, AxImageKit10(A)Lib.IImageKitEvents_EditToolBarEvent e)

* AxImageKit10ALib refers to the ANSI version, AxImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Mode | The display mode (0: Hidden, 1: Raster Image Editing Toolbar 2: Vector Image Editing Toolbar

It is also possible to use the following constants (ikHide = 0, ikRaster = 1, ikVector = 2).

* The second parameter in VB.NET/C#.NET is e and it contains the Mode arguments. (the first letter is lower case)

Explanation

The EditToolBar event is generated whenever the image editing toolbars are displayed or when they are closed or hidden. The Edit.ShowToolBar method can be used to display or hide the image editing toolbars.


EndDispImage (ImageKit Control/ Custom Event)

This event is generated just after the image has been displayed.
[Visual Basic] imagekitcontrolname_EndDispImage(ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double)
[Visual C++] OnEndDispImage imagekitcontrolname(long OriginX, long OriginY, long Left, long Top, long Right, long Bottom, double ScaleWidth, double ScaleHeight)
[VB.NET] imagekitcontrolname_EndDispImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib.IImageKitEvents_EndDispImageEvent)
[C#.NET] imagekitcontrolname_EndDispImage(object sender, AxImageKit10(A)Lib.IImageKitEvents_EndDispImageEvent e)

* AxImageKit10ALib refers to the ANSI version, AxImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
OriginX | The horizontal distance from the left side of the ImageKit Control to the left side of the image. (If the image is larger than the ImageKit Control in the horizontal direction, OriginX will equal 0.)
OriginY | The vertical distance from the top of the ImageKit Control to the top of the image. (If the image is larger than the ImageKit Control in the vertical direction, OriginY will equal 0.)
Left | The horizontal distance from the left side of the actual image to the left side of that portion of the image currently being displayed.
Top | The vertical distance from the top of the actual image to the top of that portion of the image currently being displayed.
Right | The horizontal distance from the left side of the actual image to the right side of that portion of the image currently being displayed.
Bottom | The vertical distance from the top of the actual image to the top of that portion of the image currently being displayed.
ScaleWidth | The horizontal scale between the displayed portion of the image and the actual image.
ScaleHeight | The vertical scale between the original image and the displayed image.

The location and coordinates are in pixel units.

* The second parameter in VB.NET/C#.NET is e and it contains the OriginX and other arguments. (the first letter is lower case)

Explanation

The EndDispImage event is generated just after the image has been displayed. If there are processes that you want to occur just after an image is displayed, then place that code within this event.

The values of the OriginX and OriginY parameters will depend on the settings of the BorderVisible, Appearance, and Grad properties.

Note for Visual Basic:

In order to use the Left($) function and Right($) function within this event, please change the names of the Left and Right parameters of this event.

For example:

Private Sub ImageKit1_EndDispImage(ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left_ As Long, ByVal Top As Long, ByVal Right_ As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double)

End Sub


EndLoad (ImageKit Control/ Custom Event)

This event is generated after a file has loaded.
[Visual Basic] imagekitcontrolname_EndLoad(ByVal FileName As String)
[Visual C++] OnEndLoad imagekitcontrolname(LPCTSTR FileName)
[VB.NET] imagekitcontrolname_EndLoad(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib.IImageKitEvents_EndLoadEvent)
[C#.NET] imagekitcontrolname_EndLoad(object sender, AxImageKit10(A)Lib.IImageKitEvents_EndLoadEvent e)

* AxImageKit10ALib refers to the ANSI version, AxImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
FileName | The name of the file

* The second parameter in VB.NET/C#.NET is e and it contains the FileName argument. (the first letter is lower case)

Explanation

The EndLoad event is generated after a file has loaded, i.e. when theFile.FileLoadAsRawData, the LoadFile or the LoadFileMem methods are executed. When the LoadFileMem method is used raw data is loaded so the FileName parameter will be an empty string.


EndPopUpMenu (ImageKit Control/ Custom Event)

This event is generated just after the PopUp Menu has closed.
[Visual Basic] imagekitcontrolname_EndPopUpMenu()
[Visual C++] OnEndPopUpMenu imagekitcontrolname()
[VB.NET] imagekitcontrolname_EndPopUpMenu(ByVal sender As System.Object, ByVal e As System.EventArgs)
[C#.NET] imagekitcontrolname_EndPopUpMenu(object sender, EventArgs e)

Parameters

None

Explanation

The EndPopUpMenu event is generated just after the PopUp Menu has closed. The PopUp menu is displayed when using the image-editing toolbars and right clicking the mouse.


EndRasterToVector (ImageKit Control/ Custom Event)

This event is generated after a raster image has been converted to a vector image.
[Visual Basic] imagekitcontrolname_EndRasterToVector()
[Visual C++] OnEndRasterToVector imagekitcontrolname()
[VB.NET] imagekitcontrolname_EndRasterToVector(ByVal sender As System.Object, ByVal e As System.EventArgs)
[C#.NET] imagekitcontrolname_EndRasterToVector(object sender, EventArgs e)

Parameters

None

Explanation

The EndRasterToVector event is generated after a raster image has been converted to a vector image, i.e. after the Vector.RasterToVector method has executed.


EndSave (ImageKit Control/ Custom Event)

This event is generated after a file has finished being saved.
[Visual Basic] imagekitcontrolname_EndSave(ByVal FileName As String)
[Visual C++] OnEndSave imagekitcontrolname(LPCTSTR FileName)
[VB.NET] imagekitcontrolname_EndSave(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib.IImageKitEvents_EndSaveEvent)
[C#.NET] imagekitcontrolname_EndSave(object sender, AxImageKit10(A)Lib.IImageKitEvents_EndSaveEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
FileName | The name of the file

* The second parameter in VB.NET/C#.NET is e and it contains the FileName argument. (the first letter is lower case)

Explanation

The EndSave event is generated after a file has finished being saved, i.e. when theFile.FileSaveAsRawData method, the SaveFile method, or the SaveFileMem method have executed. When the SaveFileMem method is used, raw data is loaded and so the FileName parameter will be an empty string.


EndVectorToRaster (ImageKit Control/ Custom Event)

This event is generated after a vector image has been converted to a raster image.
[Visual Basic] imagekitcontrolname_EndVectorToRaster()
[Visual C++] OnEndVectorToRaster imagekitcontrolname()
[VB.NET] imagekitcontrolname_EndVectorToRaster(ByVal sender As System.Object, ByVal e As System.EventArgs)
[C#.NET] imagekitcontrolname_EndVectorToRaster(object sender, EventArgs e)

Parameters

None

Explanation

The EndVectorToRaster event is generated after a vector image has been converted to a raster image, i.e. after the Vector.VectorToRaster method has been executed.


GetDragDropFileName (ImageKit Control/ Custom Event)

This event is generated after an image is dragged and dropped into the ImageKit Control
[Visual Basic] imagekitcontrolname_GetDragDropFileName(ByVal FileName As String, ByVal Page As Integer)
[Visual C++] OnGetDragDropFileName imagekitcontrolname(LPCTSTR FileName, short Page)
[VB.NET] imagekitcontrolname_GetDragDropFileName(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_GetDragDropFineNameEvent)
[C#.NET] imagekitcontrolname_GetDragDropFileName(object sender, AxImageKit10(A)Lib._IImageKitEvents_GetDragDropFineNameEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
FileName | The name of the file dropped into the display control.
Page | The page number of a multi-page image file (From 0)

* The second parameter in VB.NET/C#.NET is e and it contains the FileName and Page arguments. (the first letter is lower case)

Explanation

The GetDragDropFileName event is generated after an image is dragged and dropped into the ImageKit Control. This event will be generated when an image file is dragged from Windows Explorer or the thumbnail control and dropped into the ImageKit Control.


MagnifierMouseDown (ImageKit Control/ Custom Event)

This event is generated when the mouse button is pressed inside the Magnifier.
[Visual Basic] imagekitcontrolname_MagnifierMouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
[Visual C++] OnMagnifierMouseDown imagekitcontrolname(short Button, short Shift, long x, long y)
[VB.NET] imagekitcontrolname_MagnifierMouseDown(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib_IImageKitEvents_MagnifierMouseDownEvent)
[C#.NET] imagekitcontrolname_MagnifierMouseDown(object sender, AxImageKit10(A)Lib_IImageKitEvents_MagnifierMouseDownEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Button | The type of button clicked (1: Left Button, 2: Right Button, 4: Center Button)
Shift | The type of key pressed (0: None, 1: Shift Key, 2: Ctrl Key, 4: Alt Key)
x, y | The coordinates for the center of the Magnifier

* The second parameter in VB.NET/C#.NET is e and it contains the Button and other arguments. (the first letter is lower case)

Explanation

The MagnifierMouseDown event is generated when the mouse button is pressed inside the Magnifier. When multiple keys are pressed the result calculated as a "Bitwise OR operation" meaning, for example, that if both the Ctrl key and the Alt key were pressed, the value of shift would be 6.


MagnifierMouseMove (ImageKit Control/ Custom Event)

This event is generated when the mouse cursor is moved within the Magnifier.
[Visual Basic] imagekitcontrolname_MagnifierMouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
[Visual C++] OnMagnifierMouseMove imagekitcontrolname(short Button, short Shift, long x, long y)
[VB.NET] imagekitcontrolname_MagnifierMouseMove(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MagnifierMouseMoveEvent)
[C#.NET] imagekitcontrolname_MagnifierMouseMove(object sender, AxImageKit10(A)Lib._IImageKitEvents_MagnifierMouseMoveEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Button | The type of button clicked (0: None, 1: Left Button, 2: Right Button, 4: Center Button)
Shift | The type of key pressed (0: None, 1: Shift Key, 2: Ctrl Key, 4: Alt Key)
x, y | The coordinates for the center of the Magnifier

* The second parameter in VB.NET/C#.NET is e and it contains the Button and other arguments. (the first letter is lower case)

Explanation

The MagnifierMouseMove event is generated when the mouse cursor is moved within the Magnifier. When multiple keys are pressed the result calculated as a "Bitwise OR operation" meaning, for example, that if both the Ctrl key and the Alt key were pressed, the value of shift would be 6.


MagnifierMouseUp (ImageKit Control/ Custom Event)

This event is generated when the mouse button is released inside the Magnifier.
[Visual Basic] imagekitcontrolname_MagnifierMouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
[Visual C++] OnMagnifierMouseUp imagekitcontrolname(short Button, short Shift, long x, long y)
[VB.NET] imagekitcontrolname_MagnifierMouseUp(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MagnifierMouseUpEvent)
[C#.NET] imagekitcontrolname_MagnifierMouseUp(object sender, AxImageKit10(A)Lib._IImageKitEvents_MagnifierMouseUpEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Button | The type of button released (1: Left Button, 2: Right Button, 4: Center Button)
Shift | The type of key pressed (0: None, 1: Shift Key, 2: Ctrl Key, 4: Alt Key)
x, y | The coordinates for the center of the Magnifier

* The second parameter in VB.NET/C#.NET is e and it contains the Button and other arguments. (the first letter is lower case)

Explanation

The MagnifierMouseUp event is generated when the mouse button is released inside the Magnifier. When multiple keys are pressed the result calculated as a "Bitwise OR operation" meaning, for example, that if both the Ctrl key and the Alt key were pressed, the value of shift would be 6.


MouseDownImage (ImageKit Control/ Custom Event)

This event is generated when the mouse cursor is inside the image and the mouse button has been pressed
[Visual Basic] imagekitcontrolname_MouseDownImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)
[Visual C++] OnMouseDownImage imagekitcontrolname(short Button, short Shift, long OriginX, long OriginY, long Left, long Top, long Right, long Bottom, double ScaleWidth, double ScaleHeight, long x, long y)
[VB.NET] imagekitcontrolname_MouseDownImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseDownImageEvent)
[C#.NET] imagekitcontrolname_MouseDownImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseDownImageEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Button | The type of button clicked (1: Left Button, 2: Right Button, 4: Center Button)
Shift | The type of key pressed (0: None, 1: Shift Key, 2: Ctrl Key, 4: Alt Key)
OriginX | The horizontal distance from the left side of the ImageKit Control to the left side of the image. (If the image is larger than the ImageKit Control in the horizontal direction, OriginX will equal 0.)
OriginY | The vertical distance from the top of the ImageKit Control to the top of the image. (If the image is larger than the ImageKit Control in the vertical direction, OriginY will equal 0.)
Left | The horizontal distance from the left side of the actual image to the left side of that portion of the image currently being displayed.
Top | The vertical distance from the top of the actual image to the top of that portion of the image currently being displayed.
Right | The horizontal distance from the left side of the actual image to the right side of that portion of the image currently being displayed.
Bottom | The vertical distance from the top of the actual image to the top of that portion of the image currently being displayed.
ScaleWidth | The horizontal scale between the displayed portion of the image and the actual image.
ScaleHeight | The vertical scale between the original image and the displayed image.
x, y | The coordinates on the image where the mouse button was pressed.

* The second parameter in VB.NET/C#.NET is e and it contains the Button and other arguments. (the first letter is lower case)

The values are in pixels.

Explanation

The MouseDownImage event is generated when the mouse cursor is inside the image and the mouse button has been pressed. This event is enabled when a valid image handle is set in the ImageHandle property or the Layer(LayerNo).ImageHandle property.

Note: The MouseDownImage event is generated before the standard MouseDown event.

When multiple keys are pressed the result is calculated as a "Bitwise OR operation", meaning, for example, that if both the Ctrl key and the Alt key were pressed, the value of shift would be 6.

The OriginX parameter and the OriginY parameter depend on the values set in the BorderVisible, Appearance, and Grad properties.

Note for Visual Basic:

In order to use the Left($) function and Right($) function within this event, please change the names of the Left and Right parameters of this event.

For Example:

Private Sub ImageKit1_MouseDownImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left_ As Long,
ByVal Top As Long, ByVal Right_ As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)
End Sub


MouseDownSelectLayerImage (ImageKit Control/ Custom Event)

This event is generated when the mouse cursor is over a layer image and the mouse button is been pressed
[Visual Basic] imagekitcontrolname_MouseDownSelectLayerImage(ByVal Index As Integer, ByVal x As Long, ByVal y As Long)
[Visual C++] OnMouseDownSelectLayerImage imagekitcontrolname(short Index, long x, long y)
[VB.NET] imagekitcontrolname_MouseDownSelectLayerImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseDownSelectLayerImageEvent)
[C#.NET] imagekitcontrolname_MouseDownSelectLayerImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseDownSelectLayerImageEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Index | The index for the image layer where the mouse button was pressed. (0 to 99)
x, y | The position of the mouse button press in relation to the top left corner of the image layer referred to by the Index parameter (in pixels). In other words, how far the mouse button press is from the top left corner of the image layer.

* The second parameter in VB.NET/C#.NET is e and it contains the Index and other arguments. (the first letter is lower case)

Explanation

The MouseDownSelectLayerImage event is generated when the mouse cursor is over a layer image and the mouse button is pressed.

If there is more than one image layer at the location where the mouse button was pressed, the top most image will be selected. For example if at the mouse down location there are two image layers as indicated by the Layer property index 0 and 3, the image layer corresponding to index 3 will be selected. (image layers with larger indexes are displayed above image layers with smaller indexes).


MouseMoveImage (ImageKit Control/ Custom Event)

This event is generated when the mouse moves over the image
[Visual Basic] imagekitcontrolname_MouseMoveImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)
[Visual C++] OnMouseMoveImage imagekitcontrolname(short Button, short Shift, long OriginX, long OriginY, long Left, long Top, long Right, long Bottom, double ScaleWidth, double ScaleHeight, long x, long y)
[VB.NET] imagekitcontrolname_MouseMoveImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseMoveImageEvent)
[C#.NET] imagekitcontrolname_MouseMoveImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseMoveImageEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Button | The type of button clicked (1: Left Button, 2: Right Button, 4: Center Button)
Shift | The type of key pressed (0: None, 1: Shift Key, 2: Ctrl Key, 4: Alt Key)
OriginX | The horizontal distance from the left side of the ImageKit Control to the left side of the image. (If the image is larger than the ImageKit Control in the horizontal direction, OriginX will equal 0.)
OriginY | The vertical distance from the top of the ImageKit Control to the top of the image. (If the image is larger than the ImageKit Control in the vertical direction, OriginY will equal 0.)
Left | The horizontal distance from the left side of the actual image to the left side of that portion of the image currently being displayed.
Top | The vertical distance from the top of the actual image to the top of that portion of the image currently being displayed.
Right | The horizontal distance from the left side of the actual image to the right side of that portion of the image currently being displayed.
Bottom | The vertical distance from the top of the actual image to the top of that portion of the image currently being displayed.
ScaleWidth | The horizontal scale between the displayed portion of the image and the actual image.
ScaleHeight | The vertical scale between the original image and the displayed image.
x, y | The coordinates on the image where the mouse move occurred.

* The second parameter in VB.NET/C#.NET is e and it contains the Button and other arguments. (the first letter is lower case)

The values are in pixels.

Explanation

The MouseMoveImage event is generated when the mouse moves over the image. This event is enabled when a valid image handle is set in the ImageHandle property or the Layer(Index).ImageHandle property.

Note: The MouseMoveImage event is generated before the standard MouseMove event.

When multiple keys are pressed the result calculated as a "Bitwise OR operation", meaning, for example, that if both the Ctrl key and the Alt key were pressed, the value of shift would be 6.

The OriginX parameter and the OriginY parameter depend on the values set in the BorderVisible, Appearance, and Grad properties.

Note for Visual Basic:

In order to use the Left($) function and Right($) function within this event, please change the names of the Left and Right parameters of this event.

For Example:

Private Sub ImageKit1_MouseMoveImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left_ As Long,
BByVal Top As Long, ByVal Right_ As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)

End Sub


MouseUpImage (ImageKit Control/ Custom Event)

This event is generated when the mouse cursor is inside the image and the mouse button has been released
[Visual Basic] imagekitcontrolname_MouseUpImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)
[Visual C++] OnMouseUpImage imagekitcontrolname(short Button, short Shift, long OriginX, long OriginY, long Left, long Top, long Right, long Bottom, double ScaleWidth, double ScaleHeight, long x, long y)
[VB.NET] imagekitcontrolname_MouseUpImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseUpImageEvent)
[C#.NET] imagekitcontrolname_MouseUpImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseUpImageEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Button | The type of button released (1: Left Button, 2: Right Button, 4: Center Button)
Shift | The type of key pressed (0: None, 1: Shift Key, 2: Ctrl Key, 4: Alt Key)
OriginX | The horizontal distance from the left side of the ImageKit Control to the left side of the image. (If the image is larger than the ImageKit Control in the horizontal direction, OriginX will equal 0.)
OriginY | The vertical distance from the top of the ImageKit Control to the top of the image. (If the image is larger than the ImageKit Control in the vertical direction, OriginY will equal 0.)
Left | The horizontal distance from the left side of the actual image to the left side of that portion of the image currently being displayed.
Top | The vertical distance from the top of the actual image to the top of that portion of the image currently being displayed.
Right | The horizontal distance from the left side of the actual image to the right side of that portion of the image currently being displayed.
Bottom | The vertical distance from the top of the actual image to the top of that portion of the image currently being displayed.
ScaleWidth | The horizontal scale between the displayed portion of the image and the actual image.
ScaleHeight | The vertical scale between the original image and the displayed image.
x, y | The coordinates on the image where the mouse was released.

* The second parameter in VB.NET/C#.NET is e and it contains the Button and other arguments. (the first letter is lower case)

The values are in pixels.

Explanation

The MouseUpImage event is generated when the mouse cursor is inside the image and the mouse button has been released. This event is enabled when the ImageHandle property or the Layer(Index).ImageHandle property contains a valid image handle.

Note: The MouseUpImage event is generated before the standard MouseUp event.

When multiple keys are pressed the result calculated as a "Bitwise OR operation", meaning, for example, that if both the Ctrl key and the Alt key were pressed, the value of shift would be 6.

The OriginX and OriginY parameters change depending on the values set in the BorderVisible, Appearance, and Grad properties.

Note for Visual Basic:

In order to use the Left($) function and Right($) function within this event, please change the names of the Left and Right parameters of this event.

For Example:

Private Sub ImageKit1_MouseUpImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left_ As Long,
ByVal Top As Long, ByVal Right_ As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)

End Sub


MouseUpSelectLayerImage (ImageKit Control/ Custom Event)

This event is generated when the mouse cursor is over a layer image and the mouse button is been released
[Visual Basic] imagekitcontrolname_MouseUpSelectLayerImage(ByVal Index As Integer, ByVal x As Long, ByVal y As Long)
[Visual C++] OnMouseUpSelectLayerImage imagekitcontrolname(short Index, long x, long y)
[VB.NET] imagekitcontrolname_MouseUpSelectLayerImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseUpSelectLayerImageEvent)
[C#.NET] imagekitcontrolname_MouseUpSelectLayerImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseUpSelectLayerImageEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Index | The index for the image layer where the mouse was released. (0 to 99)
x, y | The position of the mouse release in relation to the top left corner of the image layer referred to by the Index parameter (in pixels). In other words, how far the mouse release is from the top left corner of the image layer.

* The second parameter in VB.NET/C#.NET is e and it contains the Index and other arguments. (the first letter is lower case)

Explanation

The MouseUpSelectLayerImage event is generated when the mouse cursor is over a layer image and the mouse button is released.

If there is more than one layer image at the location where the mouse button was released, the top most image will be selected. For example if at the mouse release location there are two image layers as indicated by the Layer property index 0 and 3, the image layer corresponding to index 3 will be selected. (image layers with larger indexes are displayed above image layers with smaller indexes).


MouseWheelDownImage (ImageKit Control/ Custom Event)

This event is generated when the mouse wheel is rolled down
[Visual Basic] imagekitcontrolname_MouseWheelDownImage(ByVal Shift As Integer, ByVal Direction As MouseWheelConstants)
[Visual C++] OnMouseWheelDownImage imagekitcontrolname(short Shift, long Direction)
[VB.NET] imagekitcontrolname_MouseWheelDownImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseWheelDownImageEvent)
[C#.NET] imagekitcontrolname_MouseWheelDownImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseWheelDownImageEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Shift | This parameter retrieves (in hexadecimal notation) the other types of buttons that are pressed at the time this event is generated. 0x0001: Left mouse button 0x0002: Right mouse button 0x0004:Shift key 0x0008:Ctrl key 0x0010: Middle mouse button If multiple buttons are pressed, the above values are combined in a bitwise OR operation. For Visual Basic and VB.NET, please change the above 0x to &H
Direction | Direction of the scroll. (0: disables scroll, 1: vertical, 2: horizontal)

* The second parameter in VB.NET/C#.NET is e and it contains Shift, Direction, and other arguments. (the first letter is lower case)

It is also possible to use the following constants (ikDisable = 0, ikVertical = 1, ikHorizontal = 2)

Explanation

The MouseWheelDownImage event is generated when the mouse wheel is rolled down. Any code written in this event will execute whenever the mouse wheel is rolled down. Furthermore, by using the Shift parameter, you can determine whether another mouse button was pressed at the same time the mouse wheel was rolled down. In this way, you can write different code that executes if the left mouse button is pressed while the mouse wheel is rolled down or if the right mouse button is pressed while the mouse is rolled down, etc.

Note: The Direction parameter returns the value set in the MouseWheel property.


MouseWheelUpImage (ImageKit Control/ Custom Event)

This event is generated when the mouse wheel is rolled up
[Visual Basic] imagekitcontrolname_MouseWheelUpImage(ByVal Shift As Integer, ByVal Direction As MouseWheelConstants)
[Visual C++] OnMouseWheelUpImage imagekitcontrolname(short Shift, long Direction)
[VB.NET] imagekitcontrolname_MouseWheelUpImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_MouseWheelUpImageEvent)
[C#.NET] imagekitcontrolname_MouseWheelUpImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_MouseWheelUpImageEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Shift | This parameter retrieves (in hexadecimal notation) the other types of buttons that are pressed at the time this event is generated. 0x0001: Left mouse button 0x0002: Right mouse button 0x0004:Shift key 0x0008:Ctrl key 0x0010: Middle mouse button If multiple buttons are pressed, the above values are combined in a bitwise OR operation. For Visual Basic (including .NET), please change the above 0x to &H
Direction | Direction of the scroll. (0: disables scroll, 1: vertical, 2: horizontal)

* The second parameter in VB.NET/C#.NET is e and it contains Shift, Direction, and other arguments. (the first letter is lower case)

It is also possible to use the following constants (ikDisable = 0, ikVertical = 1, ikHorizontal = 2)

Explanation

The MouseWheelDownImage event is generated when the mouse wheel is rolled up. Any code written in this event will execute whenever the mouse wheel is rolled up. Furthermore, by using the Shift parameter, you can determine whether another mouse button was pressed at the same time the mouse wheel was rolled up. In this way, you can write different code that executes if the left mouse button is pressed while the mouse wheel is rolled up or if the right mouse button is pressed while the mouse is rolled up, etc.

Note: The Direction parameter returns the value set in the MouseWheel property.


PanWindow (ImageKit Control/ Custom Event)

This event is generated whenever the Pan window is displayed or closed
[Visual Basic] imagekitcontrolname_PanWindow(ByVal Show As Boolean)
[Visual C++] OnPanWindow imagekitcontrolname(BOOL Show)
[VB.NET] imagekitcontrolname_PanWindowEvent(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_PanWindowEvent)
[C#.NET] imagekitcontrolname_PanWindowEvent(object sender,AxImageKit10(A)Lib._IImageKitEvents_PanWindowEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Show | Display setting [ True (nonzero) The Pan window is being displayed, False(0): The Pan window is being Closed. ]

* The second parameter in VB.NET/C#.NET is e and it contains the Show argument. (the first letter is lower case)

Explanation

The PanWindow event is generated whenever the Pan window is displayed or closed. The Pan window can be displayed or closed by executing the PanWindow.Show method.


Progress (ImageKit Control/ Custom Event)

This event is generated when an effect is being processed, a file is being loaded or saved, or when a file is converted between vector and raster
[Visual Basic] imagekitcontrolname_Progress(ByVal Percent As Integer)
[Visual C++] OnProgress imagekitcontrolname(short Percent)
[VB.NET] imagekitcontrolname_Progress(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_ProgressEvent)
[C#.NET] imagekitcontrolname_Progress(object sender, AxImageKit10(A)Lib._IImageKitEvents_ProgressEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Percent | The percent of completion of the current process

* The second parameter in VB.NET/C#.NET is e and it contains the Percent argument. (the first letter is lower case)

Explanation

The Progress event is generated when the following things occur:

  • A file is loaded
  • A file is saved
  • The Vector.RasterToVector and the Vector.VectorToRaster methods are executed.
  • When any Effect method is executed OTHER THAN the Effect.EndDibAccess, Effect.EndDibAccessVariant, Effect.StartDibAccess, Effect.StartDibAccessVariant, Effect.GetDibPixel, Effect.GetDibPixelVariant, Effect.SetDibPixel, and Effect.SetDibPixelVariant.
  • When the File.FileLoadAsRawData, File.FileSaveAsRawData, File.LoadFile, File.LoadFileMem, File.SaveFile, and File.SaveFileMem methods are executed.

However, if the Caption, Message, or ButtonName properties have been set, the Progress event does not fire.

To cancel a process, set the Effect.Cancel, File.Cancel, or the Vector.Cancel property to True.


Scanning (ImageKit Control/ Custom Event)

This event is generated when an image is being scanned by the scan device.
[Visual Basic] imagekitcontrolname_Scanning(ByVal Percent As Integer)
[Visual C++] OnScanning imagekitcontrolname(short Percent)
[VB.NET] imagekitcontrolname_Scanning(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_ScanningEvent)
[C#.NET] imagekitcontrolname_Scanning(object sender, AxImageKit10(A)Lib._IImageKitEvents_ScanningEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Percent | Refers to the percent of scan completed (0`100%)

* The second parameter in VB.NET/C#.NET is e and it contains the Percent argument. (the first letter is lower case)

Explanation

The Scanning event is generated when an image is being scanned by the scan device.

The Scanning event is only enabled when using memory transfer. It is not generated when native transfer or file transfer is used. Also, when memory transfer is used, if compression is used and the BeforeScan event's Width and Height parameters have a value of -1, then the Scanning event is not generated.

To cancel, set the Scan.Cancel property to True within this event.


ScrollDispImage (ImageKit Control/ Custom Event)

This event is generated when a scroll bar is used to scroll the image
[Visual Basic] imagekitcontrolname_ScrollDispImage(ByVal ScrollCode As Integer, ByVal Pos As Integer, ByVal Direction As MouseWheelConstants)
[Visual C++] OnScrollDispImage imagekitcontrolname(short ScrollCode, short Pos, long Direction)
[VB.NET] imagekitcontrolname_ScrollDispImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_ScollDispImageEvent)
[C#.NET] imagekitcontrolname_ScrollDispImage(object sender, AxImageKit10(A)Lib._IImageKitEvents_ScollDispImageEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
ScrollCode This parameter returns different values depending on how the scrollbar was used.

0: The up arrow on the vertical scroll bar or the left arrow on the horizontal scroll bar was clicked.

1: The down arrow on the vertical scroll bar or the right arrow on the horizontal scroll bar was clicked.

2: The vertical scroll bar was clicked above the scroll box or the horizontal scroll bar was clicked to the left of
the scroll box.

3: The vertical scroll bar was clicked below the scroll box or the horizontal scroll bar was clicked to the right of
the scroll box.

5: The scroll box was used to scroll.

6: The scroll box was moved to the top position (or the far left position).

7: The scroll boxwas moved to the bottom position (or the far right position).
Pos | Returns the current position of the scroll box
Direction | The scroll direction: (1: vertical, 2: horizontal)

* The second parameter in VB.NET/C#.NET is e and it contains the ScrollCode and other arguments. (the first letter is lower case)

It is also possible to use the following constants (ikVertical = 1, ikHorizontal = 2)

Explanation

The ScrollDispImage event is generated when a scroll bar is used to scroll the image. To generate this event, the image must be displayed in actual size and the ScrollBar property must be True.

Note: This event is not generated when a mouse drag is used to scroll the image (when the MouseDragImage property is true). It is only generated when the scroll bar or scroll box is clicked.


SelEditFunc (ImageKit Control/ Custom Event)

This event is generated when a button on the image editing toolbar (either Raster or Vector) is clicked
[Visual Basic] imagekitcontrolname_SelEditFunc(ByVal SelFunction As SelEditFuncConstants)
[Visual C++] OnSelEditFunc imagekitcontrolname(long SelFunction)
[VB.NET] imagekitcontrolname_SelEditFunc(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_SelEditFuncEvent)
[C#.NET] imagekitcontrolname_SelEditFunc(object sender, AxImageKit10(A)Lib._IImageKitEvents_SelEditFuncEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
SelFunction | Retuns the type of button selected. 0: Cursor (Raster and Vector) 1: Zoom (Raster and Vector) 2: Select (Raster and Vector) 3: FreeSelect (Raster only) 4: Pen (Raster only) 5: PickColor (Raster only) 6: Rectangle (Raster and Vector) 7: Ellipse (Raster and Vector) 8: RoundRect (Raster and Vector) 9: Line (Raster and Vector) 10: Curve (Raster only) 11: Fill (Raster only) 12: AirBrush (Raster only) 13: Text (Raster and Vector) 14: Font (Raster and Vector) 15: Eraser (Raster only) 16:PolyLine (Vector only) 17:Polygon (Vector only) 18: Stamp (Raster only) 19:Image (Vector only) Image Editing ToolBars Raster, Vector

* The second parameter in VB.NET/C#.NET is e and it contains the SelFunction argument. (the first letter is lower case)

It's also possible to use the following constants (ikArrow = 0, ikZoom = 1, ikSelect = 2, ikFreeSelect = 3, ikPen = 4, ikSelectColor = 5, ikRectangle = 6, ikEllipse = 7, ikRoundRect = 8, ikLine = 9, ikBezier = 10, ikFillColor = 11, ikAirBrush = 12, ikText = 13, ikFont = 14, ikEraser = 15, ikPolyline = 16, ikPolygon = 17, ikStamp = 18, ikImage = 19).

Explanation

The SelEditFunc event is generated when a button on the image editing toolbar (either Raster or Vector) is clicked. The image editing toolbar is displayed by executing the ShowToolBar method of the Edit property.


SelEditObj (ImageKit Control/ Custom Event)

This event is generated when an object on the image editing toolbar (either Raster or Vector) is selected.
[Visual Basic] imagekitcontrolname_SelEditObj(ByVal SelObject As SelEditObjConstants)
[Visual C++] OnSelEditObj imagekitcontrolname(long SelObject)
[VB.NET] imagekitcontrolname_SelEditObj(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_SelEditObjEvent)
[C#.NET] imagekitcontrolname_SelEditObj(object sender, AxImageKit10(A)Lib._IImageKitEvents_SelEditObjEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
SelObject | Retuns the type of object selected. 0: Frame 1: Fill 2: Filled Frame 3: Pen1 4: Pen2 5: Pen3 6: Pen4 7: Pen5 8: ForeColor 9: BackColor 10: Text (Transparent Backcolor) 11: Text (Opaque Backcolor) 12: Square 13: Quadrangle 14: Circle 15: Oval 16: AirBrush1 17: AirBrush2 18: AirBrush3 19: AirBrush4 20: AirBrush5 21: Eraser1 22: Eraser2 23: Eraser3 24: Eraser4 25: Eraser5 26: Blur 27: Sharpness | Raster Image Toolbar (Vector Image Toolbar also supported)

* The second parameter in VB.NET/C#.NET is e and it contains the SelObject argument. (the first letter is lower case)

It's also possible to use the following constants (ikFrame = 0, ikFill = 1, ikFillFrame = 2, ikPen1 = 3, ikPen2 = 4, ikPen3 = 5, ikPen4 = 6, ikPen5 = 7, ikForeColor = 8, ikBackColor = 9, ikTransparent = 10, ikOpaque = 11, ikSquare = 12, ikQuadrangle = 13, ikCircle = 14, ikOval = 15, ikAirBrush1 = 16, ikAirBrush2 = 17, ikAirBrush3 = 18, ikAirBrush4 = 19, ikAirBrush5 = 20, ikEraser1 = 21, ikEraser2 = 22, ikEraser3 = 23, ikEraser4 = 24, ikEraser5 = 25, ikBlur = 26, ikSharpness = 27).

Explanation

The SelEditObj event is generated when an object on the image editing toolbar (either Raster or Vector) is selected. The image editing toolbar is displayed by executing the ShowToolBar method of the Edit property.


StartDispImage (ImageKit Control/ Custom Event)

This event is generated just before the image is displayed.
[Visual Basic] imagekitcontrolname_StartDispImage(ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double)
[Visual C++] OnStartDispImage imagekitcontrolname(long OriginX, long OriginY, long Left, long Top, long Right, long Bottom, double ScaleWidth, double ScaleHeight)
[VB.NET] imagekitcontrolname_StartDispImage(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib.IImageKitEvents_StartDispImageEvent)
[C#.NET] imagekitcontrolname_StartDispImage(object sender, AxImageKit10(A)Lib.IImageKitEvents_StartDispImageEvent e)

* AxImageKit10ALib refers to the ANSI version, AxImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
OriginX | The horizontal distance from the left side of the ImageKit Control to the left side of the image. (If the image is larger than the ImageKit Control in the horizontal direction, OriginX will equal 0.)
OriginY | The vertical distance from the top of the ImageKit Control to the top of the image. (If the image is larger than the ImageKit Control in the vertical direction, OriginY will equal 0.)
Left | The horizontal distance from the left side of the actual image to the left side of that portion of the image currently being displayed.
Top | The vertical distance from the top of the actual image to the top of that portion of the image currently being displayed.
Right | The horizontal distance from the left side of the actual image to the right side of that portion of the image currently being displayed.
Bottom | The vertical distance from the top of the actual image to the top of that portion of the image currently being displayed.
ScaleWidth | The horizontal scale between the displayed portion of the image and the actual image.
ScaleHeight | The vertical scale between the original image and the displayed image.

The location and coordinates are in pixel units.

* The second parameter in VB.NET/C#.NET is e and it contains the OriginX and other arguments. (the first letter is lower case)

Explanation

The StartDispImage event is generated just before the image is displayed. If there are processes that you want to occur before an image is displayed, then place that code within this event.

The values of the OriginX and OriginY parameters will depend on the settings of the BorderVisible, Appearance, and Grad properties.

Note for Visual Basic:

In order to use the Left($) function and Right($) function within this event, please change the names of the Left and Right parameters of this event.

For example:

Private Sub ImageKit1_StartDispImage(ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left_ As Long, ByVal Top As Long, ByVal Right_ As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double)

End Sub


StartLoad (ImageKit Control/ Custom Event)

This event is generated before a file has started to load.
[Visual Basic] imagekitcontrolname_StartLoad(ByVal FileName As String)
[Visual C++] OnStartLoad imagekitcontrolname(LPCTSTR FileName)
[VB.NET] imagekitcontrolname_StartLoad(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib.IImageKitEvents_StartLoadEvent)
[C#.NET] imagekitcontrolname_StartLoad(object sender, AxImageKit10(A)Lib.IImageKitEvents_StartLoadEvent e)

* AxImageKit10ALib refers to the ANSI version, AxImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
FileName | The file name

* The second parameter in VB.NET/C#.NET is e and it contains the FileName argument. (the first letter is lower case)

Explanation

The StartLoad event is generated before a file has started to load, i.e. when theFile.FileLoadAsRawData, the LoadFile or the LoadFileMem methods are executed. When the LoadFileMem method is used raw data is loaded so the FileName parameter will be an empty string.


StartPopUpMenu (ImageKit Control/ Custom Event)

This event is generated just before the PopUp Menu has closed.
[Visual Basic] imagekitcontrolname_StartPopUpMenu(ByVal MenuNum As Integer)
[Visual C++] OnStartPopUpMenu imagekitcontrolname(short MenuNum)
[VB.NET] imagekitcontrolname_StartPopUpMenu(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib._IImageKitEvents_StartPopUpMenuEvent)
[C#.NET] imagekitcontrolname_StartPopUpMenu(object sender, AxImageKit10(A)Lib._IImageKitEvents_StartPopUpMenuEvent e)

AxImageKitKit9ALib refers to the ANSI version, AxImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
MenuNum | The type of the menu selected For Raster Image Editing 0: Select All 1: Cut 2: Copy 3: Paste 4: Rotate 5: Unselect 6: Undo For Raster Image Editing 0: Delete 1: Copy 2: Paste 3: Rotate 4: Property 5: Move Forward 6: Move Back 7: Undo

* The second parameter in VB.NET/C#.NET is e and it contains the MenuNum argument. (the first letter is lower case)

Explanation

The StartPopUpMenu event is generated just before the PopUp Menu has closed. The PopUp menu is displayed when using the image-editing toolbars and right clicking the mouse.


StartRasterToVector (ImageKit Control/ Custom Event)

This event is generated when a raster image is converted to a vector image.
[Visual Basic] imagekitcontrolname_StartRasterToVector()
[Visual C++] OnStartRasterToVector imagekitcontrolname()
[VB.NET] imagekitcontrolname_StartRasterToVector(ByVal sender As System.Object, ByVal e As System.EventArgs)
[C#.NET] imagekitcontrolname_StartRasterToVector(object sender, EventArgs e)

Parameters

None

Explanation

The StartRasterToVector event is generated when a raster image is converted to a vector image, i.e. when the Vector.RasterToVector method is executed.


StartSave (ImageKit Control/ Custom Event)

This event is generated when a file is saved.
[Visual Basic] imagekitcontrolname_StartSave(ByVal FileName As String)
[Visual C++] OnStartSave imagekitcontrolname(LPCTSTR FileName)
[VB.NET] imagekitcontrolname_StartSave(ByVal sender As System.Object, ByVal e As AxImageKit10(A)Lib.IImageKitEvents_StartSaveEvent)
[C#.NET] imagekitcontrolname_StartSave(object sender, AxImageKit10(A)Lib.IImageKitEvents_StartSaveEvent e)

AxImageKit10ALib refers to the ANSI version, AXImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
FileName | The name of the file

* The second parameter in VB.NET/C#.NET is e and it contains the FileName argument. (the first letter is lower case)

Explanation

The StartSave event is generated when a file is saved, i.e. when the File.FileSaveAsRawData method, the SaveFile method, or the SaveFileMem method are executed. When the SaveFileMem method is used, raw data is loaded so the FileName parameter will be an empty string.


StartVectorToRaster (ImageKit Control/ Custom Event)

This event is generated when a vector image is converted to a raster image.
[Visual Basic] imagekitcontrolname_StartVectorToRaster()
[Visual C++] OnStartVectorToRaster imagekitcontrolname()
[VB.NET] imagekitcontrolname_StartVectorToRaster(ByVal sender As System.Object, ByVal e As System.EventArgs)
[C#.NET] imagekitcontrolname_StartVectorToRaster(object sender, EventArgs e)

Parameters

None

Explanation

The StartVectorToRaster event is generated when a vector image is converted to a raster image, i.e. when the Vector.VectorToRaster method is executed.


ImageKit Edit Interface

The ImageKit Edit interface exposes properties and methods for editing images.

Property List

Custom Properties | Explanation
Action | Refers to the type of action performed by the image editing toolbar
AirBrushSize | Sets the size of the airbrush to be used. (i.e AirBrush1)
AirBrushSize1 | Sets the diameter of AirBrush1
AirBrushSize2 | Sets the diameter of AirBrush2
AirBrushSize3 | Sets the diameter of AirBrush3
AirBrushSize4 | Sets the diameter of AirBrush4
AirBrushSize5 | Sets the diameter of AirBrush5
BackColor | Sets the background color used by the image editing toolbar
Blur | Sets the type of airbrush (whether mist or spray)
cCircle | Sets the type of ellipse (for VisualBasic)
Circle | Sets the type of ellipse
ClearText | Sets whether or not the text in the text tool of the image editing toolbar will be reset or not
EditEnable | Enables image editing
EditImageLayerNo | Sets the image that will be edited
EditStatus | Retreives whether or not an image has been edited
EnableEditPopupMenu | Sets whether or not the edit popup menu is displayed when the right mouse button is clicked
EraserSize | Sets the size of the eraser to be used. (i.e Eraser1)
EraserSize1 | Sets the size of Eraser1
EraserSize2 | Sets the size of Eraser2
EraserSize3 | Sets the size of Eraser3
EraserSize4 | Sets the size of Eraser4
EraserSize5 | Sets the size of Eraser5
FillPattern | Selects the fill pattern used in the image editing toolbar
FontBold | Sets the font to bold
FontItalic | Sets the font to italic
FontName | Sets the font name
FontSize | Sets the size of the font
FontStrikeOut | Sets a strike through line on the font
FontTrans | Sets the backcolor of the text to transparent
FontUnderline | Sets an underline on the font
ForeColor | Sets the foreground color used by the image editing toolbars
Hwnd | Refers to the window handle of the image editing toolbar
PenSize | Sets the size of pen to be used (i.e. Pen1)
PenSize1 | Sets the size of Pen1
PenSize2 | Sets the size of Pen2
PenSize3 | Sets the size of Pen3
PenSize4 | Sets the size of Pen4
PenSize5 | Sets the size of Pen5
Square | Sets the type of rectangle (i.e. whether square or rectangle) used by the image editing toolbar
StampBmpFile | Sets the BMP file that will be used for the stamp
StampTransBlue | Sets the transparent color (blue value) for the stamp
StampTransGreen | Sets the transparent color (green value) for the stamp
StampTransRed | Sets the transparent color (red value) for the stamp
Text | Sets the text string to be drawn on the image
ToolBarCaption | Sets the caption in the image editing toolbar
ToolBarCloseBox | Sets a close button on the image editing toolbar
ToolBarFixed | Sets the toolbar so that it cannot be moved
ToolBarLeft | Sets the horizontal position where the image editing toolbar is displayed
ToolBarMouseCursorFile | Sets the cursor file for the shape of the cursor in the image editing toolbar
ToolBarTop | Sets the vertical position where the image editing toolbar is displayed
UndoRasterCountMax | Sets the number of times that "Undo" can be used in the Raster Image Editing Toolbar.
UndoVectorCountMax | Sets the number of times that "Undo" can be used in the Vector Image Editing Toolbar.

Method List

Custom Methods | Explanation
ClearSelect | Clears the selected area. Executing this method is the same as using the edit popup menu and choosing "Clear"
Copy | Copies the selected area to the clipboard. Executing this method is the same as using the edit popup menu and choosing "Copy"
CutAndCopy | Cuts the selected area and copies to the clipboard. Executing this method is the same as using the edit popup menu and choosing "Cut"
Delete | Delete the selected area. Executing this method is the same as using the edit popup menu and choosing "Delete"
GetArrayPointsNum | Returns the number of points defining the selection area when the Select or FreeSelect tool of the image editing toolbar is used
GetArrayPointsXY | Returns the coordinates of points defining the selection area when the Select or FreeSelect tool of the image editing toolbar is used
GetArrayPointsXYVariant | Returns the coordinates of points defining the selection area when the Select or FreeSelect tool of the image editing toolbar is used. For use in scripting languages or other programs that require a variant type
Modify | Saves editing changes into the image data
MoveToBack | For Vector images: Moves the selected object to the back. Executing this method is the same as using the edit popup menu in the Vector Editing Toolbar and choosing "MoveToBack"
MoveToFront | For Vector images: Moves the selected object to the front. Executing this method is the same as using the edit popup menu in the Vector Editing Toolbar and choosing "MoveToFront"
Paste | Pastes the copied data into the image. Executing this method is the same as using the edit popup menu and choosing "Paste"
Property | For Vector images: Displays the property dialog. Executing this method is the same as using the edit popup menu and choosing "Properties"
Rotate | Rotates the selected area. Executing this method is the same as using the edit popup menu and choosing "Rotate"
SelectAll | Selects the entire image. Executing this method is the same as using the edit popup menu and choosing "SelectAll"
ShowToolBar | Displays the image editing toolbar
Undo | Undo the previous change. Executing this method is the same as using the edit popup menu and choosing "Undo"


ImageKit Edit Properties

Custom Properties | Explanation
Action | Refers to the type of action performed by the image editing toolbar
AirBrushSize | Sets the size of the airbrush to be used. (i.e AirBrush1)
AirBrushSize1 | Sets the diameter of AirBrush1
AirBrushSize2 | Sets the diameter of AirBrush2
AirBrushSize3 | Sets the diameter of AirBrush3
AirBrushSize4 | Sets the diameter of AirBrush4
AirBrushSize5 | Sets the diameter of AirBrush5
BackColor | Sets the background color used by the image editing toolbar
Blur | Sets the type of airbrush (whether mist or spray)
cCircle | Sets the type of ellipse (for VisualBasic)
Circle | Sets the type of ellipse
ClearText | Sets whether or not the text in the text tool of the image editing toolbar will be reset or not
EditEnable | Enables image editing
EditImageLayerNo | Sets the image that will be edited
EditStatus | Retreives whether or not an image has been edited
EnableEditPopupMenu | Sets whether or not the edit popup menu is displayed when the right mouse button is clicked
EraserSize | Sets the size of the eraser to be used. (i.e Eraser1)
EraserSize1 | Sets the size of Eraser1
EraserSize2 | Sets the size of Eraser2
EraserSize3 | Sets the size of Eraser3
EraserSize4 | Sets the size of Eraser4
EraserSize5 | Sets the size of Eraser5
FillPattern | Selects the fill pattern used in the image editing toolbar
FontBold | Sets the font to bold
FontItalic | Sets the font to italic
FontName | Sets the font name
FontSize | Sets the size of the font
FontStrikeOut | Sets a strike through line on the font
FontTrans | Sets the backcolor of the text to transparent
FontUnderline | Sets an underline on the font
ForeColor | Sets the foreground color used by the image editing toolbars
Hwnd | Refers to the window handle of the image editing toolbar
PenSize | Sets the size of pen to be used (i.e. Pen1)
PenSize1 | Sets the size of Pen1
PenSize2 | Sets the size of Pen2
PenSize3 | Sets the size of Pen3
PenSize4 | Sets the size of Pen4
PenSize5 | Sets the size of Pen5
Square | Sets the type of rectangle (i.e. whether square or rectangle) used by the image editing toolbar
StampBmpFile | Sets the BMP file that will be used for the stamp
StampTransBlue | Sets the transparent color (blue value) for the stamp
StampTransGreen | Sets the transparent color (green value) for the stamp
StampTransRed | Sets the transparent color (red value) for the stamp
Text | Sets the text string to be drawn on the image
ToolBarCaption | Sets the caption in the image editing toolbar
ToolBarCloseBox | Sets a close button on the image editing toolbar
ToolBarFixed | Sets the toolbar so that it cannot be moved
ToolBarLeft | Sets the horizontal position where the image editing toolbar is displayed
ToolBarMouseCursorFile | Sets the cursor file for the shape of the cursor in the image editing toolbar
ToolBarTop | Sets the vertical position where the image editing toolbar is displayed
UndoRasterCountMax | Sets the number of times that "Undo" can be used in the Raster Image Editing Toolbar.
UndoVectorCountMax | Sets the number of times that "Undo" can be used in the Vector Image Editing Toolbar.


Action (ImageKit Control/Edit Property)

This property refers to the type of button on the image editing toolbar
[Visual Basic] imagekitcontrolname.Edit.Action [ = SelEditFuncConstants ]
[Visual C++] [long= ]imagekitcontrolname.GetEdit().GetAction()imagekitcontrolname.GetEdit().SetAction(long Val)
[VB.NET] imagekitcontrolname.Edit.Action[ = ImageKit10(A)Lib.SelEditFuncConstants ]
[C#.NET] imagekitcontrolname.Edit.Action[ = ImageKit10(A)Lib.SelEditFuncConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Arrow Cursor (Raster), Select (Vector)
1 | Zoom (Raster and Vector)
2 | Select an area (Raster and Vector)
3 | FreeSelect (Raster only)
4 | Pen (Raster only)
5 | PickColor (Raster only)
6 | Rectangle (Raster and Vector)
7 | Ellipse (Raster and Vector)
8 | RoundRect (Raster and Vector)
9 | Line (Raster and Vector)
10 | Curve (Raster only)
11 | Fill (Raster only)
12 | AirBrush (Raster only)
13 | Text (Raster and Vector)
14 | Font (Raster and Vector)
15 | Eraser (Raster only)
16 | PolyLine (Vector only)
17 | Polygon (Vector only)
18 | Stamp (Raster only)
19 | Image (Vector only)

It's also possible to use the following constants (ikArrow = 0, ikZoom = 1, ikSelect = 2, ikFreeSelect = 3, ikPen = 4, ikSelectColor = 5, ikRectangle = 6, ikEllipse = 7, ikRoundRect = 8, ikLine = 9, ikBezier = 10, ikFillColor = 11, ikAirBrush = 12, ikText = 13, ikFont = 14, ikEraser = 15, ikPolyline = 16, ikPolygon = 17, ikStamp = 18, ikImage = 19).

Explanation

The Action property refers to the type of button on the image editing toolbar. When a button is clicked on the image editing toolbar, that button's value is set in this property. Conversely, when the property value is set the buttons appearance on the image editing toolbar can reflect this value.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


AirBrushSize (ImageKit Control/Edit Property)

This property sets the size of airbrush used in the image editing toolbar
[Visual Basic] imagekitcontrolname.Edit.AirBrushSize [ = AirBrushSizeConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetEdit().GetAirBrushSize()imagekitcontrolname.GetEdit().SetAirBrushSize(long Val)
[VB.NET] imagekitcontrolname.Edit.AirBrushSize [ = ImageKit10(A)Lib.AirBrushSizeConstants ]
[C#.NET] imagekitcontrolname.Edit.AirBrushSize [ = ImageKit10(A)Lib.AirBrushSizeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | AirBrush1 (AirBrushSize1)
1 | AirBrush2 (AirBrushSize2)
2 | AirBrush3 (AirBrushSize3)
3 | AirBrush4 (AirBrushSize4)
4 | AirBrush5 (AirBrushSize5)

It's also possible to use the following constants (ikAirBrushSize1 = 0, ikAirBrushSize= 1, ikAirBrushSize3 = 2, ikAirBrushSize4 = 3, ikAirBrushSize5 = 4).

Explanation

The AirBrushSize property sets the size of airbrush used in the image editing toolbar. The AirBrushSize property is used to change the airbrush by code, i.e. when the AirBrushSize property is 0, the size set in the AirBrushSize1 property is used.

Note: If an airbrush object on the image editing toolbar is selected, that size is used.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


AirBrushSize1, AirBrushSize2, AirBrushSize3, AirBrushSize4, AirBrushSize5 (ImageKit Control/Edit Property)

These properties set the size of the diameter of the airbrush used in the image editing toolbar

* AirBrushSize1 is explained. The other properties are used in the same way.

[Visual Basic] imagekitcontrolname.Edit.AirBrushSize1 [ = Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetEdit().GetAirBrushSize1()imagekitcontrolname.GetEdit().SetAirBrushSize1(short Val)
[VB.NET] imagekitcontrolname.Edit.AirBrushSize1 [ = Short ]
[C#.NET] imagekitcontrolname.Edit.AirBrushSize1 [ = Short ]

Property Value

The size of the diameter of the airbrush (in pixels). By default, AirBrushSize1 is 4, AirBrushSize2 is 8, AirBrushSize3 is 12, AirBrushSize4 is 16, and AirBrushSize5 is 20.

Explanation

These properties set the size of the diameter of the airbrush used in the image editing toolbar. These properties define 5 distinct sizes for the airbrush that is used in the image editing toolbar.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


BackColor (ImageKit Control/Edit Property)

This property sets the color for the background of the ImageKit Control
[Visual Basic] imagekitcontrolname.Edit.BackColor [ = OLE_COLOR ]
[Visual C++] [unsigned long= ]imagekitcontrolname.GetEdit().GetBackColor()imagekitcontrolname.GetEdit().SetBackColor(unsigned long Val)
[VB.NET] imagekitcontrolname.Edit.BackColor [ = UInteger ]
[C#.NET] imagekitcontrolname.Edit.BackColor [ = uint ]

Property Value

BackColor is the ImageKit Control's background color.

Explanation

The BackColor property sets the color for the background of the ImageKit Control. To set color, please use the appropriate RGB(Red, Green, Blue) value.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Blur (ImageKit Control/Edit Property)

This property sets the pattern of the airbrush used in the image editing toolbar (i.e. a mist or a spray)
[Visual Basic] imagekitcontrolname.Edit.Blur [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetBlur()imagekitcontrolname.GetEdit().SetBlur(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.Blur [ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.Blur [ = bool ]

Property Value

Value | Explanation
True | mist (the spray is blurred to a fine mist)
False | spray

Explanation

The Blur property sets the pattern of the airbrush used in the image editing toolbar. The default value is True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


cCircle, Circle (ImageKit Control/Edit Property)

These properties set the type of ellipse (whether circle or ellipse) used in the image editing toolbar

* Circle is explained. cCircle is used in the same way.
[Visual Basic] imagekitcontrolname.Edit.Circle [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetCircle()imagekitcontrolname.GetEdit().SetCircle(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.Circle [ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.Circle [ = bool ]

Property Value

Value | Explanation
True | Circle
False | Ellipse

Explanation

These properties set the type of ellipse (whether circle or ellipse) used in the image editing toolbar. The default value is False.

Note: In VisualBasic (not including .NET), the Circle property can not be set so the cCircle property was added.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ClearText (ImageKit Control/Edit Property)

ImageKit10 ActiveX

ClearText (ImageKit Control/ Edit Property)

This property sets whether or not text, previously added to the image-editing toolbar's textbox, is cleared when the textbox is displayed.
[Visual Basic] imagekitcontrolname.Edit.ClearText[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetClearText()imagekitcontrolname.GetEdit().SetClearText(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.ClearText[ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.ClearText[ = bool ]

Property Value

Value | Explanation
True | The textbox is cleared
False (default value) | The textbox is not cleared. (The string set in the Edit.Text property is displayed in the textbox)

Explanation

The ClearText property sets whether or not text, previously added to the image-editing toolbar's textbox, is cleared when the textbox is displayed. When this property is true, the text is cleared from the textbox. When this property is false, the string set in the Edit.Text property appears in the textbox when it is displayed. The default value of the ClearText property is False.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


EditEnable (ImageKit Control/Edit Property)

This property sets whether or not the image editing is enabled.
[Visual Basic] imagekitcontrolname.Edit.EditEnable[= Boolean ]
[Visual C++] [ BOOL= ]imagekitcontrolname.GetEdit().GetEditEnable()imagekitcontrolname.GetEdit().SetEditEnable(Bool Val)
[VB.NET] imagekitcontrolname.Edit.EditEnable[= Boolean ]
[C#.NET] imagekitcontrolname.Edit.EditEnable[= bool ]

Property Value

Value | Explanation
True | Editing functions enabled
False | Editing functions disabled (default)

Explanation

The EditEnable property sets whether or not image editing is enabled. The default value is False.

When this property is true and a raster image is set in the ImageHandle property, the ImageHdc property is enabled and image editing becomes possible using PrintDraw methods. When using the ImageHdc property, grahics and text are written into the image data in the memory. To make these changes permanent, execute the Modify method.

The EditEnable property also allows the image editing toolbars to be used to edit images. For raster images, only the base image can be edited. For vector images, the image set in the EditImageLayerNo property is the image that can be edited.

The EditEnable property corresponds to the Display Control's EditEnable property in earlier versions of the ImageKit.

Setting this value

This value cannot be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


EditImageLayerNo (ImageKit Control/Edit Property)

ImageKit10 ActiveX

EditImageLayerNo (ImageKit Control/ Edit Property)

This property sets the image that can be edited when the EditEnable property is true.
[Visual Basic] imagekitcontrolname.Edit.EditImageLayerNo[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetEdit().GetEditImageLayerNo()imagekitcontrolname.GetEdit().SetEditImageLayerNo(short Val)
[VB.NET] imagekitcontrolname.Edit.EditImageLayerNo[ = Short ]
[C#.NET] imagekitcontrolname.Edit.EditImageLayerNo[ = short ]

Property Value

From -1 to 99. The default value is -1

Explanation

This property sets the image that can be edited when the EditEnable property is true. When this property is set to -1, the image set in the ImageHandle property is enable for editing. For values other than -1, the image corresponding to the Layer(EditImageLayerNo).ImageHandle property will be enabled for editing.

Note: For raster images, only the base image layer can be edited. So if the EditImageLayerNo property value is 0 or more and the image referred to by the Layer(EditImageLayerNo).ImageHandle property is a raster image, it cannot be edited.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


EditStatus (ImageKit Control/Edit Property)

ImageKit10 ActiveX

EditStatus (ImageKit Control/ Edit Property)

This property retrieves the editing status of an image.
[Visual Basic] imagekitcontrolname.Edit.EditStatus[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetEditStatus()
[VB.NET] imagekitcontrolname.Edit.EditStatus[ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.EditStatus[ = bool ]

Property Value

The editing status of an image

Value | Explanation
True | The image has been edited
False | The image has not been edited

Explanation

The EditStatus property retrieves the editing status of an image. When true, please execute the Modify method to save the changes to the image data.

This property can also be checked when an application is closed to determine whether or not to save editing changes.

The EditStatus property corresponds to the Display Control's Edit.RasterEditStatus and Edit.VectorEditStatus properties in earlier versions of the ImageKit.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


EnableEditPopupMenu (ImageKit Control/Edit Property)

This property sets whether or not the edit popup menu is displayed when the right mouse button is clicked
[Visual Basic] imagekitcontrolname.Edit.EnableEditPopupMenu [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetEnableEditPopupMenu()imagekitcontrolname.GetEdit().SetEnableEditPopupMenu(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.EnableEditPopupMenu [ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.EnableEditPopupMenu [ = bool ]

Property Value

Value | Explanation
True | Displays the popup menu when the right mouse button is clicked
False | Does not display the popup menu

Explanation

The EnableEditPopupMenu property sets whether or not the edit popup menu is displayed when the right mouse button is clicked. The default value is True.

The edit popup menu appears after the image editing toolbar has been displayed and the right mouse button is clicked.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


EraserSize (ImageKit Control/Edit Property)

This property selects the eraser used by the image editing toolbar
[Visual Basic] imagekitcontrolname.Edit.EraserSize [ = EraserSizeConstants ]
[Visual C++] [long= ]imagekitcontrolname.GetEdit().GetEraserSize()imagekitcontrolname.GetEdit().SetEraserSize(long Val)
[VB.NET] imagekitcontrolname.Edit.EraserSize [ = ImageKit10(A)Lib.EraserSizeConstants ]
[C#.NET] imagekitcontrolname.Edit.EraserSize [ = ImageKit10(A)Lib.EraserSizeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Eraser1 (EraserSize1)
1 | Eraser2 (EraserSize2)
2 | Eraser3 (EraserSize3)
3 | Eraser4 (EraserSize4)
4 | Eraser5 (EraserSize5)

It's also possible to use the following constants (ikEraserSize1 = 0, ikEraserSize2= 1, ikEraserSize3 = 2, ikEraserSize4 = 3, ikEraserSize5 = 4).

Explanation

The EraserSize property is used to change the eraser by code, i.e. when the EraserSize property is 0, the size set in the EraserSize1 property is used.

Note: If an eraser object on the image editing toolbar is selected, that size is used.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


EraserSize1, EraserSize2, EraserSize3, EraserSize4, EraserSize5 (ImageKit Control/Edit Property)

ImageKit10 ActiveX

EraserSize1, EraserSize2, EraserSize3, EraserSize4, EraserSize5 (ImageKit Control/ Edit Property)

These properties set the size of the eraser used in the image editing toolbar

* EraserSize1 is explained. The other properties are used in the same way.

[Visual Basic] imagekitcontrolname.Edit.EraserSize1 [ = Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetEdit().GetEraserSize1()imagekitcontrolname.GetEdit().SetEraserSize1(short Val)
[VB.NET] imagekitcontrolname.Edit.EraserSize1 [ = Short ]
[C#.NET] imagekitcontrolname.Edit.EraserSize1 [ = short ]

Property Value

The size of the eraser (in pixels). By default, EraserSize1 is 1, EraserSize2 is 3, EraserSize3 is 6, EraserSize4 is 9, and EraserSize5 is 12.

Explanation

These properties set the size of the eraser used in the image editing toolbar.

These properties define 5 distinct sizes for the eraser that is used in the image editing toolbar.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FillPattern (ImageKit Control/Edit Property)

This property selects the fill pattern used in the image editing toolbar
[Visual Basic] imagekitcontrolname.Edit.FillPattern [ = FillPatternConstants ]
[Visual C++] [long= ]imagekitcontrolname.GetEdit().GetFillPattern()imagekitcontrolname.GetEdit().SetFillPattern(long Val)
[VB.NET] imagekitcontrolname.Edit.FillPattern [ = ImageKit10(A)Lib.FillPatternConstants ]
[C#.NET] imagekitcontrolname.Edit.FillPattern [ = ImageKit10(A)Lib.FillPatternConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Outline
1 | Fill
2 | Outline + fill

It's also possible to use the following constants (ikFramePattern = 0, ikFillPattern = 1, ikFillFramePattern = 2).

Explanation

The FillPattern property sets the fill pattern when drawing a rectangle, ellipse, and rounded rectangle.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FontBold (ImageKit Control/Edit Property)

This property sets the characteristics of the fonts used by the image editing toolbar

[Visual Basic] imagekitcontrolname.Edit.FontBold[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetFontBold()imagekitcontrolname.GetEdit().SetFontBold(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.FontBold[ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.FontBold[ = bool ]

Property Value

FontBold sets the font to bold.

Value | Explanation
True | Enables the property
False | Disables the property(default)

Explanation

The FontBold property sets the font to bold. The default value is False.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FontItalic (ImageKit Control/Edit Property)

This property sets the characteristics of the fonts used by the image editing toolbar

[Visual Basic] imagekitcontrolname.Edit.FontItalic[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetFontItalic()imagekitcontrolname.GetEdit().SetFontItalic(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.FontItalic[ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.FontItalic[ = bool ]

Property Value

FontItalic sets the font to italics.

Value | Explanation
True | Enables the property
False | Disables the property(default)

Explanation

The FontItalic property sets the font to italics. The default value is False.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FontName (ImageKit Control/Edit Property)

This property sets the font name that is used when drawing text with the image editing toolbar

[Visual Basic] imagekitcontrolname.Edit.FontName[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetEdit().GetFontName()imagekitcontrolname.GetEdit().SetFontName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Edit.FontName[ = String ]
[C#.NET] imagekitcontrolname.Edit.FontName[ = string ]

Property Value

FontName is the name of the font (In the Ansi version, this is less than 31 bytes in length. In the Unicode version, this is less than 31 characters in length)

Explanation

The FontName property is enabled when the image editing toolbar is used to draw text.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FontSize (ImageKit Control/Edit Property)

This property sets the size of the font used when drawing text with the image editing toolbar
[Visual Basic] imagekitcontrolname.Edit.FontSize [ = Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetEdit().GetFontSize()imagekitcontrolname.GetEdit().SetFontSize(short Val)
[VB.NET] imagekitcontrolname.Edit.FontSize [ = Short ]
[C#.NET] imagekitcontrolname.Edit.FontSize [ = short ]

Property Value

The font size (in points)

Explanation

The FontSize property sets the size of the font used when drawing text with the image editing toolbar. This property is enabled when the image editing toolbar is used to draw text.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FontStrikeOut (ImageKit Control/Edit Property)

This property sets the characteristics of the fonts used by the image editing toolbar

[Visual Basic] imagekitcontrolname.Edit.FontStrikeOut[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetFontStrikeOut()imagekitcontrolname.GetEdit().SetFontStrikeOut(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.FontStrikeOut[ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.FontStrikeOut[ = bool ]

Property Value

FontStrikeOut places a strike out line through the text.

Value | Explanation
True | Enables the property
False | Disables the property(default)

Explanation

The FontStrikeOut property places a strike out line through the text. The default value is False.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FontTrans (ImageKit Control/Edit Property)

This property sets the characteristics of the fonts used by the image editing toolbar

[Visual Basic] imagekitcontrolname.Edit.FontTrans = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetFontTrans()imagekitcontrolname.GetEdit().SetFontTrans(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.FontTrans[ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.FontTrans[ = bool ]

Property Value

FontTrans sets whether or not the background color of the text is transparent.

Value | Explanation
True | Enables the property (default)
False | Disables the property

Explanation

The FontTrans property sets whether or not the background color of the text is transparent. The default value is True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FontUnderline (ImageKit Control/Edit Property)

This property sets the characteristics of the fonts used by the image editing toolbar

[Visual Basic] imagekitcontrolname.Edit.FontUnderline[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetFontUnderline()imagekitcontrolname.GetEdit().SetFontUnderline(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.FontUnderline[ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.FontUnderline[ = bool ]

Property Value

FontUnderline sets whether or not the font is underlined.

Value | Explanation
True | Enables the property
False | Disables the property (default)

Explanation

The FontUnderline property sets whether or not the font is underlined. The default value is False.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ForeColor (ImageKit Control/Edit Property)

This property sets the color for the foreground of the ImageKit Control
[Visual Basic] imagekitcontrolname.Edit.ForeColor [ = OLE_COLOR ]
[Visual C++] [unsigned long= ]imagekitcontrolname.GetEdit().GetForeColor()imagekitcontrolname.GetEdit().SetForeColor(unsigned long Val)
[VB.NET] imagekitcontrolname.Edit.ForeColor [ = UInteger ]
[C#.NET] imagekitcontrolname.Edit.ForeColor [ = uint ]

Property Value

ForeColor is the ImageKit Control's foreground color.

Explanation

The ForeColor property sets the color for the foreground of the ImageKit Control. To set color, please use the appropriate RGB(Red, Green, Blue) value.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Hwnd (ImageKit Control/Edit Property)

ImageKit10 ActiveX

Hwnd (ImageKit Control/ Edit Property)

This property refers to the window handle of the image-editing toolbar
[Visual Basic] imagekitcontrolname.Edit.Hwnd [ = LONG_PTR ]
[Visual C++] [LONG_PTR = ]imagekitcontrolname.GetEdit().GetHwnd()
[VB.NET] imagekitcontrolname.Edit.Hwnd [ = Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.Edit.Hwnd [ = int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Reference

Hwnd is the window handle of the image-editing toolbar.

Explanation

The Hwnd property refers to the window handle of the image-editing toolbar.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.

[Differences from ImageKit7/8]

This property's type has changed.


PenSize (ImageKit Control/Edit Property)

This property selects the pen used by the image-editing toolbar
[Visual Basic] imagekitcontrolname.Edit.PenSize [ = PenSizeConstants ]
[Visual C++] [long = ]imagekitcontrolname.GetEdit().GetPenSize()imagekitcontrolname.GetEdit().SetPenSize(long Val)
[VB.NET] imagekitcontrolname.Edit.PenSize [ = ImageKit10(A)Lib.PenSizeConstants ]
[C#.NET] imagekitcontrolname.Edit.PenSize [ = ImageKit10(A)Lib.PenSizeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Pen1 (PenSize1)
1 | Pen2 (PenSize2)
2 | Pen3 (PenSize3)
3 | Pen4 (PenSize4)
4 | Pen5 (PenSize5)

It's also possible to use the following constants (ikPenSize1 = 0, ikPenSize2 = 1, ikPenSize3 = 2, ikPenSize4 = 3, ikPenSize5 = 4).

Explanation

The PenSize property selects the pen used by the image-editing toolbar.

This property is used to change the pen by code, i.e. when the PenSize property is 0, the size set in the PenSize1 property is used.

Note: If a Pen object on the image-editing toolbar is selected, that size is used.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


PenSize1, PenSize2, PenSize3, PenSize4, PenSize5 (ImageKit Control/Edit Property)

ImageKit10 ActiveX

PenSize1, PenSize2, PenSize3, PenSize4, PenSize5 (ImageKit Control/ ;Edit Property)

These properties set the size of the pen used in the image-editing toolbar

* PenSize1 is explained. The other properties are used in the same way.

[Visual Basic] imagekitcontrolname.Edit.PenSize1 [ = Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetEdit().GetPenSize1()imagekitcontrolname.GetEdit().SetPenSize1(short Val)
[VB.NET] imagekitcontrolname.Edit.PenSize1 [ = Short ]
[C#.NET] imagekitcontrolname.Edit.PenSize1 [ = short ]

Property Value

The size of the pen (in pixels).

By default, PenSize1 is 1, PenSize2 is 2, PenSize3 is 3, PenSize4 is 4, and PenSize5 is 5.

Explanation

These properties set the size of the pen used in the image-editing toolbar.

These properties define 5 distinct sizes for the pen that is used in the image-editing toolbar.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Square (ImageKit Control/Edit Property)

This property sets the type of rectangle used by the image-editing toolbar (whether it is a rectangle or a square)
[Visual Basic] imagekitcontrolname.Edit.Square [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetSquare()imagekitcontrolname.GetEdit().SetSquare(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.Square [ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.Square [ = bool ]

Property Value

Value | Explanation
True | square
False | rectangle

Explanation

The Square property sets the type of rectangle used by the image-editing toolbar (whether it is a rectangle or a square). The default value is False.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


StampBmpFile (ImageKit Control/Edit Property)

This property sets the bitmap file used for the stamp in the image-editing toolbar
[Visual Basic] imagekitcontrolname.Edit.StampBmpFile [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetEdit().GetStampBmpFile()imagekitcontrolname.GetEdit().SetStampBmpFile(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Edit.StampBmpFile [ = String ]
[C#.NET] imagekitcontrolname.Edit.StampBmpFile [ = string ]

Property Value

The file name for the bitmap image that is used for the stamp.

Explanation

The StampBmpFile property sets the bitmap file used for the stamp in the image-editing toolbar.

Note: The transparent color must be set PRIOR to setting the StampBmpFile property.

Example: (Setting white as the transparent color)

ImageKit1.Edit.StampTransBlue = 255

ImageKit1.Edit.StampTransGreen = 255

ImageKit1.Edit.StampTransRed = 255

ImageKit1.Edit.StampBmpFileName = "Stamp.bmp"

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


StampTransBlue (ImageKit Control/Edit Property)

This property sets the transparent color for the stamp in the image-editing toolbar
[Visual Basic] imagekitcontrolname.Edit.StampTransBlue [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetEdit().GetStampTransBlue()imagekitcontrolname.GetEdit().SetStampTransBlue(short Val)
[VB.NET] imagekitcontrolname.Edit.StampTransBlue [ = Short ]
[C#.NET] imagekitcontrolname.Edit.StampTransBlue [ = short ]

Property Value

The blue value of the stamp's transparent color

Values range from 0 to 255

Explanation

The StampTransBlue property sets the transparent color for the stamp in the image-editing toolbar.

When the bitmap image file used for the stamp is a 1 bit image, please set the StampTransBlue, StampTransGreen, and StampTransRed properties to 0. (In this case the palette number is used, not the RGB value).

Note: The transparent color must be set PRIOR to setting the StampBmpFile property.

Example: (Setting white as the transparent color)

ImageKit1.Edit.StampTransBlue = 255

ImageKit1.Edit.StampTransGreen = 255

ImageKit1.Edit.StampTransRed = 255

ImageKit1.Edit.StampBmpFileName = "Stamp.bmp"

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


StampTransGreen (ImageKit Control/Edit Property)

This property sets the transparent color for the stamp in the image-editing toolbar
[Visual Basic] imagekitcontrolname.Edit.StampTransGreen[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetEdit().GetStampTransGreen()imagekitcontrolname.GetEdit().SetStampTransGreen(short Val)
[VB.NET] imagekitcontrolname.Edit.StampTransGreen [ = Short ]
[C#.NET] imagekitcontrolname.Edit.StampTransGreen [ = short ]

Property Value

The green value of the stamp's transparent color

Values range from 0 to 255

Explanation

The StampTransGreen property sets the transparent color for the stamp in the image-editing toolbar.

When the bitmap image file used for the stamp is a 1 bit image, please set the StampTransBlue, StampTransGreen, and StampTransRed properties to 0. (In this case the palette number is used, not the RGB value).

Note: The transparent color must be set PRIOR to setting the StampBmpFile property.

Example: (Setting white as the transparent color)

ImageKit1.Edit.StampTransBlue = 255

ImageKit1.Edit.StampTransGreen = 255

ImageKit1.Edit.StampTransRed = 255

ImageKit1.Edit.StampBmpFileName = "Stamp.bmp"

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


StampTransRed (ImageKit Control/Edit Property)

This property sets the transparent color for the stamp in the image-editing toolbar
[Visual Basic] imagekitcontrolname.Edit.StampTransRed [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetEdit().GetStampTransRed()imagekitcontrolname.GetEdit().SetStampTransRed(short Val)
[VB.NET] imagekitcontrolname.Edit.StampTransRed [ = Short ]
[C#.NET] imagekitcontrolname.Edit.StampTransRed [ = short ]

Property Value

The red value of the stamp's transparent color

Values range from 0 to 255

Explanation

The StampTransRed property sets the transparent color for the stamp in the image-editing toolbar.

When the bitmap image file used for the stamp is a 1 bit image, please set the StampTransBlue, StampTransGreen, and StampTransRed properties to 0. (In this case the palette number is used, not the RGB value).

Note: The transparent color must be set PRIOR to setting the StampBmpFile property.

Example: (Setting white as the transparent color)

ImageKit1.Edit.StampTransBlue = 255

ImageKit1.Edit.StampTransGreen = 255

ImageKit1.Edit.StampTransRed = 255

ImageKit1.Edit.StampBmpFileName = "Stamp.bmp"

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Text (ImageKit Control/Edit Property)

This property sets the string that is used when drawing text with the image editing toolbar

[Visual Basic] imagekitcontrolname.Edit.Text [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetEdit().GetText()imagekitcontrolname.GetEdit().SetText(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Edit.Text [ = String ]
[C#.NET] imagekitcontrolname.Edit.Text [ = string ]

Property Value

Text is the string that is drawn.

Explanation

The Text property is enabled when the image editing toolbar is used to draw text.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ToolBarCaption (ImageKit Control/Edit Property)

This property sets the caption for the image-editing toolbar
[Visual Basic] imagekitcontrolname.Edit.ToolBarCaption [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetEdit().GetToolBarCaption()imagekitcontrolname.GetEdit().SetToolBarCaption(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Edit.ToolBarCaption [ = String ]
[C#.NET] imagekitcontrolname.Edit.ToolBarCaption [ = string ]

Property Value

The string used for the image-editing toolbar caption.

Explanation

The ToolBarCaption property sets the caption for the image-editing toolbar. If the ToolBarCaption property is blank and the ToolBarCloseBox property is False, then the title bar is not displayed on the image-editing toolbar and it cannot be moved with the mouse.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ToolBarCloseBox (ImageKit Control/Edit Property)

This property sets whether or not a close [X] button is displayed on the image-editing toolbar
[Visual Basic] imagekitcontrolname.Edit.ToolBarCloseBox [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetToolBarCloseBox()imagekitcontrolname.GetEdit().SetToolBarCloseBox(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.ToolBarCloseBox [ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.ToolBarCloseBox [ = bool ]

Property Value

Value | Explanation
True | Displays a close button on the title bar of the image-editing toolbar
False | Does not display a close button on the image-editing toolbar

Explanation

The ToolBarCloseBox property sets whether or not a close [X] button is displayed on the image-editing toolbar.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ToolBarFixed (ImageKit Control/Edit Property)

This property sets whether or not the location of the image editing toolbar is fixed.
[Visual Basic] imagekitcontrolname.Edit.ToolBarFixed[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetToolBarFixed()imagekitcontrolname.GetEdit().SetToolBarFixed(BOOL Val)
[VB.NET] imagekitcontrolname.Edit.ToolBarFixed[ = Boolean ]
[C#.NET] imagekitcontrolname.Edit.ToolBarFixed[ = bool ]

Property Value

Value | Explanation
True | The image editing toolbar can be moved
False | The image editing toolbar cannot be moved

Explanation

The ToolBarFixed property sets whether or not the location of the image editing toolbar is fixed. When false, the image editing toolbar can not be moved from its initial display location.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ToolBarLeft (ImageKit Control/Edit Property)

This property sets the position where the image-editing toolbar is displayed (in pixels)
[Visual Basic] imagekitcontrolname.Edit.ToolBarLeft [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetEdit().GetToolBarLeft()imagekitcontrolname.GetEdit().SetToolBarLeft(short Val)
[VB.NET] imagekitcontrolname.Edit.ToolBarLeft [ = Short ]
[C#.NET] imagekitcontrolname.Edit.ToolBarLeft [ = short ]

Property Value

ToolBarLeft is the horizontal distance from the left side of the screen to the left side of the image-editing toolbar.

Values are in pixels.

Explanation

The ToolBarLeft property sets the position where the image-editing toolbar is displayed (in pixels)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ToolBarMouseCursorFile (ImageKit Control/Edit Property)

This property sets the name of the cursor file which determines the shape of the cursor while the mouse is over the image-editing toolbar

[Visual Basic] imagekitcontrolname.Edit.ToolBarMouseCursorFile [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetEdit().GetToolBarMouseCursorFile()imagekitcontrolname.GetEdit().SetToolBarMouseCursorFile(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Edit.ToolBarMouseCursorFile [ = String ]
[C#.NET] imagekitcontrolname.Edit.ToolBarMouseCursorFile [ = string ]

Property Value

The file name for the cursor file used in the image-editing toolbar

Explanation

The ToolBarMouseCursorFile property the name of the cursor file which determines the shape of the cursor while the mouse is over the image-editing toolbar.

If the ToolBarMouseCursorFile property is blank the cursor will be an arrow. The cursor appears when the mouse cursor is over the image-editing toolbar.

The ToolBarMouseCursorFile property corresponds to the Display Control's Edit.ToolBarMouseCur property in earlier versions of the ImageKit.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ToolBarTop (ImageKit Control/Edit Property)

This property sets the position where the image-editing toolbar is displayed (in pixels)
[Visual Basic] imagekitcontrolname.Edit.ToolBarTop [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetEdit().GetToolBarTop()imagekitcontrolname.GetEdit().SetToolBarTop(short Val)
[VB.NET] imagekitcontrolname.Edit.ToolBarTop [ = Short ]
[C#.NET] imagekitcontrolname.Edit.ToolBarTop [ = short ]

Property Value

ToolBarTop is the vertical distance from the top of the screen to top of the image-editing toolbar.

Values are in pixels.

Explanation

The ToolBarTop property sets the position where the image-editing toolbar is displayed (in pixels)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


UndoRasterCountMax (ImageKit Control/Edit Property)

This property sets the number of times that "undo" can be used in the Raster Image-Editing Toolbar
[Visual Basic] imagekitcontrolname.Edit.UndoRasterCountMax[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetEdit().GetUndoRasterCountMax()imagekitcontrolname.GetEdit().SetUndoRasterCountMax(short Val)
[VB.NET] imagekitcontrolname.Edit.UndoRasterCountMax [ = Short ]
[C#.NET] imagekitcontrolname.Edit.UndoRasterCountMax [ = short ]

Property Value

The number of "undo" steps. (The number of times "undo" can be used.) From 0 to 50. Default is 50.

Values are in pixels.

Explanation

The UndoRasterCountMax property sets the number of times that "undo" can be used in the Raster Image-Editing Toolbar.

Although allowing a high number of "undo" steps is useful, it consumes much more memory than allowing only a few.

When the UndoRasterCountMax property is set to 0, the item "Undo" in the image editing toolbar's popup menu is disabled.

Please set the value of this property prior to displaying the image editing toolbar. Once the toolbar is displayed, this value cannot be changed.

Example:

ImageKit1.Edit.ToolBarTop = 50

ImageKit1.Edit.ToolBarLeft = 100

ImageKit1.Edit.ToolBarCloseBox = True

ImageKit1.Edit.ToolBarCaption = "ToolBar"

ImageKit1.Edit.FontName = "Arial"

ImageKit1.Edit.FontSize = 12

ImageKit1.Edit.StampBmpFile = CurrentDir + "Stamp.bmp"

ImageKit1.Edit.UndoRasterCountMax = 10

ImageKit1.Edit.EditEnable = True

ImageKit1.Edit.EditImageLayerNo = -1

ImageKit1.Edit.ShowToolbar ikRaster

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


UndoVectorCountMax (ImageKit Control/Edit Property)

This property sets the number of times that "undo" can be used in the Vector Image-Editing Toolbar
[Visual Basic] imagekitcontrolname.Edit.UndoVectorCountMax [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetEdit().GetUndoVectorCountMax()imagekitcontrolname.GetEdit().SetUndoVectorCountMax(short Val)
[VB.NET] imagekitcontrolname.Edit.UndoVectorCountMax [ = Short ]
[C#.NET] imagekitcontrolname.Edit.UndoVectorCountMax [ = short ]

Property Value

The number of "undo" steps. (The number of times "undo" can be used.) From 0 to 50. Default is 50.

Values are in pixels.

Explanation

The UndoVectorCountMax property sets the number of times that "undo" can be used in the Vector Image-Editing Toolbar.

Although allowing a high number of "undo" steps is useful, it consumes much more memory than allowing only a few.

When the UndoVectorCountMax property is set to 0, the item "Undo" in the image editing toolbar's popup menu is disabled.

Please set the value of this property prior to displaying the image editing toolbar. Once the toolbar is displayed, this value cannot be changed.

Example:

ImageKit1.Edit.ToolBarTop = 50

ImageKit1.Edit.ToolBarLeft = 100

ImageKit1.Edit.ToolBarCloseBox = True

ImageKit1.Edit.ToolBarCaption = "ToolBar"

ImageKit1.Edit.FontName = "Arial"

ImageKit1.Edit.FontSize = 12

ImageKit1.Edit.UndoVectorCountMax = 10

ImageKit1.Edit.EditEnable = True

ImageKit1.Edit.EditImageLayerNo = 2

ImageKit1.Edit.ShowToolbar ikVector

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ImageKit Edit Methods

Custom Methods | Explanation
ClearSelect | Clears the selected area. Executing this method is the same as using the edit popup menu and choosing "Clear"
Copy | Copies the selected area to the clipboard. Executing this method is the same as using the edit popup menu and choosing "Copy"
CutAndCopy | Cuts the selected area and copies to the clipboard. Executing this method is the same as using the edit popup menu and choosing "Cut"
Delete | Delete the selected area. Executing this method is the same as using the edit popup menu and choosing "Delete"
GetArrayPointsNum | Returns the number of points defining the selection area when the Select or FreeSelect tool of the image editing toolbar is used
GetArrayPointsXY | Returns the coordinates of points defining the selection area when the Select or FreeSelect tool of the image editing toolbar is used
GetArrayPointsXYVariant | Returns the coordinates of points defining the selection area when the Select or FreeSelect tool of the image editing toolbar is used. For use in scripting languages or other programs that require a variant type
Modify | Saves editing changes into the image data
MoveToBack | For Vector images: Moves the selected object to the back. Executing this method is the same as using the edit popup menu in the Vector Editing Toolbar and choosing "MoveToBack"
MoveToFront | For Vector images: Moves the selected object to the front. Executing this method is the same as using the edit popup menu in the Vector Editing Toolbar and choosing "MoveToFront"
Paste | Pastes the copied data into the image. Executing this method is the same as using the edit popup menu and choosing "Paste"
Property | For Vector images: Displays the property dialog. Executing this method is the same as using the edit popup menu and choosing "Properties"
Rotate | Rotates the selected area. Executing this method is the same as using the edit popup menu and choosing "Rotate"
SelectAll | Selects the entire image. Executing this method is the same as using the edit popup menu and choosing "SelectAll"
ShowToolBar | Displays the image editing toolbar
Undo | Undo the previous change. Executing this method is the same as using the edit popup menu and choosing "Undo"


ClearSelect (ImageKit Control/Edit Method)

This method clears the selected area.
[Visual Basic] imagekitcontrolname.Edit.ClearSelect
[Visual C++] imagekitcontrolname.GetEdit().ClearSelect()
[VB.NET] imagekitcontrolname.Edit.ClearSelect()
[C#.NET] imagekitcontrolname.Edit.ClearSelect()

Parameters

None

Return Value

None

Explanation

The ClearSelect method clears the selected area. Executing this method is the same as using the popup menu of the raster image editing toolbar and selecting "Clear". Instead of right clicking the mouse to display the popup menu, you can execute this method.


Copy (ImageKit Control/Edit Method)

This method copies the selected area to the clipboard.
[Visual Basic] imagekitcontrolname.Edit.Copy
[Visual C++] imagekitcontrolname.GetEdit().Copy()
[VB.NET] imagekitcontrolname.Edit.Copy()
[C#.NET] imagekitcontrolname.Edit.Copy()

Parameters

None

Return Value

None

Explanation

The Copy method copies the selected area to the clipboard. Executing this method is the same as using the popup menu of the raster image editing toolbar and selecting "Copy". Instead of right clicking the mouse to display the popup menu, you can execute this method.


CutAndCopy (ImageKit Control/Edit Method)

This method cuts the selected area and copies it to the clipboard.
[Visual Basic] imagekitcontrolname.Edit.CutAndCopy
[Visual C++] imagekitcontrolname.GetEdit().CutAndCopy()
[VB.NET] imagekitcontrolname.Edit.CutAndCopy()
[C#.NET] imagekitcontrolname.Edit.CutAndCopy()

Parameters

None

Return Value

None

Explanation

The CutAndCopy method cuts the selected area and copies it to the clipboard. Executing this method is the same as using the popup menu of the raster image editing toolbar and selecting "Cut". Instead of right clicking the mouse to display the popup menu, you can execute this method.


Delete (ImageKit Control/Edit Method)

This method deletes the selected area.
[Visual Basic] imagekitcontrolname.Edit.Delete
[Visual C++] imagekitcontrolname.GetEdit().Delete()
[VB.NET] imagekitcontrolname.Edit.Delete()
[C#.NET] imagekitcontrolname.Edit.Delete()

Parameters

None

Return Value

None

Explanation

The Delete method deletes the selected area. Executing this method is the same as using the popup menu of the raster image editing toolbar and selecting "Delete". Instead of right clicking the mouse to display the popup menu, you can execute this method.


GetArrayPointsNum (ImageKit Control/Edit Method)

This method retrieves the number of points used to define the selection area drawn using the Select or the FreeSelect tools in the image-editing toolbar
[Visual Basic] [ Long = ]imagekitcontrolname.Edit.GetArrayPointsNum
[Visual C++] [ long = ]imagekitcontrolname.GetEdit().GetArrayPointsNum()
[VB.NET] [ Integer = ]imagekitcontrolname.Edit.GetArrayPointsNum()
[C#.NET] [ int = ]imagekitcontrolname.Edit.GetArrayPointsNum()

Property Value

None

Return Value

The number of points (if unsuccessful, 0 is returned)

Explanation

The GetArrayPointsNum property retrieves the number of points used to define the selection area drawn using the Select or the FreeSelect tools in the image-editing toolbar.

In the image-editing toolbar, the Select tool and the FreeSelect tool can be used to select an area on an image. This selected area is defined by a set of points. In the case of the Select tool, a rectangular selection area is drawn so only 4 points are needed to define that area. In the case of the FreeSelect tool, however, the selection area can be defined by a large number of points. The GetArrayPointsNum method can be used to retrieve the number of points that defines the selection area. This can be useful if you want to use the GetArrayPointsXY method to retrieve each point's X,Y coordinates. By knowing the number of points there are, you can define the size of the array needed to hold the X,Y coordinate values.


GetArrayPointsXY (ImageKit Control/Edit Method)

This method retrieves the coordinate values for each of the points used to define the selection area drawn using the Select or the FreeSelect tools in the image-editing toolbar
[Visual Basic] [ Boolean = ]imagekitcontrolname.Edit.GetArrayPointsXY(x As Long, y As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().GetArrayPointsXY(long *x, long *y)
[VB.NET] [ Boolean = ]imagekitcontrolname.Edit.GetArrayPointsXY(ByRef x As Integer, ByRef y As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Edit.GetArrayPointsXY(ref int x, ref int y)

Parameters

Value | Explanation
x,y | The array that holds the retrieved point coordinate values. In Visual Basic, if Dim x(0 To 2) As Long, then the arguments are passed as x(0) In Visual C++, pass the pointer to the first element in the Array

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The GetArrayPointsXY method retrieves the coordinate values for each of the points used to define the selection area drawn using the Select or the FreeSelect tools in the image-editing toolbar.

In the image editing toolbar, the Select tool and the FreeSelect tool can be used to select an area on an image. This selected area is defined by a set of points. In the case of the Select tool, a rectangular selection area is drawn so only 4 points are needed to define that area. In the case of the FreeSelect tool, however, the selection area can be defined by a large number of points. The GetArrayPointsNum method can be used to retrieve the number of points that define the selection area. The GetArrayPointsXY method can be used to retrieve each of the point's X,Y coordinates. The values are in pixels.

For scripting languages and other programs that require variant types, please refer to the GetArrayPointsXYVariant method.

The following sample code for shows how to retrieve the point coordinates in an x,y array.

In Visual Basic

Dim x() As Long

Dim y() As Long

Dim ret As Boolean

Dim count As Long

count = ImageKit1.Edit.GetArrayPointsNum()

If count = 0 Then Exit Sub

ReDim x(0 To count) As Long

ReDim y(0 To count) As Long

ret = ImageKit1.Edit.GetArrayPointsXY(x(0), y(0))

In Visual C++

long *x

long *y;

BOOL ret;

long count;

count = ImageKit1.GetEdit().GetArrayPointsNum();

if (count == 0) return;

x = new long[count];

y = new long[count];

ret = ImageKit1.GetEdit().GetArrayPointsXY(x, y);

// place processing code here

delete[] x;

delete[] y;


GetArrayPointsXYVariant (ImageKit Control/Edit Method)

This method retrieves the coordinate values for each of the points used to define the selection area drawn using the Select or the FreeSelect tools in the image-editing toolbar. This method is recommended for scripting and other languages that require variant types.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Edit.GetArrayPointsXYVariant(x As Variant, y As Variant)
[VB.NET] [ Boolean = ]imagekitcontrolname.Edit.GetArrayPointsXYVariant(ByRef x As Object, ByRef y As Object)
[C#.NET] [ bool = ]imagekitcontrolname.Edit.GetArrayPointsXYVariant(ref object x, ref object y)

Parameters

Name | Explanation
x | The array that holds the retrieved points x-coordinate values *
y | The array that holds the retrieved points y-coordinate values *
Points | The number of points defining the polygonal area on the image.
* The arguments are returned in the first elements of the x arrays and y arrays.

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The GetArrayPointsXY method retrieves the coordinate values for each of the points used to define the selection area drawn using the Select or the FreeSelect tools in the image-editing toolbar. This method is recommended for scripting and other languages that require variant types.

In the image editing toolbar, the Select tool and the FreeSelect tool can be used to select an area on an image. This selected area is defined by a set of points. In the case of the Select tool, a rectangular selection area is drawn so only 4 points are needed to define that area. In the case of the FreeSelect tool, however, the selection area can be defined by a large number of points. The GetArrayPointsNum method can be used to retrieve the number of points that define the selection area. The GetArrayPointsXY method can be used to retrieve each of the point's X,Y coordinates. The values are in pixels.

Also see the GetArrayPointsXY method.


Modify (ImageKit Control/Edit Method)

This method saves the editing changes into the image data.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Edit.Modify
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().Modify()
[VB.NET] [ Boolean = ]imagekitcontrolname.Edit.Modify()
[C#.NET] [ bool = ]imagekitcontrolname.Edit.Modify()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Modify method saves the editing changes into the image data. For raster images, the content drawn into the ImageHdc property is copied to the image data referred to by the ImageHandle property and saved when the Modify method executes. Likewise, changes made with the raster image editing toolbar are saved to the image data referred to by the ImageHandle property and saved when the Modify method executes. (For raster images, only the base image can be modified.)

For vector images, the Modify method saves editing changes to the image referred to by the EditImageLayerNo property. (This is the image data referred to by either the ImageHandle property or the Layer(EditImageLayerNo).ImageHandle property)


MoveToBack (ImageKit Control/Edit Method)

This method moves the selected object to the back. It is used with vector images.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Edit.MoveToBack
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().MoveToBack()
[VB.NET] [ Boolean = ]imagekitcontrolname.Edit.MoveToBack()
[C#.NET] [ bool = ]imagekitcontrolname.Edit.MoveToBack()

Parameters

None

Return Value

None

Explanation

The MoveToBack method moves the selected object to the back. It is used with vector images. Executing this method is the same as using the popup menu of the vector image editing toolbar and selecting "MoveToBack". Instead of right clicking the mouse to display the popup menu, you can execute this method.


MoveToFront (ImageKit Control/Edit Method)

This method moves the selected object to the front. It is used with vector images.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Edit.MoveToFront
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().MoveToFront()
[VB.NET] [ Boolean = ]imagekitcontrolname.Edit.MoveToFront()
[C#.NET] [ bool = ]imagekitcontrolname.Edit.MoveToFront()

Parameters

None

Return Value

None

Explanation

The MoveToFront method moves the selected object to the front. It is used with vector images. Executing this method is the same as using the popup menu of the vector image editing toolbar and selecting "MoveToFront". Instead of right clicking the mouse to display the popup menu, you can execute this method.


Paste (ImageKit Control/Edit Method)

This method pastes the copied data into the image.
[Visual Basic] imagekitcontrolname.Edit.Paste
[Visual C++] imagekitcontrolname.GetEdit().Paste()
[VB.NET] imagekitcontrolname.Edit.Paste()
[C#.NET] imagekitcontrolname.Edit.Paste()

Parameters

None

Return Value

None

Explanation

The Paste method pastes the copied image data into the image.

For the raster image editing toolbar, the image on the clipboard is pasted into the current image. Just after it has been pasted, it may be moved with the mouse. For the vector image editing toolbar, the copied object is pasted into the image.

Executing this method is the same as using the popup menu of the vector image editing toolbar and selecting "Paste". Instead of right clicking the mouse to display the popup menu, you can execute this method.


Property (ImageKit Control/Edit Method)

This method is used with vector images to display the object's properties.
[Visual Basic] imagekitcontrolname.Edit.Property
[Visual C++] imagekitcontrolname.GetEdit().Property()
[VB.NET] imagekitcontrolname.Edit.Property()
[C#.NET] imagekitcontrolname.Edit.Property()

Parameters

None

Return Value

None

Explanation

The Property method is used with vector images to display the object's properties.

Executing this method is the same as using the popup menu of the vector image editing toolbar and selecting "Properties". Instead of right clicking the mouse to display the popup menu, you can execute this method.


Rotate (ImageKit Control/Edit Method)

This method rotates the selected area (for raster images) or rotates the selected object (for vector images).
[Visual Basic] imagekitcontrolname.Edit.Rotate
[Visual C++] imagekitcontrolname.GetEdit().Rotate()
[VB.NET] imagekitcontrolname.Edit.Rotate()
[C#.NET] imagekitcontrolname.Edit.Rotate()

Parameters

None

Return Value

None

Explanation

The Rotate method rotates the selected area (for raster images) or rotates the selected object (for vector images).

Executing this method is the same as using the popup menu of the editing toolbar and selecting "Rotate". Instead of right clicking the mouse to display the popup menu, you can execute this method.


SelectAll (ImageKit Control/Edit Method)

This method selects the entire raster image.
[Visual Basic] imagekitcontrolname.Edit.SelectAll
[Visual C++] imagekitcontrolname.GetEdit().SelectAll()
[VB.NET] imagekitcontrolname.Edit.SelectAll()
[C#.NET] imagekitcontrolname.Edit.SelectAll()

Parameters

None

Return Value

None

Explanation

The SelectAll method selects the entire raster image.

Executing this method is the same as using the popup menu of the editing toolbar and selecting "SelectAll". Instead of right clicking the mouse to display the popup menu, you can execute this method.


ShowToolBar (ImageKit Control/Edit Method)

This method displays the image editing-toolbar at the position set in the ToolBarLeft and ToolBarTop properties
[Visual Basic] [ Boolean = ]imagekitcontrolname.Edit.ShowToolBar(Mode As EditToolBarModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEdit().ShowToolBar(long Mode)
[VB.NET] [ Boolean = ]imagekitcontrolname.Edit.ShowToolBar(Mode As ImageKit10(A)Lib.EditToolBarModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.Edit.ShowToolBar(ImageKit10(A)Lib.EditToolBarModeConstants Mode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode.

Parameters

Name | Explanation
Mode | The display mode (0: No toolbar is displayed, 1: Raster image-editing toolbar is displayed, 2: Vector image-editing toolbar is displayed)

The following constants can be used: (ikHide = 0, ikRaster = 1, ikVector = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The ShowToolBar method displays the image editing toolbar at the position set in the ToolBarLeft and ToolBarTop properties. For this method to be successful, the appropriate values must be set in the ToolBarLeft and ToolBarTop properties.

The image that is enabled for editing depends on the EditImageLayerNo property and refers to either the image set in the ImageHandle property or the Layer(EditImageLayerNo).ImageHandle property.

To save editing changes to the image data, execute the Modify method.

If you are placing the ImageKit Control on a modal form, please display the image editing toolbar only after the form has been displayed.


Undo (ImageKit Control/Edit Method)

This method "undoes" the earlier action and restores the image to the previous state.
[Visual Basic] imagekitcontrolname.Edit.Undo
[Visual C++] imagekitcontrolname.GetEdit().Undo()
[VB.NET] imagekitcontrolname.Edit.Undo()
[C#.NET] imagekitcontrolname.Edit.Undo()

Parameters

None

Return Value

None

Explanation

The Undo method "undoes" the earlier action and restores the image to the previous state.

Executing this method is the same as using the popup menu of the editing toolbar and selecting "Undo". Instead of right clicking the mouse to display the popup menu, you can execute this method.


ImageKit Effect Interface

The ImageKit Effect interface exposes properties and methods used to apply effect filters, transformations and conversions to image data.

Property List

Custom Properties | Explanation
ButtonName | Sets the text that is displayed on the button in the progress dialog box
Cancel | Sets whether or not the current processing is canceled
Caption | Sets the text displayed in the title bar of the progress dialog box
InOut | Sets whether the inside or the outside of the selected area will be processed
LayerAlphaChannel | Sets whether or not the alpha channel is used when the LayerImage method is executed.
MaskFileName | Sets the filename for the input mask image
MaskImageHandle | Refers to the input mask image handle
Message | Sets the message displayed in the progress dialog box
RectBottom | Sets the bottom coordinate of the bounding rectangle used to process an elliptical area on the image
RectLeft | Sets the left coordinate of the bounding rectangle used to process an elliptical area on the image
RectRight | Sets the right coordinate of the bounding rectangle used to process an elliptical area on the image
RectTop | Sets the top coordinate of the bounding rectangle used to process an elliptical area on the image
SelectMode | Sets the type of selected area that will be processed on the image

Method List

Custom Methods | Explanation
Affine | Performs image Affine changes
AntiAlias | Performs image anti-alias
AntiAliasVariant | Performs image anti-alias (for scripting and other languages that require variant types)
AutoSelectImage | Uses a specified color (RGB value), and selects areas of the image that have that color.
AutoSelectImageVariant | Uses a specified color (RGB value), and selects areas of the image that have that color. (for scripting and other languages that require variant types)
Blur | Blurs the image
BlurVariant | Blurs the image (for scripting and other languages that require variant types)
Canvas | Produces a canvas effect on the image
CanvasVariant | Produces a canvas effect on the image (for scripting and other languages that require variant types)
CheckSecretImage | Retrieves the digital watermark from the image
Chroma | Processes image chrominance
ChromaVariant | Processes image chrominance (for scripting and other languages that require variant types)
ConvertColor | Increases or decreases the number of colors in an image
CustomFilter | Creates a user defined effect filter
CustomFilterVariant | Creates a user defined effect filter (for scripting and other languages that require variant types)
CutRectImage | Allows a rectangular portion of an image to be copied without the use of a mask image
Emboss | Embosses the image
EmbossVariant | Embosses the image (for scripting and other languages that require variant types)
EndDibAccess | Ends DIB access
EndDibAccessVariant | Ends DIB access. (for scripting and other languages that require variant types)
GetDibPixel | Retrieves the pixel values from the DIB
GetDibPixelVariant | Retrieves the pixel values from the DIB. (for scripting and other languages that require variant types)
GlassTile | Produces an effect similar to glass tile on the image
GlassTileVariant | Produces an effect similar to glass tile on the image (for scripting and other languages that require variant types)
LayerImage | Layers raster images together
Lens | Produces a lens-like effect on the image
LensVariant | Produces a lens-like effect on the image (for scripting and other languages that require variant types)
MakeRGBAImage | Creates a 32-bit RGBA image from an image and an alpha channel
Mosaic | Produces a mosaic on the image
MosaicVariant | Produces a mosaic on the image (for scripting and other languages that require variant types)
MotionBlur | Produces a motion blur on the image
MotionBlurVariant | Produces a motion blur on the image (for scripting and other languages that require variant types)
OilPaint | Produces an effect similar to an oil painting on the image
OilPaintVariant | Produces an effect similar to an oil painting on the image (for scripting and other languages that require variant types)
Outline | Produces an outline effect on the image
OutlineVariant | Produces an outline effect on the image (for scripting and other languages that require variant types)
Panorama | Makes a panorama image from several images
PasteImage | Pastes raster image together
RedEyeRemoval | Removes Red Eyes from images
RedEyeRemovalVariant | Removes Red Eyes from images (for scripting and other languages that require variant types)
RemoveNoise | Processes noise reduction
RemoveNoiseVariant | Processes noise reduction (for scripting and other languages that require variant types)
Resize | Increases or decreases the image size
RGBGamma | Modifies RGB values using a Gamma function
RGBGammaVariant | Modifies RGB values using a Gamma function (for scripting and other languages that require variant types)
RGBLevel | Increases and decreases RGB values
RGBLevelVariant | Increases and decreases RGB values (for scripting and other languages that require variant types)
RGBRev | Reverses RGB values
RGBRevVariant | Reverses RGB values (for scripting and other languages that require variant types)
RGBSpline | Modifies RGB values using a Spline function
RGBSplineVariant | Modifies RGB values using a Spline function (for scripting and other languages that require variant types)
Ripple | Produces a ripple like effect on the image
RippleVariant | Produces a ripple like effect on the image (for scripting and other languages that require variant types)
Rotation | Rotates the image
SelectImage | Selects areas on the image for processing
SelectImageVariant | Selects areas on the image for processing (for scripting and other languages that require variant types)
SetDibPixel | Sets the DIB pixel values
SetDibPixelVariant | Sets the DIB pixel values. (for scripting and other languages that require variant types)
SetGray | Changes color images to grayscale
SetSecretImage | Sets a digital watermark on the image
Sharp | Changes the image sharpness
SharpVariant | Changes the image sharpness (for scripting and other languages that require variant types)
SplitRGBAImage | Splits a 32 bit RGBA image into a 24 bit RGB image and a 8 bit alpha channel
StartDibAccess | Begins DIB access
StartDibAccessVariant | Begins DIB access. (for scripting and other languages that require variant types)
UnifyColor | Changes a range of color into a single color
UnifyColorVariant | Changes a range of color into a single color (for scripting and other languages that require variant types)
Waves | Produces a wave-like effect on the image
WavesVariant | Produces a wave-like effect on the image (for scripting and other languages that require variant types)
WhirlPinch | Produces an effect similar to pinching the image then twisting your fingers
WhirlPinchVariant | Produces an effect similar to pinching the image then twisting your fingers (for scripting and other languages that require variant types)
YCCGamma | Modifies image YCrCb values using a Gamma function
YCCGammaVariant | Modifies image YCrCb values using a Gamma function (for scripting and other languages that require variant types)
YCCLevel | Increases and decreases YCrCb values
YCCLevelVariant | Increases and decreases YCrCb values (for scripting and other languages that require variant types)
YCCRev | Reverses YCrCb values
YCCRevVariant | Reverses YCrCb values (for scripting and other languages that require variant types)
YCCSpline | Modifies YCrCb values using a Spline function
YCCSplineVariant | Modifies YCrCb values using a Spline function (for scripting and other languages that require variant types)


ImageKit Effect Properties

Custom Properties | Explanation
ButtonName | Sets the text that is displayed on the button in the progress dialog box
Cancel | Sets whether or not the current processing is canceled
Caption | Sets the text displayed in the title bar of the progress dialog box
InOut | Sets whether the inside or the outside of the selected area will be processed
LayerAlphaChannel | Sets whether or not the alpha channel is used when the LayerImage method is executed.
MaskFileName | Sets the filename for the input mask image
MaskImageHandle | Refers to the input mask image handle
Message | Sets the message displayed in the progress dialog box
RectBottom | Sets the bottom coordinate of the bounding rectangle used to process an elliptical area on the image
RectLeft | Sets the left coordinate of the bounding rectangle used to process an elliptical area on the image
RectRight | Sets the right coordinate of the bounding rectangle used to process an elliptical area on the image
RectTop | Sets the top coordinate of the bounding rectangle used to process an elliptical area on the image
SelectMode | Sets the type of selected area that will be processed on the image


ButtonName (ImageKit Control/ Effect Property)

This property sets the text that is displayed on the button in the progress dialog
[Visual Basic] imagekitcontrolname.Effect.ButtonName[= String ]
[Visual C++] [CString = ]imagekitcontrolname.GetEffect().GetButtonName()
imagekitcontrolname.GetEffect().SetButtonName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Effect.ButtonName[= String ]
[C#.NET] imagekitcontrolname.Effect.ButtonName[= string ]

Property Value

The text that is displayed on the button in the progress dialog

Explanation

The ButtonName property sets the text that is displayed on the button in the progress dialog. If the ButtonName, Caption, and Message properties have not been set, the progress dialog will not appear and the Progress event will be generated. Conversely, if text has been set in any one of these properties, the progress dialog will appear and the Progress event will not be generated.

Setting this value

This value can be set during execution.

Retrieving this value

This value is retrieved during execution.


Cancel (ImageKit Control/ Effect Property)

This property sets whether or not the effect processing is canceled
[Visual Basic] imagekitcontrolname.Effect.Cancel [= Boolean ]
[Visual C++] imagekitcontrolname.GetEffect().SetCancel(BOOL Val)
[VB.NET] imagekitcontrolname.Effect.Cancel [= Boolean ]
[C#.NET] imagekitcontrolname.Effect.Cancel [= bool ]

Property Value

Value | Explanation
True | The Effect process is canceled
False | The Effect process is not canceled

Explanation

The Cancel property sets whether or not the effect processing is canceled.

Setting this value

This value can be set during execution.

Retrieving this value

This value cannot be retrieved.


Caption (ImageKit Control/ Effect Property)

This property sets the text that is displayed on the title bar in the progress dialog
[Visual Basic] imagekitcontrolname.Effect.Caption[= String ]
[Visual C++] [CString = ]imagekitcontrolname.GetEffect().GetCaption()
imagekitcontrolname.GetEffect().SetCaption(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Effect.Caption[= String ]
[C#.NET] imagekitcontrolname.Effect.Caption[= string ]

Property Value

The text that is displayed on the title bar in the progress dialog

Explanation

The Caption property sets the text that is displayed on the title bar in the progress dialog. If the ButtonName, Caption, and Message properties have not been set, the progress dialog will not appear and the Progress event will be generated. Conversely, if text has been set in any one of these properties, the progress dialog will appear and the Progress event will not be generated.

Setting this value

This value can be set during execution.

Retrieving this value

This value is retrieved during execution.


InOut (ImageKit Control/ Effect Property)

This property determines whether the area inside the selected area will be processed or the area outside the selected area will be processed
[Visual Basic] imagekitcontrolname.Effect.InOut [= InOutSelectModeConstants ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetEffect().GetInOut()
imagekitcontrolname.GetEffect().SetInOut(long Val)
[VB.NET] imagekitcontrolname.Effect.InOut [= ImageKit10(A)Lib.InOutSelectModeConstants ]
[C#.NET] imagekitcontrolname.Effect.InOut [= ImageKit10(A)Lib.InOutSelectModeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | The area outside the selected area will be processed. (does not include the border)
1 | The area inside the selected area will be processed.(includes the border)
* The following constants can also be used: (ikOutside = 0, ikInside = 1)

Explanation

The InOut property determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. This property is enabled when the SelectMode property is 2 (ikEffectPolygon) or 3 (ikEffectEllipse)

Setting this value

This value can be set during execution.

Retrieving this value

This value is retrieved during execution.


LayerAlphaChannel (ImageKit Control/ Effect Property)

This property sets whether or not the alpha channel is used when the LayerImage method is executed
[Visual Basic] imagekitcontrolname.Effect.LayerAlphaChannel [= Boolean ]
[Visual C++] [ BOOL =]imagekitcontrolname.GetEffect().GetLayerAlphaChannel()
imagekitcontrolname.GetEffect().SetLayerAlphaChannel(BOOL Val)
[VB.NET] imagekitcontrolname.Effect.LayerAlphaChannel [= Boolean ]
[C#.NET] imagekitcontrolname.Effect.LayerAlphaChannel [= bool ]

Property Value

Value | Explanation
True | The alpha channel is used
False | The alpha channel is ignored (default value)

Explanation

The LayerAlphaChannel property sets whether or not the alpha channel is used when the LayerImage method is executed. (When the alpha channel is used, the LayerImage method's Trans parameter is disabled.)

One example of a common use of this property is when an PNG image containing an alpha channel is layered into a JPEG image.

Setting this value

This value can be set during execution.

Retrieving this value

This value can be retrieved during execution.


MaskFileName (ImageKit Control/ Effect Property)

This property refers to the filename for the input mask image
[Visual Basic] imagekitcontrolname.Effect.MaskFileName [= String ]
[Visual C++] [CString = ]imagekitcontrolname.GetEffect().GetMaskFileName()
imagekitcontrolname.GetEffect().SetMaskFileName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Effect.MaskFileName [= String ]
[C#.NET] imagekitcontrolname.Effect.MaskFileName [= string ]

Property Value

The filename for the input mask image

Explanation

The MaskFileName property refers to the filename for the input mask image. The mask image determines which portion of the image (whose image handle is the ImageHandle property) will be processed. The mask image must be a 1-bit color, black and white image. The input mask image must have the same height and width as the image set in the ImageHandle property

Both the MaskImageHandle property and the MaskFileName property refer to the mask image, however, the last of these properties that is set will determine the mask image that will be used when an effect is processed

If the effect is successful then the mask image will be set into the MaskImageHandle property.

Setting this value

This value can be set during execution.

Retrieving this value

This value is retrieved during execution.


MaskImageHandle (ImageKit Control/ Effect Property)

This property refers to the image handle for the input mask image
[Visual Basic] imagekitcontrolname.Effect.MaskImageHandle[= LONG_PTR ]
[Visual C++] [LONG_PTR = ]imagekitcontrolname.GetEffect().GetMaskImageHandle()
imagekitcontrolname.GetEffect().SetMaskImageHandle(LONG_PTR Val)
[VB.NET] imagekitcontrolname.Effect.MaskImageHandle[= Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.Effect.MaskImageHandle[= int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Property Value

The image handle for the input mask image

Explanation

The MaskImageHandle property refers to the image handle for the input mask image. The mask image determines which portion of the image (whose image handle is the ImageHandle property) will be processed. The mask image must be a 1-bit color, black and white image. The input mask image must have the same height and width as the image set in the ImageHandle property

Both the MaskImageHandle property and the MaskFileName property refer to the mask image, however, the last of these properties that is set will determine the mask image that will be used when an effect is processed.

If the effect is successful then the mask image will be automatically be set MaskImageHandle property. It is not necessary to manually free this image handle.

The MaskImageHandle property replaces the Effect Control's InMskHandle and OutMsHandle properties in earlier versions of the ImageKit.

Setting this value

This value can be set during execution.

Retrieving this value

This value is retrieved during execution.

Differences between ImageKit7 / 8

This property's type has changed.


Message (ImageKit Control/ Effect Property)

This property sets the text that is displayed on the center in the progress dialog
[Visual Basic] imagekitcontrolname.Effect.Message[= String ]
[Visual C++] [CString = ]imagekitcontrolname.GetEffect().GetMessage()
imagekitcontrolname.GetEffect().SetMessage(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Effect.Message[= String ]
[C#.NET] imagekitcontrolname.Effect.Message[= string ]

Property Value

The text that is displayed on the center in the progress dialog

Explanation

The Message property sets the text that is displayed on the center in the progress dialog. If the ButtonName, Caption, and Message properties have not been set, the progress dialog will not appear and the Progress event will be generated. Conversely, if text has been set in any one of these properties, the progress dialog will appear and the Progress event will not be generated.

Setting this value

This value can be set during execution.

Retrieving this value

This value is retrieved during execution.


RectBottom (ImageKit Control/ Effect Property)

This property sets the bottom coordinate of a bounding rectangle that is used to process an elliptical area on the image. This bounding rectangle is also used by the CutRectImage method.
[Visual Basic] imagekitcontrolname.Effect.RectBottom [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetEffect().GetRectBottom()
imagekitcontrolname.GetEffect().SetRectBottom(long Val)
[VB.NET] imagekitcontrolname.Effect.RectBottom [= Integer ]
[C#.NET] imagekitcontrolname.Effect.RectBottom [= int ]

Property Value

The bottom coordinate of the bounding rectangle

Explanation

The RectBottom property sets the bottom coordinate of a bounding rectangle which is used to process an effect within an elliptical area on the image. The size and location of this elliptical area is determined by a rectangle that bounds the ellipse. This bounding rectangle is also used by the CutRectImage method.

The RectBottom, RectLeft, RectRight, and RectTop properties set the location and size of this bounding rectangle. These properties are enabled when the SelectMode property is 3 (ikEffectEllipse).

Setting this value

This value can be set during execution.

Retrieving this value

This value is retrieved during execution.


RectLeft (ImageKit Control/ Effect Property)

This property sets the left coordinate of a bounding rectangle that is used to process an elliptical area on the image. This bounding rectangle is also used by the CutRectImage method.
[Visual Basic] imagekitcontrolname.Effect.RectLeft [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetEffect().GetRectLeft()
imagekitcontrolname.GetEffect().SetRectLeft(long Val)
[VB.NET] imagekitcontrolname.Effect.RectLeft [= Integer ]
[C#.NET] imagekitcontrolname.Effect.RectLeft [= int ]

Property Value

The left coordinate of the bounding rectangle

Explanation

The RectLeft property sets the left coordinate of a bounding rectangle which is used to process an effect within an elliptical area on the image. The size and location of this elliptical area is determined by a rectangle that bounds the ellipse. This bounding rectangle is also used by the CutRectImage method.

The RectBottom, RectLeft, RectRight, and RectTop properties set the location and size of this bounding rectangle. These properties are enabled when the SelectMode property is 3 (ikEffectEllipse).

Setting this value

This value can be set during execution.

Retrieving this value

This value is retrieved during execution.


RectRight (ImageKit Control/ Effect Property)

This property sets the right coordinate of a bounding rectangle that is used to process an elliptical area on the image. This bounding rectangle is also used by the CutRectImage method.
[Visual Basic] imagekitcontrolname.Effect.RectRight [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetEffect().GetRectRight()
imagekitcontrolname.GetEffect().SetRectRight(long Val)
[VB.NET] imagekitcontrolname.Effect.RectRight [= Integer ]
[C#.NET] imagekitcontrolname.Effect.RectRight [= int ]

Property Value

The right coordinate of the bounding rectangle

Explanation

The RectRight property sets the right coordinate of a bounding rectangle which is used to process an effect within an elliptical area on the image. The size and location of this elliptical area is determined by a rectangle that bounds the ellipse. This bounding rectangle is also used by the CutRectImage method.

The RectBottom, RectLeft, RectRight, and RectTop properties set the location and size of this bounding rectangle. These properties are enabled when the SelectMode property is 3 (ikEffectEllipse).

Setting this value

This value can be set during execution.

Retrieving this value

This value is retrieved during execution.


RectTop (ImageKit Control/ Effect Property)

This property sets the top coordinate of a bounding rectangle that is used to process an elliptical area on the image. This bounding rectangle is also used by the CutRectImage method.
[Visual Basic] imagekitcontrolname.Effect.RectTop [= Long ]
[Visual C++] [long = ]imagekitcontrolname.GetEffect().GetRectTop()
imagekitcontrolname.GetEffect().SetRectTop(long Val)
[VB.NET] imagekitcontrolname.Effect.RectTop [= Integer ]
[C#.NET] imagekitcontrolname.Effect.RectTop [= int ]

Property Value

The top coordinate of the bounding rectangle

Explanation

The RectTop property sets the top coordinate of a bounding rectangle which is used to process an effect within an elliptical area on the image. The size and location of this elliptical area is determined by a rectangle that bounds the ellipse. This bounding rectangle is also used by the CutRectImage method.

The RectBottom, RectLeft, RectRight, and RectTop properties set the location and size of this bounding rectangle. These properties are enabled when the SelectMode property is 3 (ikEffectEllipse).

Setting this value

This value can be set during execution.

Retrieving this value

This value is retrieved during execution.


SelectMode (ImageKit Control/ Effect Property)

This property sets the type of area that will be processed on the image
[Visual Basic] imagekitcontrolname.Effect.SelectMode [= AreaSelectModeConstants]
[Visual C++] [long = ]imagekitcontrolname.GetEffect().GetSelectMode()
imagekitcontrolname.GetEffect().SetSelectMode(long Val)
[VB.NET] imagekitcontrolname.Effect.SelectMode [= ImageKit10(A)Lib.AreaSelectModeConstants]
[C#.NET] imagekitcontrolname.Effect.SelectMode [= ImageKit10(A)Lib.AreaSelectModeConstants]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | A mask handle is used to determine the area to be processed. (The value set in the MaskFileName property and MaskImageHandle property are enabled)
1 | The total image is processed. ( The value set in the ImageHandle property is enabled.)
2 | A polygonal area, selected on the image, is processed. (The x and y coordinate values of the points defining the polygon are passed to the Effect method through its x and y parameters.)
3 | An elliptical shape, selected on the image, is processed. (The values set in the RectLeft, RectTop, RectRight, and RectBottom properties are enabled.)
The following constants can also be used: (ikEffectMask = 0, ikEffectAll = 1, ikEffectPolygon = 2, ikEffectEllipse = 3)

Explanation

In the ImageKit, there are several ways in which an area on an image can be processed. The SelectMode property sets the type of area that will be processed on the image

Setting this value

This value can be set during execution.

Retrieving this value

This value is retrieved during execution.


ImageKit Effect Methods

Custom Methods | Explanation
Affine | Performs image Affine changes
AntiAlias | Performs image anti-alias
AntiAliasVariant | Performs image anti-alias (for scripting and other languages that require variant types)
AutoSelectImage | Uses a specified color (RGB value), and selects areas of the image that have that color.
AutoSelectImageVariant | Uses a specified color (RGB value), and selects areas of the image that have that color. (for scripting and other languages that require variant types)
Blur | Blurs the image
BlurVariant | Blurs the image (for scripting and other languages that require variant types)
Canvas | Produces a canvas effect on the image
CanvasVariant | Produces a canvas effect on the image (for scripting and other languages that require variant types)
CheckSecretImage | Retrieves the digital watermark from the image
Chroma | Processes image chrominance
ChromaVariant | Processes image chrominance (for scripting and other languages that require variant types)
ConvertColor | Increases or decreases the number of colors in an image
CustomFilter | Creates a user defined effect filter
CustomFilterVariant | Creates a user defined effect filter (for scripting and other languages that require variant types)
CutRectImage | Allows a rectangular portion of an image to be copied without the use of a mask image
Emboss | Embosses the image
EmbossVariant | Embosses the image (for scripting and other languages that require variant types)
EndDibAccess | Ends DIB access
EndDibAccessVariant | Ends DIB access. (for scripting and other languages that require variant types)
GetDibPixel | Retrieves the pixel values from the DIB
GetDibPixelVariant | Retrieves the pixel values from the DIB. (for scripting and other languages that require variant types)
GlassTile | Produces an effect similar to glass tile on the image
GlassTileVariant | Produces an effect similar to glass tile on the image (for scripting and other languages that require variant types)
LayerImage | Layers raster images together
Lens | Produces a lens-like effect on the image
LensVariant | Produces a lens-like effect on the image (for scripting and other languages that require variant types)
MakeRGBAImage | Creates a 32-bit RGBA image from an image and an alpha channel
Mosaic | Produces a mosaic on the image
MosaicVariant | Produces a mosaic on the image (for scripting and other languages that require variant types)
MotionBlur | Produces a motion blur on the image
MotionBlurVariant | Produces a motion blur on the image (for scripting and other languages that require variant types)
OilPaint | Produces an effect similar to an oil painting on the image
OilPaintVariant | Produces an effect similar to an oil painting on the image (for scripting and other languages that require variant types)
Outline | Produces an outline effect on the image
OutlineVariant | Produces an outline effect on the image (for scripting and other languages that require variant types)
Panorama | Makes a panorama image from several images
PasteImage | Pastes raster image together
RedEyeRemoval | Removes Red Eyes from images
RedEyeRemovalVariant | Removes Red Eyes from images (for scripting and other languages that require variant types)
RemoveNoise | Processes noise reduction
RemoveNoiseVariant | Processes noise reduction (for scripting and other languages that require variant types)
Resize | Increases or decreases the image size
RGBGamma | Modifies RGB values using a Gamma function
RGBGammaVariant | Modifies RGB values using a Gamma function (for scripting and other languages that require variant types)
RGBLevel | Increases and decreases RGB values
RGBLevelVariant | Increases and decreases RGB values (for scripting and other languages that require variant types)
RGBRev | Reverses RGB values
RGBRevVariant | Reverses RGB values (for scripting and other languages that require variant types)
RGBSpline | Modifies RGB values using a Spline function
RGBSplineVariant | Modifies RGB values using a Spline function (for scripting and other languages that require variant types)
Ripple | Produces a ripple like effect on the image
RippleVariant | Produces a ripple like effect on the image (for scripting and other languages that require variant types)
Rotation | Rotates the image
SelectImage | Selects areas on the image for processing
SelectImageVariant | Selects areas on the image for processing (for scripting and other languages that require variant types)
SetDibPixel | Sets the DIB pixel values
SetDibPixelVariant | Sets the DIB pixel values. (for scripting and other languages that require variant types)
SetGray | Changes color images to grayscale
SetSecretImage | Sets a digital watermark on the image
Sharp | Changes the image sharpness
SharpVariant | Changes the image sharpness (for scripting and other languages that require variant types)
SplitRGBAImage | Splits a 32 bit RGBA image into a 24 bit RGB image and a 8 bit alpha channel
StartDibAccess | Begins DIB access
StartDibAccessVariant | Begins DIB access. (for scripting and other languages that require variant types)
UnifyColor | Changes a range of color into a single color
UnifyColorVariant | Changes a range of color into a single color (for scripting and other languages that require variant types)
Waves | Produces a wave-like effect on the image
WavesVariant | Produces a wave-like effect on the image (for scripting and other languages that require variant types)
WhirlPinch | Produces an effect similar to pinching the image then twisting your fingers
WhirlPinchVariant | Produces an effect similar to pinching the image then twisting your fingers (for scripting and other languages that require variant types)
YCCGamma | Modifies image YCrCb values using a Gamma function
YCCGammaVariant | Modifies image YCrCb values using a Gamma function (for scripting and other languages that require variant types)
YCCLevel | Increases and decreases YCrCb values
YCCLevelVariant | Increases and decreases YCrCb values (for scripting and other languages that require variant types)
YCCRev | Reverses YCrCb values
YCCRevVariant | Reverses YCrCb values (for scripting and other languages that require variant types)
YCCSpline | Modifies YCrCb values using a Spline function
YCCSplineVariant | Modifies YCrCb values using a Spline function (for scripting and other languages that require variant types)


Affine (ImageKit Control/ Effect Method)

This method corrects a warped raster image
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Affine(Px1 As Long, Py1 As Long, Px2 As Long, Py2 As Long, Px3 As Long, Py3 As Long, Px4 As Long, Py4 As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Affine(long Px1, long Py1, long Px2, long Py2, long Px3, long Py3, long Px4, long Py4)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Affine(Px1 As Integer, Py1 As Integer, Px2 As Integer, Py2 As Integer, Px3 As Integer, Py3 As Integer, Px4 As Integer, Py4 As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Affine(int Px1, int Py1, int Px2, int Py2, int Px3, int Py3, int Px4, int Py4)

Parameters

Name | Explanation
Px1-Px4 | The x coordinates of the four points defining the area for Affine changes. (in pixels)
Py1-Py4 | The y coordinates of the four points defining the area for Affine changes. (in pixels)

Return Value

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

Explanation

The Affine method corrects a warped raster image. (Px1,Py1), (Px2,Py2), (Px3,Py3), (Px4,Py4) are the points of the (irregular) quadrangle that surrounds the area in the image to be corrected. The corrected area is squared and scaled to fit into a regular rectangle.

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


AntiAlias (ImageKit Control/ Effect Method)

This method smoothes edges in raster images
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.AntiAlias(x As Long, y As Long, Points As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().AntiAlias(long *x, long *y, long Points)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.AntiAlias(ByRef x As Integer, ByRef y As Integer, Points As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.AntiAlias(ref int x, ref ing y, int Points)

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)
Points | The number of points defining the polygonal area on the image.
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

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

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

Before executing the AntiAlias 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 AntiAlias 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

Note: 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.

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 or when using 64 bit builds in VB.NET or C#, please refer to the AntiAliasVariant method.


AntiAliasVariant (ImageKit Control/ Effect Method)

ImageKit10 ActiveX

AntiAliasVariant (ImageKit Control/ Custom Method)

This method smoothes edges in raster images.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.AntiAliasVariant(x As Variant, y As Variant)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.AntiAliasVariant(ByRef x As Object, By Ref y As Object)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.AntiAliasVariant(ref object x, ref object y)

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)
* 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 AntiAliasVariant method smoothes edges in raster images. To execute the AntiAliasVariant method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The AntiAliasVariant method supports 8-bit grayscale, 16, 24, and 32 bit images.

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

Before executing the AntiAliasVariant 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 AntiAliasVariant 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

Note: When the SelectMode property is set to values other than 2 (ikEffectPolygon), please set dummy arrays in the x and y parameters.

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 AntiAlias method.


AutoSelectImage (ImageKit Control/ Effect Method)

The AutoSelectImage method uses a specified color (RGB value), compares this value to pixels in the image and selects areas of the image that have that color. From this selection, the AutoSelectImage method creates a new image and mask image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.AutoSelectImage(x As Long, y As Long, Points As Long, Red As Integer, Green As Integer, Blue As Integer, Mode As Integer, Level As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().AutoSelectImage(long *x, long *y, long Points, short Red, short Green, short Blue, short Mode, short Level)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.AutoSelectImage(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Short, Green As Short, Blue As Short, Mode As Short, Level As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.AutoSelectImage(ref int x, ref int y, int Points, short Red, short Green, short Blue, short Mode, 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)
Points | The number of points defining the polygonal area on the image.
Red | Specifies the red value of the color that will be selected (From 0 to 255)
Green | Specifies the green value of the color that will be selected (From 0 to 255)
Blue | Specifies the blue value of the color that will be selected (From 0 to 255)
Mode | Comparison mode (0:RGB, 1:CrCb, 2:Y)
Level | Level of Allowance (From 0 to 255)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The AutoSelectImage method uses a specified color (RGB value), and selects areas of the image that have that color. To execute the AutoSelectImage method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The AutoSelectImage method supports 1, 4, 8, 16, 24, and 32 bit images.

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

  1. To process the total image, set the SelectMode property to 1
  2. 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 AutoSelectImage method. The number of points defining the polygon must be 3 or more
  3. 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

Note: 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.

The Mode parameter sets the type of color comparison used to select portions of the image. When the Mode parameter is other than 0 (i.e. CrCb or Y) then all RGB values are converted to YCrCb values and compared. The Level parameter controls the range of RGB values that will be selected. If the Level value is 0, then only those pixels that have the save RGB value as that specified in the Red, Green, and Blue parameters will be selected. As the Level parameter increases, the range of RGB values that will be selected increases. For example, if Level = 10 and Red, Green, and Blue = 100 respectively, then all pixels with an RGB value between (90,90,90) and (110,110,110) will be selected.

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 or when using 64 bit builds in VB.NET or C#, please refer to the AutoSelectImageVariant method.


AutoSelectImageVariant (ImageKit Control/ Effect Method)

The AutoSelectImageVariant method uses a specified color (RGB value), compares this value to pixels in the image and selects areas of the image that have that color. From this selection, the AutoSelectImage method creates a new image and mask image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.AutoSelectImageVariantx As Variant, y As Variant, Red As Integer, Green As Integer, Blue As Integer, Mode As Integer, Level As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.AutoSelectImageVariantByRef x As Object, ByRef y As Object, Red As Short, Green As Short, Blue As Short, Mode As Short, Level As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.AutoSelectImageVariantref object x, ref object y, short Red, short Green, short Blue, short Mode, 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)
Red | Specifies the red value of the color that will be selected (From 0 to 255)
Green | Specifies the green value of the color that will be selected (From 0 to 255)
Blue | Specifies the blue value of the color that will be selected (From 0 to 255)
Mode | Comparison mode (0:RGB, 1:CrCb, 2:Y)
Level | Level of Allowance (From 0 to 255)
* 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 AutoSelectImageVariant method uses a specified color (RGB value), and selects areas of the image that have that color.

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

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

Before executing the AutoSelectImageVariant 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 AutoSelectImageVariant 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

Note: When the SelectMode property is set to values other than 2 (ikEffectPolygon), please set dummy arrays in the x and y parameters.

The Mode parameter sets the type of color comparison used to select portions of the image. When the Mode parameter is other than 0 (i.e. CrCb or Y) then all RGB values are converted to YCrCb values and compared. The Level parameter controls the range of RGB values that will be selected. If the Level value is 0, then only those pixels that have the save RGB value as that specified in the Red, Green, and Blue parameters will be selected. As the Level parameter increases, the range of RGB values that will be selected increases. For example, if Level = 10 and Red, Green, and Blue = 100 respectively, then all pixels with an RGB value between (90,90,90) and (110,110,110) will be selected.

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 AutoSelectImage method.


Blur (ImageKit Control/ Effect Method)

The Blur method blurs a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Blur(x As Long, y As Long, Points As Long, Level As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Blur(long *x, long *y, long Points, short Level)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Blur(ByRef x As Integer, ByRef y As Integer, Points As Integer, Level As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Blur(ref int x, ref int y,int Points, 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)
Points | The number of points defining the polygonal area on the image.
Level | The strength of the bluring function (From 1 to 20). As the Level increases, the strength of the blur increases.
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The Blur method blurs a raster image. As the Level parameter increases, the strength of the blur increases. To execute the Blur method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The Blur method supports 8-bit grayscale, 16, 24, and 32 bit images.

Before executing the Blur 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 Blur 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 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. 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 or when using 64 bit builds in VB.NET or C#, please refer to the BlurVariant method.


BlurVariant (ImageKit Control/ Effect Method)

The BlurVariant method blurs a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.BlurVariant(x As Variant, y As Variant, Level As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.BlurVariant(ByRef x As Object, ByRef y As Object, Level As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.BlurVariant(ref object x, ref object y, short Level)

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) *
Level | The strength of the bluring function (From 1 to 20). As the Level increases, the strength of the blur increases.
* In Visual Basic / VB.NET, if 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 BlurVariant method blurs a raster image. As the Level parameter increases, the strength of the blur increases. To execute the BlurVariant method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The BlurVariant method supports 8-bit grayscale, 16, 24, and 32 bit images.

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

Before executing the BlurVariant 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 BlurVariant 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 Blur method.


Canvas (ImageKit Control/ Effect Method)

The Canvas method produces a canvas effect on the raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Canvas(x As Long, y As Long, Points As Long, Direction As Integer, Depth As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Canvas(long *x, long *y, long Points, short Direction, short Depth)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Canvas(x As Integer, y As Integer, Points As Integer, Direction As Short, Depth As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Canvas(ref int x, ref int y, int Points, short Direction, short Depth)

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)
Points | The number of points defining the polygonal area on the image.
Direction | The direction of the canvas pattern (0:From top to right, 1: From top to left, 2: From bottom to left, 3: From bottom to right)
Depth | Depth of the canvas pattern. (From 0 to 255)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The Canvas method produces a canvas effect on the raster image. To execute the Canvas method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The Canvas method supports 8-bit grayscale, 16, 24, and 32 bit images.

Before executing the Canvas 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 Canvas 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 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. 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 or when using 64 bit builds in VB.NET or C#, please refer to the CanvasVariant method.


CanvasVariant (ImageKit Control/ Effect Method)

The CanvasVariant method produces a canvas effect on the raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.CanvasVariant(x As Variant, y As Variant, Direction As Integer, Depth As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.CanvasVariant(x As Object, y As Object, Direction As Short, Depth As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.CanvasVariant(ref int x, ref int y, short Direction, short Depth)

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)
Direction | The direction of the canvas pattern (0:From top to right, 1: From top to left, 2: From bottom to left, 3: From bottom to right)
Depth | Depth of the canvas pattern. (From 0 to 255)
* 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 CanvasVariant method produces a canvas effect on the raster image. To execute the CanvasVariant method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The CanvasVariant method supports 8-bit grayscale, 16, 24, and 32 bit images.

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

Before executing the CanvasVariant 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 CanvasVariant 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 Canvas method.


CheckSecretImage (ImageKit Control/ Effect Method)

This method retrieves the digital watermark from a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.CheckSecretImage(Handle1 As LONG_PTR, Handle2 As LONG_PTR, Level As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().CheckSecretImage(LONG_PTR Handle1, LONG_PTR Handle2, long Level)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.CheckSecretImage(Handle1 As Integer(x86) or Long(x64), Handle2 As Integer(x86) or Long(x64), Level As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.CheckSecretImage(int(x86) or long(x64) Handle1,int(x86) or long(x64) Handle2, int Level)

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
Handle1 | The image handle of the original image. This is the image without a digital watermark that is used as a key to compare to another image and check if a watermark exists. (24 bit color images only)
Handle2 | The image handle of the image that contains the watermark. (24 bit color images only)
Level | The level at which to retrieve the watermark. (From -20 to 20 )

Return Value

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

Explanation

The CheckSecretImage method retrieves the digital watermark from an image whose watermark has been set with the SetSecretImage method. It CANNOT retrieve other types of watermarks.

To check whether an image contains a watermark, set the image handle of the original image in the Handle1 parameter and set the image handle of the image suspected to contain the watermark in the Handle2 parameter. The Level parameter should be set to a value that is the same as or slighly smaller than the Level at which the watermark was embedded into the image using the SetSecretImage method. Using a Level to retrieve the watermark that differs significantly from the Level at which the watermark was set will result in no watermark being retrieved. Furthermore, the orginal image and the watermarked image must be exactly the same size. If either image has been resized, no watermark can be retrieved.

If successful the resulting raster image handle is set in the ImageHandle property or the Layer(LayerNo).ImageHandle property dpending on the value set in the LayerNo property. The resulting image has a black background with the digital watermark appearing in white. (It is a 1-bit image that is the same size as the images set in Handle1 and Handle2.)

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.

To set a watermark in an image, please refer to the SetSecretImage method.

Differences from ImageKit 7 / 8

The type of the Handle1 and Handle2 parameters has changed.


Chroma (ImageKit Control/ Effect Method)

This method adjusts the chrominance of a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Chroma(x As Long, y As Long, Points As Long, Level As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Chroma(long *x, long *y, long Points, long Level)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Chroma(ByRef x As Integer, ByRef y As Integer, Points As Integer, Level As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Chroma(ref int x, ref int y, int Points, int 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)
Points | The number of points defining the polygonal area on the image.
Level | Chrominance Level (-100 to 1000)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The Chroma method adjusts the chrominance of the image. Chrominance refers to the color element of the image whereas Luminance refers to the brightness element. You can adjust the chrominance by using the Level parameter which can have a value ranging from -100 to 1000. When the Level parameter is 0, there is no change in the image color. As the level becomes negative, the colors in the image become less vivid. When the Level parameter reaches -100 the chrominance element is negated leaving only the Luminance element. This is grayscale. Conversely, as the Level parmeter increases from 0, the colors become more vivid.

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

Before executing the Chroma 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 Chroma 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 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 SelectMode property must be set to process the total image (i.e. SelectMode= 1). 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 or when using 64 bit builds in VB.NET or C#, please refer to the ChromaVariant method.


ChromaVariant (ImageKit Control/ Effect Method)

This method adjusts the chrominance of a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.ChromaVariant(x As Variant, y As Variant, Level As Long)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.ChromaVariant(ByRef x As Object, ByRef y As Object, Level As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.ChromaVariant(ref object x, ref object y, int 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)
Level | Chrominance Level (-100 to 1000)
* 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 ChromaVariant method adjusts the chrominance of the image. Chrominance refers to the color element of the image whereas Luminance refers to the brightness element. You can adjust the chrominance by using the Level parameter which can have a value ranging from -100 to 1000. When the Level parameter is 0, there is no change in the image color. As the level becomes negative, the colors in the image become less vivid. When the Level parameter reaches -100 the chrominance element is negated leaving only the Luminance element. This is grayscale. Conversely, as the Level parmeter increases from 0, the colors become more vivid.

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

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

Before executing the ChromaVariant 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 ChromaVariant 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 SelectMode property must be set to process the total image (i.e. SelectMode= 1). 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 Chroma method.


ConvertColor (ImageKit Control/ Effect Method)

This method converts images from one bit count to another.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.ConvertColor(PixelType As Integer, FixedPal As Boolean, Dither As Boolean, Level As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().ConvertColor(short PixelType, BOOL FixedPal, BOOL Dither, short Level)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.ConvertColor(PixelType As Short, FixedPal As Boolean, Dither As Boolean, Level As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.ConvertColor(short PixelType, bool FixedPal, bool Dither, short Level)

Parameters

Name | Explanation
PixelType | The number of bits per pixel (1, 4, 8, 16, 24, 32, 40, 80) after the conversion. * 4 represents 4 bit color, 40 is for 4 bit grayscale, 8 is for 8 bit color, and 80 is for 8 bit grayscale.
FixedPal | Fixed palette settings (Use when decreasing or increasing to 1, 4, or 8 bit color) False (0): Uses a created palette most suitable for the image True (nonzero): Uses a fixed palette
Dither | Sets the dither (error diffusion) (Use when decreasing to 1, 4, or 8 bit color or 4 bit grayscale) False(0): Does not dither True(nonzero): Dithers
Level | Threshold value settings (Use when decreasing to 1 bit images) 0 to 255

Return Value

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

Explanation

The ConvertColor method changes the number of colors (also known as the bit count) of a raster image.

To execute the ConvertColor method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. When decreasing the number of colors of an image to 1 bit color, if the RGB value (an average of the red, green, and blue values) is less than the threshold value, the palette is set to 0, otherwise it is set to 1. If the specified RGB values can not be selected, a black image is created. If successful the resulting raster image data is set in the ImageHandle property or the Layer(LayerNo).ImageHandle property depending on the value of the LayerNo 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.


CustomFilter (ImageKit Control/ Effect Method)

This method allows you to create a custom effects filter for raster images.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.CustomFilter(x As Long, y As Long, Points As Long, Matrix As Long, Div As Integer, Level As Integer, Red As Boolean, Green As Boolean, Blue As Boolean)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().CustomFilter(long *x, long *y, long Points, long *Matrix, short Div, short Level, BOOL Red, BOOL Green, BOOL Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.CustomFilter(ByRef x As Integer, ByRef y As Integer, Points As Integer, ByRef Matrix As Integer, Div As Short, Level As Short, Red As Boolean, Green As Boolean, Blue As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.CustomFilter(ref int x, ref int y, int Points, ref int Matrix, short Div, short Level, bool Red, bool Green, bool Blue)

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)
Points | The number of points defining the polygonal area on the image.
Matrix | 9x9 matrix (an array of 81 items ranging from 0 to 80). * (see note below)
Div | The division factor
Level | The bias factor (from 0 to 255, as this factor increases, the color becomes brighter)
Red | To process the red plane, set toTrue (nonzero), otherwise set to False (0)
Green | To process the green plane, set toTrue (nonzero), otherwise set to False (0)
Blue | To process the blue plane, set toTrue (nonzero), otherwise set to False (0)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The CustomFilter method allows you to create a custom effects filter for raster images. An effects filter alters each pixel's color based on its current color and the colors of any neighboring pixels. (See the explanation of the filter matrix below.)

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

Before executing the CustomFilter 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 CustomFilter 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 and set the Points parameter to 0. When processing a grayscale image the Red, Green and Blue parameter values are disabled. (dummy values). 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.

For scripting languages and other programs that require variant types, or when using VB.NET or C#.NET in 64 bit builds, please refer to the CustomFilterVariant method.

The filter consists of an array of coefficients called a filter matrix. A filter processes an image on a pixel-by-pixel basis. Each pixel's color value is multiplied by the coefficient in the matrix center, and any pixels within the matrix are multiplied by the corresponding coefficients. The sum of the products becomes the target pixel's new value. To make the filter matrix, it is necessary to create an array containing 80 elements and set the appropriate coefficient values in the array elements. The formula used to calculate the target pixel's value is given below:

Where F is the output value of the target pixel, Pi is a pixel in the grid, and Ci is a coefficient in the matrix. Div is the division factor which allows you to achieve effects that would otherwise require decimal coefficients. Level is a bias factor. You use the bias to shift the value of each pixel by a fixed amount. As the bias factor increases, the resultant color is brighter. Bias adjustments are particularly useful for creating embossing effects.

Some sample matrix are given below:


CustomFilterVariant (ImageKit Control/ Effect Method)

The CustomFilterVariant method allows you to create a custom effects filter for raster images.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.CustomFilter(x As Variant, y As Variant, Matrix As Variant, Div As Integer, Level As Integer, Red As Boolean, Green As Boolean, Blue As Boolean)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.CustomFilter(ByRef x As Object, ByRef y As Object, ByRef Matrix As Object, Div As Short, Level As Short, Red As Boolean, Green As Boolean, Blue As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.CustomFilter(ref object x, ref object y, ref object Matrix, short Div, short Level, bool Red, bool Green, bool Blue)

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)
Matrix | 9x9 matrix (an array of 81 items ranging from 0 to 80). * (see Note below)
Div | The division factor
Level | The bias factor (from 0 to 255, as this factor increases, the color becomes brighter)
Red | To process the red plane, set toTrue (nonzero), otherwise set to False (0)
Green | To process the green plane, set toTrue (nonzero), otherwise set to False (0)
Blue | To process the blue plane, set toTrue (nonzero), otherwise set to False (0)
* 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 CustomFilterVariant method allows you to create a custom effects filter for raster images. This method is recommended when using scripting or other languages that require variant types. An effects filter alters each pixel's color based on its current color and the colors of any neighboring pixels. (See the explanation of the filter matrix below.)

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

Before executing the CustomFilterVariant 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 CustomFilter 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 processing a grayscale image the Red, Green and Blue parameter values are disabled. (dummy values). 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 CustomFilter method.

The filter consists of an array of coefficients called a filter matrix. A filter processes an image on a pixel-by-pixel basis. Each pixel's color value is multiplied by the coefficient in the matrix center, and any pixels within the matrix are multiplied by the corresponding coefficients. The sum of the products becomes the target pixel's new value. To make the filter matrix, it is necessary to create an array containing 80 elements and set the appropriate coefficient values in the array elements. The formula used to calculate the target pixel's value is given below:

Where F is the output value of the target pixel, Pi is a pixel in the grid, and Ci is a coefficient in the matrix. Div is the division factor which allows you to achieve effects that would otherwise require decimal coefficients. Level is a bias factor. You use the bias to shift the value of each pixel by a fixed amount. As the bias factor increases, the resultant color is brighter. Bias adjustments are particularly useful for creating embossing effects.

Some sample matrix are given below:


CutRectImage (ImageKit Control/ Effect Method)

This method copies that portion of a raster image that is specified by the selected rectangle.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.CutRectImage
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().CutRectImage()
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.CutRectImage()
[C#.NET] [ bool = ]imagekitcontrolname.Effect.CutRectImage()

Parameters

None

Return Value

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

Explanation

The CutRectImage method allows you to copy a portion of a raster image without using a mask image. (If you wish to use a mask image, please refer to the SelectImage or the SelectImageVariant methods). Although very similar to the SelectImage method, the CutRectImage method is much faster.

To execute the CutRectImage method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property and specify the area to be copied by setting the RectLeft, RectTop, RectRight, and RectBottom properties. The CutRectImage method supports 1, 4, 8, 16, 24, and 32 bit images.

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.


Emboss (ImageKit Control/ Effect Method)

This method creates an emboss effect on a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Emboss(x As Long, y As Long, Points As Long, MskPattern As Integer, Edge As Integer, Level As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Emboss(long *x, long *y, long Points, short MskPattern, short Edge, short Level)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Emboss(ByRef x As Integer, ByRef y As Integer, Points As Integer, MskPattern As Short, Edge As Short, Level As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Emboss(ref int x, ref int y, int Points, short MskPattern, short Edge, 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)
Points | The number of points defining the polygonal area on the image.
MskPattern | Sets the direction of the emboss (0: Left to Right, 1: Top Left to Bottom Right, 2: Top to Bottom, 3: Top Right to Bottom Left, 4: Right to Left, 5: Bottom Right to Top Left, 6: Bottom to Top, 7: Bottom Left to Top Right)
Edge | Sets the depth of the emboss (from 1 to 5; where 5 is the deepest emboss)
Level | Sets the brightness of the emboss (from 0 to 255; where 255 is the brightest)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The Emboss method creates an emboss effect on a raster image. To execute the Emboss method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The Emboss method supports 8-bit grayscale, 16, 24, and 32 bit images.

Before executing the Emboss 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 Emboss 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the EmbossVariant method.


EmbossVariant (ImageKit Control/ Effect Method)

This method creates an emboss effect on a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.EmbossVariant(x As Variant, y As Variant, MskPattern As Integer, Edge As Integer, Level As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.EmbossVariant(ByRef x As Object, ByRef y As Object, MskPattern As Short, Edge As Short, Level As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.EmbossVariant(ref object x, ref object y, short MskPattern, short Edge, 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)
MskPattern | Sets the direction of the emboss (0: Left to Right, 1: Top Left to Bottom Right, 2: Top to Bottom, 3: Top Right to Bottom Left, 4: Right to Left, 5: Bottom Right to Top Left, 6: Bottom to Top, 7: Bottom Left to Top Right)
Edge | Sets the depth of the emboss (from 1 to 5; where 5 is the deepest emboss)
Level | Sets the brightness of the emboss (from 0 to 255; where 255 is the brightest)
* 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 EmbossVariant method creates an emboss effect on a raster image. This method is recommended when using scripting or other languages that require variant types.

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

Before executing the EmbossVariant 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 EmbossVariant 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 Emboss method.


EndDibAccess (ImageKit Control/ Effect Method)

The EndDibAccess method is used to allow access to pixels in the Device Independent Bitmap (DIB). This method is to be used in conjunction with the StartDibAccess method.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.EndDibAccess(DibNo As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().EndDibAccess(short DibNo)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.EndDibAccess(DibNo As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.EndDibAccess(short DibNo)

Parameters

Name | Explanation
DibNo | The identification number of the DIB as retrieved from the StartDibAccess method.

Return Value

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

Explanation

The EndDibAccess method is to be used in conjunction with the StartDibAccess method. The DibNo parameter value must be the same as that retrieved from the StartDibAccess method.

To access the DIB and manipulate pixel data, you must use the following methods as a group:
StartDibAccess
|
GetDibPixel, SetDibPixel
|
EndDibAccess

Note: If you want to access the DIB it is highly recommended that you use the ImageKit DLL functions. They are much faster than the ImageKit OCX controls at accessing the DIB. However, since you can also use the OCX controls to access the DIB, the explanation is included.

Sample Code
The following code starts access to the DIB, then loops through each pixel in the image, using the GetDibPixel method to retrieve the pixels' rgb values. Then those values are reversed and set using the SetDibPixel method. (For 1, 16, 24, or 32 bit images)

Visual Basic

Dim Ret As Boolean
Dim DibNo As Integer
Dim i As Long, j As Long
Dim PalNo As Integer, Red As Integer, Green As Integer, Blue As Integer

Ret = ImageKit1.GetImageType
If Ret = False Then Exit Sub
Ret = ImageKit1.Effect.StartDibAccess(ImageKit1.ImageHandle, DibNo)
If Ret = False Then Exit Sub

For i = 0 To ImageKit1.ImageHeight - 1
For j = 0 To ImageKit1.ImageWidth - 1
Ret = ImageKit1.Effect.GetDibPixel(DibNo, j, i, PalNo, Red, Green, Blue)
If ImageKit1.BitCount = 1 Then
If PalNo <> 0 Then
PalNo = 0
Else
PalNo = 1
End If
Else If ImageKit1.BitCount > 8 Then
Blue = 255 - Blue
Green = 255 - Green
Red = 255 - Red
End If
Ret = ImageKit1.Effect.SetDibPixel(DibNo, j, i, PalNo, Red, Green, Blue)
Next j
Next i
Ret = ImageKit1.Effect.EndDibAccess(DibNo)
ImageKit1.Refresh


EndDibAccessVariant (ImageKit Control/ Effect Method)

The EndDibAccessVariant method is used to allow access to pixels in the Device Independent Bitmap (DIB). This method is to be used in conjunction with the StartDibAccessVariant method.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.EndDibAccessVariant(DibNo As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.EndDibAccessVariant(DibNo As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.EndDibAccessVariant(short DibNo)

Parameters

Name | Explanation
DibNo | The identification number of the DIB as retrieved from the StartDibAccessVariant method.

Return Value

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

Explanation

The EndDibAccessVariant method is to be used in conjunction with the StartDibAccessvariant method. This method is equivalent to the EndDibAccess method but can be used in scripting languages that require variant types. The DibNo parameter value must be the same as that retrieved from the StartDibAccessVariant method.

To access the DIB and manipulate pixel data, you must use the following methods as a group:
StartDibAccessVariant
|
GetDibPixelVariant, SetDibPixelVariant
|
EndDibAccessVariant


GetDibPixel (ImageKit Control/ Effect Method)

This method retrieves the RGB values and palette number of the specified pixel in the Device Independent Bitmap (DIB)
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.GetDibPixel(DibNo As Integer, x As Long, y As Long, PalNo As Integer, Red As Integer, Green As Integer, Blue As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().GetDibPixel(short DibNo, long x, long y, short *PalNo, short *Red, short *Green, short *Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.GetDibPixel(DibNo As Short, x As Integer, y As Integer, ByRef PalNo As Short, ByRef Red As Short, ByRef Green As Short, ByRef Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.GetDibPixel(short DibNo, int x, int y, ref short PalNo, ref short Red, ref short Green, ref short Blue)

Parameters

Name | Explanation
DibNo | The identification number of the DIB as retrieved from the StartDibAccess method.
x, y | The x,y coordinates of the specified pixel
PalNo | The palette number of the specified pixel
Red | The red component of the RGB value of the specified pixel
Green | The green component of the RGB value of the specified pixel
Blue | The blue component of the RGB value of the specified pixel

Return Value

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

Explanation

The GetDibPixel method retrieves the RGB values and palette number of the specified pixel in the Device Independent Bitmap (DIB). The DibNo parameter value must be the same as that retrieved from the StartDibAccess method. For 1, 4, and 8 bit images, the applicable values are set in the PalNo parameter. For 16, 24, and 32 bit images, the applicable values are set in the Red, Green, and Blue parameters

To access the DIB and manipulate pixel data, you must use the following methods as a group:
StartDibAccess
|
GetDibPixel, SetDibPixel
|
EndDibAccess

Note: If you want to access the DIB it is highly recommended that you use the ImageKit DLL functions. They are much faster than the ImageKit OCX controls at accessing the DIB. However, since you can also use the OCX controls to access the DIB, the explanation is included.

Sample Code
The following code starts access to the DIB, then loops through each pixel in the image, using the GetDibPixel method to retrieve the pixels' rgb values. Then those values are reversed and set using the SetDibPixel method. (For 1, 16, 24, or 32 bit images)

Visual Basic

Dim Ret As Boolean
Dim DibNo As Integer
Dim i As Long, j As Long
Dim PalNo As Integer, Red As Integer, Green As Integer, Blue As Integer

Ret = ImageKit1.GetImageType
If Ret = False Then Exit Sub
Ret = ImageKit1.Effect.StartDibAccess(ImageKit1.ImageHandle, DibNo)
If Ret = False Then Exit Sub

For i = 0 To ImageKit1.ImageHeight - 1
For j = 0 To ImageKit1.ImageWidth - 1
Ret = ImageKit1.Effect.GetDibPixel(DibNo, j, i, PalNo, Red, Green, Blue)
If ImageKit1.BitCount = 1 Then
If PalNo <> 0 Then
PalNo = 0
Else
PalNo = 1
End If
Else If ImageKit1.BitCount > 8 Then
Blue = 255 - Blue
Green = 255 - Green
Red = 255 - Red
End If
Ret = ImageKit1.Effect.SetDibPixel(DibNo, j, i, PalNo, Red, Green, Blue)
Next j
Next i
Ret = ImageKit1.Effect.EndDibAccess(DibNo)
ImageKit1.Refresh


GetDibPixelVariant (ImageKit Control/ Effect Method)

This method retrieves the RGB values and palette number of the specified pixel in the Device Independent Bitmap (DIB).

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.GetDibPixelVariant(DibNo As Integer, x As Long, y As Long, PalNo As Variant, Red As Variant, Green As Variant, Blue As Variant)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.GetDibPixelVariant(DibNo As Short, x As Integer, y As Integer, ByRef PalNo As Object, ByRef Red As Object, ByRef Green As Object, ByRef Blue As Object)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.GetDibPixelVariant(short DibNo, int x, int y, ref object PalNo, ref object Red, ref object Green, ref object Blue)

Parameters

Name | Explanation
DibNo | The identification number of the DIB as retrieved from the StartDibAccessVariant method.
x, y | The x,y coordinates of the specified pixel
PalNo | The palette number of the specified pixel
Red | The red component of the RGB value of the specified pixel
Green | The green component of the RGB value of the specified pixel
Blue | The blue component of the RGB value of the specified pixel

Return Value

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

Explanation

The GetDibPixelVariant method retrieves the RGB values and palette number of the specified pixel in the Device Independent Bitmap (DIB). This method is equivalent to the GetDibPixel method but can be used in scripting languages that require variant types. The DibNo parameter value must be the same as that retrieved from the StartDibAccessVariant method. For 1, 4, and 8 bit images, the applicable values are set in the PalNo parameter. For 16, 24, and 32 bit images, the applicable values are set in the Red, Green, and Blue parameters

To access the DIB and manipulate pixel data, you must use the following methods as a group:
StartDibAccessVariant
|
GetDibPixelVariant, SetDibPixelVariant
|
EndDibAccessVariant


GlassTile (ImageKit Control/ Effect Method)

This method creates an glass tile effect on a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.GlassTile(x As Long, y As Long, Points As Long, xSize As Long, ySize As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().GlassTile(long *x, long *y, long Points, long xSize, long ySize)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.GlassTile(ByRef x As Integer, ByRef y As Integer, Points As Integer, xSize As Integer, ySize As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.GlassTile(ref int x, ref int y, int Points, int xSize, int ySize)

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)
Points | The number of points defining the polygonal area on the image.
xSize | Sets the width of each glass tile (from 10 to 100)
ySize | Sets the height of each glass tile (from 10 to 100)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The GlassTile method produces an effect similar to glass tile on the image. To execute the GlassTile method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The GlassTile method supports 8-bit grayscale, 16, 24, and 32 bit images.

Before executing the GlassTile 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 GlassTile 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the GlassTileVariant method.


GlassTileVariant (ImageKit Control/ Effect Method)

This method creates an glass tile effect on a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.GlassTileVariant(x As Variant, y As Variant, xSize As Long, ySize As Long)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.GlassTileVariant(ByRef x As Object, ByRef y As Object, xSize As Integer, ySize As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.GlassTileVariant(ref object x, ref object y, int xSize, int ySize)

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)
xSize | Sets the width of each glass tile (from 10 to 100)
ySize | Sets the height of each glass tile (from 10 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 GlassTile method produces an effect similar to glass tile on the image. This method is recommended when using scripting or other languages that require variant types.

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

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


LayerImage (ImageKit Control/ Effect Method)

This method layers two raster images together.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.LayerImage(Handle1 As LONG_PTR, Handle2 As LONG_PTR, Trans As Integer, TransColor As Boolean, TRed As Integer, TGreen As Integer, TBlue As Integer, BRed As Integer, BGreen As Integer, BBlue As Integer, x As Long, y As Long, Clip As Boolean)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().LayerImage(LONG_PTR Handle1, LONG_PTR Handle2, short Trans, BOOL TransColor, short TRed, short TGreen, short TBlue, short BRed, short BGreen, short BBlue, long x, long y, BOOL Clip)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.LayerImage(Handle1 As Integer(x86) or Long(x64), Handle2 As Integer(x86) or Long(x64), Trans As Short, TransColor As Boolean, TRed As Short, TGreen As Short, TBlue As Short, BRed As Short, BGreen As Short, BBlue As Short, x As Integer, y As Integer, Clip As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.LayerImage(int(x86) or long(x64) Handle1, int(x86) or long(x64 Handle2, short Trans, bool TransColor, short TRed, short TGreen, short TBlue, short BRed, short BGreen, short BBlue, int x, int y, bool Clip)

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
Handle1 | The handle of the image on which another image is layered. (The image on the bottom) Supports 1, 4, 8, 16, 24, 32 bit images.
Handle2 | The handle of the image to be layered. (The image on the top) Supports 1, 4, 8, 16, 24, 32 bit images.
Trans | The level of transparency of Handle2 (From 0 to 255, as this value increases the image of Handle2 becomes visible)
TransColor | Sets whether or not Handle2 has a transparent color. (False(0): No transparent color, True(non zero): Has transparent color)
TRed | Sets the red component of the RGB value of the transparent color for Handle2 (from 0 to 255)
TGreen | Sets the green component of the RGB value of the transparent color for Handle2 (from 0 to 255)
TBlue | Sets the blue component of the RGB value of the transparent color for Handle2 (from 0 to 255)
BRed | Sets the red component of the RGB value of the background color (from 0 to 255) This is the area of the image that is not part of either Handle1 or Handle2
BGreen | Sets the green component of the RGB value of the background color (from 0 to 255) This is the area of the image that is not part of either Handle1 or Handle2
BBlue | Sets the blue component of the RGB value of the background color (from 0 to 255) This is the area of the image that is not part of either Handle1 or Handle2
x,y | The coordinates of the attachment location (in pixels)
Clip | Sets whether or not the image is clipped. (False(0): No clipping, True(nonzero) clipping)

Return Value

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

Explanation

The LayerImage method layers two raster images together. The upper left corner of the Handle2 image is attached to the Handle1 image at the x,y coordinate location.

If the Clip parameter is set to True (nonzero), the size of the created image is the same as the image of Handle 1. Any portions of the Handle2 image that extend beyond the Handle1 image will be clipped. If the Clip parameter is set to False(0), the size of the created image is the same as the combination of the two images. Any areas of the created image that are not in either the Handle1 image or the Handle2 image will be the color set in the BRed, BGreen, and BBlue parameters. If the TransColor parameter is set to True, the color set by the TRed, TGreen, and TBlue parameters will be a transparent color.

When the LayerAlphaChannel property is True, the Handle2 raster image must be a 32-bit RGBA image (A refers to an alpha channel containing a mask image). Note: When the LayerAlphaChannel property is True, the Trans parameter is disabled.

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.

Note: The memory blocks of the input images are not freed after this method is executed.

An explanation of the output bitcounts:

  • When the Trans parameter is NOT 0 or 255, then the output will be 24 bit color.
  • When Handle1 and Handle2 are both 8 bits or less and their bitcounts are the same and their palettes are IDENTICAL (same colors in the same order), then the output will be the same bitcount as the input images.
  • If Handle1 and Handle2 have different bitcounts, or their palettes are not IDENTICAL (same colors in the same order), then the output will be a 24 bit image.

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.

The LayerImage method replaces the Effect Control's Layer method in earlier versions of the ImageKit

Differences between ImageKit 7/8

Parameters Handle1 and Handle2 have a different type


Lens (ImageKit Control/ Effect Method)

This method creates a lens like effect on a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Lens(x As Long, y As Long, Points As Long, Refract As Double, BackColor As Boolean, Red As Integer, Green As Integer, Blue As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Lens(long *x, long *y, long Points, double Refract, BOOL BackColor, short Red, short Green, short Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Lens(ByRef x As Integer, ByRef y As Integer, Points As Integer, Refract As Double, BackColor As Boolean, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Lens(ref int x, ref int y, int Points, double Refract, bool BackColor, short Red, short Green, short Blue)

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)
Points | The number of points defining the polygonal area on the image.
Refract | Sets the lens magnification (Greater than 1)
BackColor | Sets whether or not the area outside of the lens effect is painted a particular color [True(nonzero): the area is painted False(0): the area is not painted.]
Red | Sets the red component of the color painted in the area outside the lens (from 0 to255)
Green | Sets the green component of the color painted in the area outside the lens (from 0 to255)
Blue | Sets the blue component of the color painted in the area outside the lens (from 0 to255)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The Lens method produces a lens like effect on a raster image. To execute the Lens method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The Lens method supports 8-bit grayscale, 16, 24, and 32 bit images.

Before executing the Lens 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 Lens 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the LensVariant method.


LensVariant (ImageKit Control/ Effect Method)

This method creates a lens like effect on a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.LensVariant(x As Variant, y As Variant, Refract As Double, BackColor As Boolean, Red As Integer, Green As Integer, Blue As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.LensVariant(ByRef x As Object, ByRef y As Object, Refract As Double, BackColor As Boolean, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.LensVariant(ref object x, ref object y, double Refract, bool BackColor, short Red, short Green, short Blue)

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)
Refract | Sets the lens magnification (Greater than 1)
BackColor | Sets whether or not the area outside of the lens effect is painted a particular color [True(nonzero): the area is painted False(0): the area is not painted.]
Red | Sets the red component of the color painted in the area outside the lens (from 0 to255)
Green | Sets the green component of the color painted in the area outside the lens (from 0 to255)
Blue | Sets the blue component of the color painted in the area outside the lens (from 0 to255)
* 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 LensVariant method produces a lens like effect on a raster image. This method is recommended when using scripting or other languages that require variant types.

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

Before executing the LensVariant 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 LensVariant 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 Lens method.


MakeRGBAImage (ImageKit Control/ Effect Method)

This method creates a 32-bit RGBA image from an image and an alpha channel.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.MakeRGBAImage
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().MakeRGBAImage()
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.MakeRGBAImage()
[C#.NET] [ bool = ]imagekitcontrolname.Effect.MakeRGBAImage()

Parameters

None

Return Value

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

Explanation

The MakeRGBAImage method creates a 32-bit RGBA image from an image and an alpha channel. To execute the MakeRGBAImage method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property (1, 4, 8, 16, 24, or 32 bit image) and set the alpha channel image handle into the MaskImageHandle property (1 bit color or 8 bit grayscale image).

If successful the resulting RGBA 32-bit 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.


Mosaic (ImageKit Control/ Effect Method)

This method creates a mosaic effect on a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Mosaic(x As Long, y As Long, Points As Long, Width As Long, Height As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Mosaic(long *x, long *y, long Points, long Width, long Height)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Mosaic(ByRef x As Integer, ByRef y As Integer, Points As Integer, Width As Integer, Height As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Mosaic(ref int x, ref int y, int Points, int Width, int Height)

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)
Points | The number of points defining the polygonal area on the image.
Width | The width of the mosaic (in pixels)
Height | The height of the mosaic (in pixels)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The Mosaic method creates a mosaic effect on a raster image. To execute the Mosaic method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The Mosaic method supports 1, 4, 8, 16, 24, and 32 bit images.

Before executing the Mosaic 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 Mosaic 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the MosaicVariant method.


MosaicVariant (ImageKit Control/ Effect Method)

This method creates a mosiac effect on a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.MosaicVariant(x As Variant, y As Variant, Width As Long, Height As Long)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.MosaicVariant(ByRef x As Object, ByRef y As Object, Width As Integer, Height As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.MosaicVariant(ref object x, ref object y, int Width, int Height)

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)
Width | The width of the mosaic (in pixels)
Height | The height of the mosaic (in pixels)
* 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 MosaicVariant method creates a mosaic effect on a raster image.

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

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

Before executing the MosaicVariant 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 MosaicVariant 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 Mosaic method.


MotionBlur (ImageKit Control/ Effect Method)

This method creates a motion blur effect on a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.MotionBlur(x As Long, y As Long, Points As Long, Mode As Integer, Length As Integer, Angle As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().MotionBlur(long *x, long *y, long Points, short Mode, short Length, long Angle)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.MotionBlur(ByRef x As Integer, ByRef y As Integer, Points As Integer, Mode As Short, Length As Short, Angle As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.MotionBlur(ref int x, ref int y, int Points, short Mode, short Length, int Angle)

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)
Points | The number of points defining the polygonal area on the image.
Mode | Sets the type of blur (0: Linear, 1: Radial, 2: Zoom)
Length | Sets the length of the blur (from 0 to 255)
Angle | Sets the angle of the blur (in degrees from 0 to 360)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The MotionBlur method creates a motion blur effect on a raster image. The Mode parameter determines the type of motion blur.

Mode=0 (Linear blur)
This motion blur simulates the image shifting. The Length parameter sets the magnitude of the shift. The Angle parameter determines the direction of the shift. The major directions of the Angle parameter are as follows: Angle=0 -> a shift to the left; Angle= 90 -> a shift down; Angle= 180 -> ashift to the right; Angle= 270-> a shift up.

Mode=1 (Radial blur)
This motion blur simulates the image spinning by the number of degrees set in the Angle parameter. The Length parameter is ineffective.

Mode=2 (Zoom blur)
This motion blur simulates the image zooming in by the length set in the Length parameter. The Angle parameter is ineffective.

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

Before executing the MotionBlur 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 MotionBlur 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the MotionBlurVariant method.


MotionBlurVariant (ImageKit Control/ Effect Method)

This method creates a motion blur effect on a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.MotionBlurVariant(x As Variant, y As Variant, Mode As Integer, Length As Integer, Angle As Long)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.MotionBlurVariant(ByRef x As Object, ByRef y As Object, Mode As Short, Length As Short, Angle As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.MotionBlurVariant(ref object x, ref object y, short Mode, short Length, int Angle)

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)
Mode | Sets the type of blur (0: Linear, 1: Radial, 2: Zoom)
Length | Sets the length of the blur (from 0 to 255)
Angle | Sets the angle of the blur (in degrees from 0 to 360)
* 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 MotionBlurVariant method creates a motion blur effect on a raster 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#.

The Mode parameter determines the type of motion blur:
Mode=0 (Linear blur)
This motion blur simulates the image shifting. The Length parameter sets the magnitude of the shift. The Angle parameter determines the direction of the shift. The major directions of the Angle parameter are as follows: Angle= 0 -> a shift to the left; Angle= 90 -> a shift down; Angle= 180 -> ashift to the right; Angle= 270-> a shift up.

Mode=1 (Radial blur)
This motion blur simulates the image spinning by the number of degrees set in the Angle parameter. The Length parameter is ineffective.

Mode=2 (Zoom blur)
This motion blur simulates the image zooming in by the length set in the Length parameter. The Angle parameter is ineffective.

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

Before executing the MotionBlurVariant 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 MotionBlurVariant 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 MotionBlur method.


OilPaint (ImageKit Control/ Effect Method)

This method produces an effect similar to an oil painting on the image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.OilPaint(x As Long, y As Long, Points As Long, Mode As Integer, MaskSize As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().OilPaint(long *x, long *y, long Points, short Mode, short MaskSize)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.OilPaint(ByRef x As Integer, ByRef y As Integer, Points As Integer, Mode As Short, MaskSize As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.OilPaint(ref int x, ref int y, int Points, short Mode, short MaskSize)

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)
Points | The number of points defining the polygonal area on the image.
Mode | Sets the processing mode (0:Process by RGB, 1:Process by Luminance (Brightness))
MaskSize | Sets brush stroke size (from 1 to 100)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The OilPaint method produces an effect similar to an oil painting on the image

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

Before executing the OilPaint 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 OilPaint 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the OilPaintVariant method.


OilPaintVariant (ImageKit Control/ Effect Method)

This method produces an effect similar to an oil painting on the image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.OilPaintVariant(x As Variant, y As Variant, Mode As Integer, MaskSize As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.OilPaintVariant(ByRef x As Object, ByRef y As Object, Mode As Short, MaskSize As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.OilPaintVariant(ref object x, ref object y, short Mode, short MaskSize)

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)
Mode | Sets the processing mode (0:Process by RGB, 1:Process by Luminance (Brightness))
MaskSize | Sets brush stroke size (from 1 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 OilPaintVariant method produces an effect similar to an oil painting on 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#.

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

Before executing the OilPaintVariant 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 OilPaintVariant 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 OilPaint method.


Outline (ImageKit Control/ Effect Method)

This method produces an outline effect on the image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Outline(x As Long, y As Long, Points As Long, Plane As Integer, Operator As Integer, Level As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Outline(long *x, long *y, long Points, short Plane, short Operator, short Level)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Outline(ByRef x As Integer, ByRef y As Integer, Points As Integer, Plane As Short, Operator As Short, Level As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Outline(ref int x, ref int y, int Points, 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)
Points | The number of points defining the polygonal area on the image.
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 brightness at which an outline is drawn. (from 0 to 100)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The Outline method produces an outline of a raster image by identifying and displaying only the "edges" within the image. 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 Outline method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The Outline method supports 8 bit grayscale, 16, 24, and 32 bit images.

Before executing the Outline 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 Outline 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the OutlineVariant method.


OutlineVariant (ImageKit Control/ Effect Method)

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.


Panorama (ImageKit Control/ Effect Method)

This method composes a panorama image from two raster images.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Panorama(Handle1 As LONG_PTR, Handle2 As LONG_PTR, CutMode As Integer, Px11 As Long, Py11 As Long, Px12 As Long, Py12 As Long, Px21 As Long, Py21 As Long, Px22 As Long, Py22 As Long, Red As Integer, Green As Integer, Blue As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Panorama(LONG_PTR Handle1, LONG_PTR Handle2, short CutMode, long Px11, long Py11, long Px12, long Py12, long Px21, long Py21, long Px22, long Py22, short Red, short Green, short Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Panorama(Handle1 As Integer(x86) or Long(x64), Handle2 As Integer(x86) or Long(x64), CutMode As Short, Px11 As Integer, Py11 As Integer, Px12 As Integer, Py12 As Integer, Px21 As Integer, Py21 As Integer, Px22 As Integer, Py22 As Integer, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Panorama(int(x86) or long(x64) Handle1, int(x86) or long(x64) Handle2, short CutMode, int Px11, int Py11, int Px12, int Py12, int Px21, int Py21, int Px22, int Py22, short Red, short Green, short Blue)

Parameters

Name | Explanation
Handle1 | The handle of the image on which another image is attached. (24 bit only)
Handle2 | The handle of the image that is attached (24 bit only)
CutMode | Sets whether or not Handle2 will be cut at the attachment location and if so which portion of Handle2 will be cut For horizontal attachments (0: no cut, 1: cut left portion, 2: cut right portion) For vertical attachments (0: no cut, 1: cut lower portion, 2: cut upper portion)
Px11,Py11 | The location of the first point of attachment for Handle1 (in pixels)
Px12,Py12 | The location of the second point of attachment for Handle1 (in pixels)
Px21,Py21 | The location of the first point of attachment for Handle2 (in pixels)
Px22,Py22 | The location of the second point of attachment for Handle2 (in pixels)
Red | Sets the red component of the RGB value of the background color (from 0 to 255) This is the area of the panorama image that is not part of either Handle1 or Handle2
Green | Sets the green component of the RGB value of the background color (from 0 to 255) This is the area of the panorama image that is not part of either Handle1 or Handle2
Blue | Sets the blue component of the RGB value of the background color (from 0 to 255) This is the area of the panorama image that is not part of either Handle1 or Handle2

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Return Value

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

Explanation

The Panorama method composes a panorama from two raster images.

To execute the Panorama method, set the image handle of the base image into the Handle1 parameter. Set the image handle of the image you wish to attach to the base image into the Handle2 parameter. Set the attachment location on Handle1 and Handle2. The Panorama method will attach the Handle2 image to the Handle1 image at the location specified.

The CutMode parameter determines if any portion of Handle2 will be cut off. If CutMode=0 then no portion of Handle2 will be cut.

If the attachment is horizontal, i.e. the first attachment point is to the left of the second attachment point, then if CutMode=1, the portion of Handle2 to the left of the attachment location will be cut off. If CutMode=2, the portion of Handle2 to the right of the attachment location will be cut off.

If the attachment is vertical, i.e. the first attachment point is to the above the second attachment point, then if CutMode=1, the portion of Handle2 below the attachment location will be cut off. If CutMode=2, the portion of Handle2 above the attachment location will be cut off.

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. Note: The memory blocks of the input images are not freed after this method is executed.

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.

Defferences between ImageKit7/8

Handle1 and Handle2 arguments have a different type.


PasteImage (ImageKit Control/ Effect Method)

This method pastes a raster image into another raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.PasteImage(Handle As LONG_PTR, Angle As Long, TurnX As Boolean, TurnY As Boolean, Trans As Integer, TransColor As Boolean, TransRed As Integer, TransGreen As Integer, TransBlue As Integer, BackRed As Integer, BackGreen As Integer, BackBlue As Integer, x As Long, y As Long, Clip As Boolean)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().PasteImage(LONG_PTR Handle, long Angle, BOOL TurnX, BOOL TurnY, short Trans, BOOL TransColor, short TransRed, short TransGreen, short TransBlue, short BackRed, short BackGreen, short BackBlue, long x, long y, BOOL Clip)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.PasteImage(Handle As Integer(x86) or Long(x64), Angle As Integer, TurnX As Boolean, TurnY As Boolean, Trans As Short, TransColor As Boolean, TransRed As Short, TransGreen As Short, TransBlue As Short, BackRed As Short, BackGreen As Short, BackBlue As Short, x As Integer, y As Integer, Clip As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.PasteImage(int(x86) or long(x64) Handle, int Angle, bool TurnX, bool TurnY, bool Trans, bool TransColor, short TransRed, short TransGreen, short TransBlue, short BackRed, short BackGreen, short BackBlue, int x, int y, bool Clip)

Parameters

Name | Explanation
Handle | The handle of the bottom image. This is the image onto which another image is pasted (supports 1, 4, 8, 16, 24, 32 bit images)
Angle | Angle of rotation (-35999 to 35999, in 1/100 degree units)
TurnX | Reversal of the x axis (False(0): no reversal, True (nonzero): reversal)
TurnY | Reversal of the y axis (False(0): no reversal, True (nonzero): reversal)
Trans | The level of transparency (from 0 to 255, as this value increases, the top image becomes visible)
TransColor | Sets whether or not there is a transparent color in the top image. (False(0)No transparent color, True(nonzero):transparent color)
TransRed | Sets the red component of the transparent color in the top image. (from 0 to 255)
TransGreen | Sets the green component of the transparent color in the top image. (from 0 to 255)
TransBlue | Sets the blue component of the transparent color in the top image. (from 0 to 255)
BackRed | Sets the red component of the background color. This color is drawn in the area not in either the top image or the bottom image (from 0 to 255)
BackGreen | Sets the green component of the background color. This color is drawn in the area not in either the top image or the bottom image (from 0 to 255)
BackBlue | Sets the blue component of the background color. This color is drawn in the area not in either the top image or the bottom image (from 0 to 255)
x,y | The attachment coordinates (in pixels)
Clip | Sets whether or not the image is clipped (False(0): no clipping, True (nonzero): clipping)

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Return Value

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

Explanation

The PasteImage method pastes one raster image into another raster image. The bottom image, (the image that another image is pasted into) is set into the Handle parameter. The top image, the image you want to paste into the bottom image, is set in the LayerNo property (either the ImageHandle property or the Layer(LayerNo).ImageHandle property). If using a mask image (to determine an area on the image to be processed), then set the image handle of the mask image in the MaskImageHandle property. The PasteImage method supports 1, 4, 8, 16, 24, 32 bit images.

The Angle, TurnX, and TurnY parameters apply to the images in the LayerNo property and MaskImageHandle property. The x,y parameters determine the coordinates on the bottom image (the image in the Handle parameter) where the CENTER of the LayerNo and MaskImageHandle images are pasted. When the Clip parameter is True, the result is the same size as the bottom image (the image in the Handle parameter) and any excess is clipped. When the TransColor parameter is True, the color specified in the TransRed, TransGreen and TransBlue parameters is transparent.

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. Note: The memory block of the image data set in the Handle parameter is not freed after this method is executed.

An explanation of the output bitcounts:

  • When the Trans parameter is NOT 0 or 255, then the output will be 24 bit color.
  • When ImageHandle and Handle are both 8 bits or less and their bitcounts are the same and their palettes are IDENTICAL (same colors in the same order), then the output will be the same bitcount as the input images.
  • If ImageHandle and Handle have different bitcounts, or their palettes are not IDENTICAL (same colors in the same order), then the output will be a 24 bit image.

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.

Defferences between ImageKit7/8

The Handle argument has a different type.


RedEyeRemoval (ImageKit Control/ Effect Method)

This method removes "red eye" from images by converting reddish colors within the selected area to another specified color.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RedEyeRemoval(x As Long, y As Long, Points As Long, Red As Integer, Green As Integer, Blue As Integer, Error As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().RedEyeRemoval(long *x, long *y, long Points, short Red, short Green, short Blue, short Error)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RedEyeRemoval(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Short, Green As Short, Blue As Short, Error As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RedEyeRemoval(ref int x, ref int y, int Points, short Red, short Green, short Blue, short Error)

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)
Points | The number of points defining the polygonal area on the image.
Red | Sets the red component for the specified color after the red eye removal (from 0 to 255)
Green | Sets the green component for the specified color after the red eye removal (from 0 to 255)
Blue | Sets the blue component for the specified color after the red eye removal (from 0 to 255)
Error | Sets a margin of error for converting colors within the selected area. Any colors falling outside this margin of error will be converted to the color specifed by the Red, Green, and Blue parameters. (from 0 to 255)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The RedEyeRemoval method removes "red eye" from images by converting colors within the selected area to another specified color. The Error parameter sets a margin of error for colors within the selected area. Any color whose red value falls outside this margin of error will be converted to the color specifed by the Red, Green and Blue parameters. As the Error parameter value increases only colors closer to pure red will be converted. As the Error parameter decreases, a wider and wider range of "reddish" colors will be converted.

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

Before executing the RedEyeRemoval 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 RedEyeRemoval 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the RedEyeRemovalVariant method.


RedEyeRemovalVariant (ImageKit Control/ Effect Method)

This method removes "red eye" from images by converting reddish colors within the selected area to another specified color.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RedEyeRemovalVariant(x As Variant, y As Variant, Red As Integer, Green As Integer, Blue As Integer, Error As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RedEyeRemovalVariant(ByRef x As Object, ByRef y As Object, Red As Short, Green As Short, Blue As Short, Error As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RedEyeRemovalVariant(ref object x, ref object y, short Red, short Green, short Blue, short Error)

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)
Red | Sets the red component for the specified color after the red eye removal (from 0 to 255)
Green | Sets the green component for the specified color after the red eye removal (from 0 to 255)
Blue | Sets the blue component for the specified color after the red eye removal (from 0 to 255)
Error | Sets a margin of error for converting colors within the selected area. Any colors falling outside this margin of error will be converted to the color specifed by the Red, Green, and Blue parameters. (from 0 to 255)
* 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 RedEyeRemovalVariant method removes "red eye" from images by converting colors within the selected area to another specified color.

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

The Error parameter sets a margin of error for colors within the selected area. Any color whose red value falls outside this margin of error will be converted to the color specifed by the Red, Green and Blue parameters. As the Error parameter value increases only colors closer to pure red will be converted. As the Error parameter decreases, a wider and wider range of "reddish" colors will be converted.

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

Before executing the RedEyeRemovalVariant 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 RedEyeRemovalVariant 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 RedEyeRemoval method.


RemoveNoise (ImageKit Control/ Effect Method)

This method reduces the image noise in raster images.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RemoveNoise(x As Long, y As Long, Points As Long, Mode As RemoveNoiseModeConstants, Level As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().RemoveNoise(long *x, long *y, long Points, long Mode, short Level)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RemoveNoise(ByRef x As Integer, ByRef y As Integer, Points As Integer, Mode As ImageKit10(A)Lib.RemoveNoiseModeConstants, Level As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RemoveNoise(ref int x, ref int y, int Points, ImageKit10(A)Lib.RemoveNoiseModeConstants Mode, int Level)

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

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)
Points | The number of points defining the polygonal area on the image.
Mode | Sets the mode of noise reduction. (0: Median luminance method, 1:Noise reduction for each RGB plane). The following constants, ikRemoveNoiseGray = 0, ikRemoveNoiseRGB = 1, may also be used.
Level | Sets the level of noise reduction for the RGB mode (from 0 to 255, effective when Mode is 1)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The RemoveNoise method reduces the image noise in raster images. When Mode is 1, the value of the level is enabled. As the Level parameter value increases the level of noise decreases.

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

Before executing the RemoveNoise 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 RemoveNoise 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the RemoveNoiseVariant method.

Differences between ImageKit7/8

The Mode argument type has changed.


RemoveNoiseVariant (ImageKit Control/ Effect Method)

This method reduces the image noise in raster images. This method is recommended when using scripting or other languages that require variant types.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RemoveNoiseVariant(x As Variant, y As Variant, Mode As Integer, Level As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RemoveNoiseVariant(ByRef x As Object, ByRef y As Object, Mode As ImageKit10(A)Lib.RemoveNoiseModeConstants, Level As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RemoveNoiseVariant(ref object x, ref object y, ImageKit10(A)Lib.RemoveNoiseModeConstants Mode, short Level)

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

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)
Mode | Sets the mode of noise reduction. (0: Median luminance method, 1:Noise reduction for each RGB plane). The following constants, ikRemoveNoiseGray = 0, ikRemoveNoiseRGB = 1, may also be used.
Level | Sets the level of noise reduction for the RGB mode (from 0 to 255, effective when Mode is 1)
* 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 RemoveNoiseVariant method reduces the image noise in raster images. When Mode is 1, the value of the level is enabled. As the Level parameter value increases the level of noise decreases.

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

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

Before executing the RemoveNoiseVariant 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 RemoveNoise 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 RemoveNoise method.

Differences between ImageKit7/8

The Mode argument type has changed.


Resize (ImageKit Control/ Effect Method)

This method changes the size of a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Resize(Width As Long, Height As Long, Mode As Boolean)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Resize(long Width, long Height, BOOL Mode)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Resize(Width As Integer, Height As Integer, Mode As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Resize(int Width, int Height, bool Mode)

Parameters

Name | Explanation
Width | The width of the new image (in pixels)
Height | The height of the new image (in pixels)
Mode | Sets whether Interpolation is used. (False (0): does not interpolate, True (nonzero): interpolates). When enlarging the image, the linear interpolation method is used, when reducing the image, the average method is used. The interpolation can be used for 8 bit grayscale, 16, 24, and 32 bit images.

Return Value

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

Explanation

The Resize method changes the size of the original image to the size specified. When the Mode parameter is false (No interpolation) then changes in size can adversely affect the quality of the Image.

To execute the Resize method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The Resize method supports 1, 4, 8, 16, 24, and 32 bit color images. If using mask image, set the image handle into the MaskImageHandle property.

If successful the resulting raster image data is set in the LayerNo property (the ImageHandle property or the Layer(LayerNo).ImageHandle property). If the MaskImageHandle property contains a valid image handle, then the resulting mask image will be set in the MaskImageHandle 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.


RGBGamma (ImageKit Control/ Effect Method)

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

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RGBGamma(x As Long, y As Long, Points As Long, Red As Double, Green As Double, Blue As Double)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().RGBGamma(long *x, long *y, long Points, double Red, double Green, double Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RGBGamma(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Double, Green As Double, Blue As Double)
[C#.NET] [ Boolean = ]imagekitcontrolname.Effect.RGBGamma(ref int x, ref int y, int Points, double Red, double Green, double Blue)

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)
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
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[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.

  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 RGBGamma 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 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the RGBGammaVariant method.


RGBGammaVariant (ImageKit Control/ Effect Method)

This method uses gamma correction to adjust the RGB values of a raster image. This method is recommended when using scripting or other languages that require variant types.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RGBGammaVariant(x As Variant, y As Variant, Red As Double, Green As Double, Blue As Double)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RGBGammaVariant(ByRef x As Object, ByRef y As Object, Red As Double, Green As Double, Blue As Double)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RGBGammaVariant(ref object x, ref object y, double Red, double Green, double Blue)

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)
Red | The gamma factor for the red plane
Green | The gamma factor for the green plane
Blue | The gamma factor for the blue 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 RGBGamma method uses gamma correction to adjust the RGB values and overall brightness of a raster 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#.

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.

  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 RGBGamma 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 RGBGamma method.


RGBLevel (ImageKit Control/ Effect Method)

This method increases (or decreases) the RGB values of a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RGBLevel(x As Long, y As Long, Points As Long, Red As Long, Green As Long, Blue As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().RGBLevel(long *x, long *y, long Points, long Red, long Green, long Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RGBLevel(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Integer, Green As Integer, Blue As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RGBLevel(ref int x, ref int y, int Points, int Red, int Green, int Blue)

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)
Points | The number of points defining the polygonal area on the image.
Red | Sets the shift in the red component of the RGB value (from-255 to 255)
Green | Sets the shift in the green component of the RGB value (from-255 to 255)
Blue | Sets the shift in the blue component of the RGB value (from-255 to 255)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The RGBLevel method increases or decreases the RGB values in a raster image. As the values of the Red, Green, or Blue parameters increase, the image becomes brighter. As those values decrease, the image becomes darker. If the Red, Green, or Blue parameters are 0, the image is not altered.

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

Before executing the RGBLevel 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 RGBLevel 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 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the RGBLevelVariant method.


RGBLevelVariant (ImageKit Control/ Effect Method)

This method increases (or decreases) the RGB values of a raster image. This method is recommended when using scripting or other languages that require variant types.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RGBLevelVariant(x As Variant, y As Variant, Red As Long, Green As Long, Blue As Long)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RGBLevelVariant(ByRef x As Object, ByRef y As Object, Red As Integer, Green As Integer, Blue As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RGBLevelVariant(ref object x, ref object y, int Red, int Green, int Blue)

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)
Red | Sets the shift in the red component of the RGB value (from-255 to 255)
Green | Sets the shift in the green component of the RGB value (from-255 to 255)
Blue | Sets the shift in the blue component of the RGB value (from-255 to 255)
* 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 RGBLevelVariant method increases or decreases the RGB values in a raster 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#.

As the values of the Red, Green, or Blue parameters increase, the image becomes brighter. As those values decrease, the image becomes darker. If the Red, Green, or Blue parameters are 0, the image is not altered.

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

Before executing the RGBLevelVariant 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 RGBLevelVariant 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 RGBLevel method.


RGBRev (ImageKit Control/ Effect Method)

This method reverses the RGB values of a raster image.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RGBRev(x As Long, y As Long, Points As Long, Red As Boolean, Green As Boolean, Blue As Boolean)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().RGBRev(long *x, long *y, long Points, BOOL Red, BOOL Green, BOOL Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RGBRev(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Boolean, Green As Boolean, Blue As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RGBRev(ref int x, ref int y, int Points, bool Red, bool Green, bool Blue)

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)
Points | The number of points defining the polygonal area on the image.
Red | Reverses the red component of the RGB value (False(0): does not reverse value, True( nonzero): reverses value)
Green | Reverses the green component of the RGB value (False(0): does not reverse value, True( nonzero): reverses value)
Blue | Reverses the blue component of the RGB value (False(0): does not reverse value, True( nonzero): reverses value)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The RGBRev method reverses the RGB values of a raster image. If the Red, Green, or Blue parameters are True, then that component of the RGB value is reversed. So, for example, the reverse of a red component = 255 would be a red component = 0. (Red = 255 - Red)

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

Before executing the RGBRev 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 RGBRev 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 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the RGBRevVariant method.


RGBRevVariant (ImageKit Control/ Effect Method)

This method reverses the RGB values of a raster image. This method is recommended when using scripting or other languages that require variant types.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RGBRevVariant(x As Variant, y As Variant, Red As Boolean, Green As Boolean, Blue As Boolean)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RGBRevVariant(ByRef x As Object, ByRef y As Object, Red As Boolean, Green As Boolean, Blue As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RGBRevVariant(ref object x, ref object y, bool Red, bool Green, bool Blue)

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)
Red | Reverses the red component of the RGB value (False(0): does not reverse value, True( nonzero): reverses value)
Green | Reverses the green component of the RGB value (False(0): does not reverse value, True( nonzero): reverses value)
Blue | Reverses the blue component of the RGB value (False(0): does not reverse value, True( nonzero): reverses value)
* 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 RGBRevVariant method reverses the RGB values of a raster image. If the Red, Green, or Blue parameters are True, then that component of the RGB value is reversed. So, for example, the reverse of a red component = 255 would be a red component = 0. (Red = 255 - Red).

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

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

Before executing the RGBRevVariant 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 RGBRevVariant 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 RGBRev method.


RGBSpline (ImageKit Control/ Effect Method)

This method uses spline function to modifiy the RGB values of a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RGBSpline(x As Long, y As Long, Points As Long, spx As Long, spy As Long, spPoints As Long, Red As Boolean, Green As Boolean, Blue As Boolean)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().RGBSpline(long *x, long *y, long Points, long *spx, long *spy, long spPoints, BOOL Red, BOOL Green, BOOL Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RGBSpline(ByRef x As Integer, ByRef y As Integer, Points As Integer, ByRef spx As Integer, ByRef spy As Integer, spPoints As Integer, Red As Boolean, Green As Boolean, Blue As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RGBSpline(ref int x, ref int y, int Points, ref int spx, ref int spy, int spPoints, bool Red, bool Green, bool Blue)

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)
Points | The number of points defining the polygonal area on the image.
spx | An array of RGB values defining the x coordinates of points on the RGBSpline curve. (from 0 to 255) **
spy | An array of RGB values defining the y coordinates of points on the RGBSpline curve. (from 0 to 255) **
spPoints | The number of (spx, spy) coordinates in the array (from 3 to 10)
Red | Affects the red component of the RGB value (False(0): does not affect the red component, True( nonzero): affects the red component)
Green | Affects the green component of the RGB value (False(0): does not affect the green component, True( nonzero): affects the green component)
Blue | Affects the blue component of the RGB value (False(0): does not affect the blue component, True( nonzero): affects the blue component)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The RGBSpline method uses a spline function to modify the RGB values of a raster image. A spline function is a method of interpolating values that lay in between data points. In other words it produces a smooth curve from a limited set of points.

The RGBSpline method allows you to define the relationship between the input RGB values in the original image and output RGB values in the newly created image. You do this by specifying a set of coordinate points where the input RGB values are the x coordinates and the output RGB values are the y coordinates. These coordinate points are stored in arrays and passed to the RGBSpline method through the spx and spy parameters. The RGBSpline method then interpolates a "smooth" curve from these coordinate points. The graphic representation of this relationship between input RGB and output RGB values is known as the RGBSpline curve. A sample RGBSpline curve is shown in the diagram below:

In the above diagram, the green default RGBSpline curve represents no change between input RGB values and output RGB values. In this case, the newly created image is exactly the same as the orginal image. The red RGBSpline curve represents an increase in contrast between the original image and the newly created image. It was generated from the following points:

Point (spx values,spy values)
-----------------------------------------------------
Point A (0,0)
Point B (64,32)
Point C (128,128)
Point D (192,160)
Point E (255,255)

At the midpoint of the red RGBSpline curve, the input RGB value of 128 equals the output RGB value of 128. At points below the midpoint, however, the output RGB values are lower than the input RGB values. This means that dark colors become darker. Conversely, at points above the midpoint, output RGB values are higher than input RGB values. This means that light colors become lighter. This particular RGBSpline curve therefore increases the contrast of the image.

An RGBSpline curve that decreases contrast could be defined with the following points:

Point (spx values,spy values)
----------------------------------------------------
Point A (0,0)
Point B (64, 96)
Point C (128,128)
Point D (225, 192)
Point E (255,255)

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

Before executing the RGBSpline 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 RGBSpline 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 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the RGBSplineVariant method.


RGBSplineVariant (ImageKit Control/ Effect Method)

This method uses spline function to modifiy the RGB values of a raster image. This method is recommended when using scripting or other languages that require variant types.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RGBSplineVariant(x As Variant, y As Variant, spx As Variant, spy As Variant, Red As Boolean, Green As Boolean, Blue As Boolean)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RGBSplineVariant(ByRef x As Object, ByRef y As Object, ByRef spx As Object, ByRef spy As Object, Red As Boolean, Green As Boolean, Blue As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RGBSplineVariant(ref object x, ref object y, ref object spx, ref object spy, bool Red, bool Green, bool Blue)

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)
spx | An array of RGB values defining the x coordinates of points on the RGBSplineVariant curve. (from 0 to 255) **
spy | An array of RGB values defining the y coordinates of points on the RGBSplineVariant curve. (from 0 to 255) **
Red | Affects the red component of the RGB value (False(0): does not affect the red component, True( nonzero): affects the red component)
Green | Affects the green component of the RGB value (False(0): does not affect the green component, True( nonzero): affects the green component)
Blue | Affects the blue component of the RGB value (False(0): does not affect the blue component, True( nonzero): affects the blue component)
* The arguments are returned in the first elements of the arrays x and y ** Use the Spx and Spy arrays in the same way as the x and y arrays

Return Value

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

Explanation

The RGBSplineVariant method uses a spline function to modify the RGB values of a raster image. A spline function is a method of interpolating values that lay in between data points. In other words it produces a smooth curve from a limited set of points.

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

The RGBSplineVariant method allows you to define the relationship between the input RGB values in the original image and output RGB values in the newly created image. You do this by specifying a set of coordinate points where the input RGB values are the x coordinates and the output RGB values are the y coordinates. These coordinate points are stored in arrays and passed to the RGBSplineVariant method through the spx and spy parameters. The RGBSplineVariant method then interpolates a "smooth" curve from these coordinate points. The graphic representation of this relationship between input RGB and output RGB values is known as the RGBSpline curve. A sample RGBSpline curve is shown in the diagram below:

In the above diagram, the green default RGBSpline curve represents no change between input RGB values and output RGB values. In this case, the newly created image is exactly the same as the orginal image. The red RGBSpline curve represents an increase in contrast between the original image and the newly created image. It was generated from the following points:

Point (spx values,spy values)
-----------------------------------------------------
Point A (0,0)
Point B (64,32)
Point C (128,128)
Point D (192,160)
Point E (255,255)

At the midpoint of the red RGBSpline curve, the input RGB value of 128 equals the output RGB value of 128. At points below the midpoint, however, the output RGB values are lower than the input RGB values. This means that dark colors become darker. Conversely, at points above the midpoint, output RGB values are higher than input RGB values. This means that light colors become lighter. This particular RGBSpline curve therefore increases the contrast of the image.

An RGBSpline curve that decreases contrast could be defined with the following points:

Point (spx values,spy values)
----------------------------------------------------
Point A (0,0)
Point B (64, 96)
Point C (128,128)
Point D (225, 192)
Point E (255,255)

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

Before executing the RGBSplineVariant 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 RGBSplineVariant 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 RGBSpline method.


Ripple (ImageKit Control/ Effect Method)

This method produces a ripple like effect on a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Ripple(x As Long, y As Long, Points As Long, Amp As Double, Wavelen As Double, Phase As Double, BackColor As Boolean, Reflect As Boolean, Red As Integer, Green As Integer, Blue As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Ripple(long *x, long *y, long Points, double Amp, double Wavelen, double Phase, BOOL BackColor, BOOL Reflect, short Red, short Green, short Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Ripple(ByRef x As Integer, ByRef y As Integer, Points As Integer, Amp As Double, Wavelen As Double, Phase As Double, BackColor As Boolean, Reflect As Boolean, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Ripple(ref int x, ref int y, int Points, double Amp, double Wavelen, double Phase, bool BackColor, bool Reflect, short Red, short Green, short Blue)

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)
Points | The number of points defining the polygonal area on the image.
Amp | Sets the amplitude or height of the ripples. As this value increases the ripples become higher
Wavelen | Sets the wavelength or distance from the crest of one wave to the crest of the next wave. As this value increases there are few ripples produced
Phase | Sets the phase or shift in the wave cycle
BackColor | Sets whether empty spaces are filled with color from adjacent pixels or from the color set as a background color [False(0): spaces filled with background color,True(nonzero):spaces filled with the color of the adjacent pixels]
Reflect | Causes a reflective effect from one ripple to the next. (Best used with small amplitudes) [False(0):No reflection, True(nonzero): reflection]
Red | The red component of the background color (from 0 to 255)
Green | The green component of the background color (from 0 to 255)
Blue | The blue component of the background color (from 0 to 255)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The Ripple method produces a ripple like effect on a raster image.

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

Before executing the Ripple 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 Ripple 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 and set the Points parameter to 0. The Red, Green and Blue parameters are enabled when the BackColor parameter is FALSE. 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.

For scripting languages and other programs that require variant types, or when using VB.NET or C#.NET in 64 bit builds, please refer to the RippleVariant method.


RippleVariant (ImageKit Control/ Effect Method)

This method produces a ripple like effect on a raster image. This method is recommended when using scripting or other languages that require variant types.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.RippleVariant(x As Variant, y As Variant, Amp As Double, Wavelen As Double, Phase As Double, BackColor As Boolean, Reflect As Boolean, Red As Integer, Green As Integer, Blue As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.RippleVariant(ByRef x As Object, ByRef y As Object, Amp As Double, Wavelen As Double, Phase As Double, BackColor As Boolean, Reflect As Boolean, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.RippleVariant(ref object x, ref object y, double Amp, double Wavelen, double Phase, bool BackColor, bool Reflect, short Red, short Green, short Blue)

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)
Amp | Sets the amplitude or height of the ripples. As this value increases the ripples become higher
Wavelen | Sets the wavelength or distance from the crest of one wave to the crest of the next wave. As this value increases there are few ripples produced
Phase | Sets the phase or shift in the wave cycle
BackColor | Sets whether empty spaces are filled with color from adjacent pixels or from the color set as a background color [False(0): spaces filled with background color,True(nonzero):spaces filled with the color of the adjacent pixels]
Reflect | Causes a reflective effect from one ripple to the next. (Best used with small amplitudes) [False(0):No reflection, True(nonzero): reflection]
Red | The red component of the background color (from 0 to 255)
Green | The green component of the background color (from 0 to 255)
Blue | The blue component of the background color (from 0 to 255)
* 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 RippleVariant method produces a ripple like effect on a raster 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#.

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

Before executing the RippleVariant 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 RippleVariant 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. The Red, Green and Blue parameters are enabled when the BackColor parameter is FALSE. 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 Ripple method.


Rotation (ImageKit Control/ Effect Method)

This method rotates a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Rotation(Angle As Long, TurnX As Boolean, TurnY As Boolean, Mode As Boolean, Red As Integer, Green As Integer, Blue As Integer, Clip As Boolean)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Rotation(long Angle, BOOL TurnX, BOOL TurnY, BOOL Mode, short Red, short Green, short Blue, BOOL Clip)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Rotation(Angle As Integer, TurnX As Boolean, TurnY As Boolean, Mode As Boolean, Red As Short, Green As Short, Blue As Short, Clip As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Rotation(int Angle, bool TurnX, bool TurnY, bool Mode, short Red, short Green, short Blue, bool Clip)

Parameters

Name | Explanation
Angle | Angle of rotation (-35999 to 35999, in 1/100 degree units)
TurnX | Reverses image along the x axis (False(0): no reversal, True (nonzero): reversal)
TurnY | Reverses image along the y axis (False(0): no reversal, True (nonzero): reversal)
Mode | Sets whether on not linear interpolation is used (False (0): does not interpolate, True (nonzero): interpolates). Interpolation is enabled for 8 bit grayscale, 16, 24, and 32 bit images only
Red | The red component of the background color (from 0 to 255)
Green | The green component of the background color (from 0 to 255)
Blue | The blue component of the background color (from 0 to 255)
Clip | Sets whether or not the image is clipped. (False(0): no clipping, True(nonzero): clipping)

Return Value

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

Explanation

The Rotation method rotates a raster image. If the Angle parameter value is positive, the image is rotated counterclockwise, if the Angle parameter value is negative, the image is rotated clockwise. When the Clip parameter is True and the rotated image is larger than the original, the excess areas are cut.

To execute the Rotation method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The Rotation method supports 1, 4, 8, 16, 24, and 32 bit images. It is possible to rotate a mask image at the same time that the image is rotated. If this is the case, set the image handle of the mask image to be processed in the MaskImageHandle property.

If successful the resulting raster image data is set in the LayerNo property (the ImageHandle property or the Layer(LayerNo).ImageHandle property. If a mask image is used, the mask image should be set in the MaskImageHandle 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.


SelectImage (ImageKit Control/ Effect Method)

This method allows you to define an area on a raster image and create a new image and mask image from that area.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.SelectImage(x As Long, y As Long, Points As Long, Red As Integer, Green As Integer, Blue As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().SelectImage(long *x, long *y, long Points, short Red, short Green, short Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.SelectImage(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.SelectImage(ref int x, ref int y, int Points, short Red, short Green, short Blue)

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)
Points | The number of points defining the polygonal area on the image.
Red | The red component of the color painted outside the area selected. (from 0 to255)
Green | The green component of the color painted outside the area selected. (from 0 to255)
Blue | The blue component of the color painted outside the area selected. (from 0 to255)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The SelectImage method allows you to select an area on a raster image and create a new image and mask image from this selected area.

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

Before executing the SelectImage method, you must set the area on the image that will be affected.

  1. To process the total image, set the SelectMode property to 1
  2. 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 SelectImage method. The number of points defining the polygon must be 3 or more
  3. 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.

If successful the resulting raster image data is set in the LayerNo property (the ImageHandle property or the Layer(LayerNo).ImageHandle property. The resulting mask image is set in the MaskImageHandle property. If unsuccessful, 0 is returned. The color defined by the Red, Green, and Blue parameters wil be painted in the resulting image in the area that is outside the selected area. The resulting mask image will be a black and white, 1 bit color image where the selected area is white and the area outside of the select area is black.

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.

Note: To select a portion of an image, without creating a mask image, please use the CutRectImage method. This method is much faster than the SelectImage method.

For scripting languages and other programs that require variant types, or when using VB.NET or C#.NET in 64 bit builds, please refer to the SelectImageVariant method.


SelectImageVariant (ImageKit Control/ Effect Method)

This method allows you to define an area on a raster image and create a new image and mask image from that area.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.SelectImageVariant(x As Variant, y As Variant, Red As Integer, Green As Integer, Blue As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.SelectImageVariant(ByRef x As Object, ByRef y As Object, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.SelectImageVariant(ref object x, ref object y, short Red, short Green, short Blue)

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)
Red | The red component of the color painted outside the area selected. (from 0 to255)
Green | The green component of the color painted outside the area selected. (from 0 to255)
Blue | The blue component of the color painted outside the area selected. (from 0 to255)
* 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 SelectImageVariant method allows you to select an area on a raster image and create a new image and mask image from this selected area.

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

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

Before executing the SelectImageVariant method, you must set the area on the image that will be affected.

  1. To process the total image, set the SelectMode property to 1
  2. 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 SelectImageVariant method. The number of points defining the polygon must be 3 or more
  3. 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. The resulting mask image is set in the MaskImageHandle property. If unsuccessful, 0 is returned. The color defined by the Red, Green, and Blue parameters wil be painted in the resulting image in the area that is outside the selected area. The resulting mask image will be a black and white, 1 bit color image where the selected area is white and the area outside of the select area is black.

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.

Note: To select a portion of an image, without creating a mask image, please use the CutRectImage method. This method is much faster than the SelectImageVariant method.

Also see the SelectImage method.


SetDibPixel (ImageKit Control/ Effect Method)

This method sets the RGB value and the palette number of a specified pixel in the Device Independent Bitmap (DIB)

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.SetDibPixel(DibNo As Integer, x As Long, y As Long, PalNo As Integer, Red As Integer, Green As Integer, Blue As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().SetDibPixel(short DibNo, long x, long y, short PalNo, short Red, short Green, short Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.SetDibPixel(DibNo As Short, x As Integer, y As Integer, PalNo As Short, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.SetDibPixel(short DibNo, int x, int y, short PalNo, short Red, short Green, short Blue)

Parameters

Name | Explanation
DibNo | The identification number of the DIB as retrieved from the StartDibAccess method.
x, y | The x,y coordinates of the specified pixel
PalNo | The palette number of the specified pixel
Red | The red component of the RGB value of the specified pixel
Green | The green component of the RGB value of the specified pixel
Blue | The blue component of the RGB value of the specified pixel

Return Value

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

Explanation

The SetDibPixel method sets the RGB values and palette number of the specified pixel in the Device Independent Bitmap (DIB). The DibNo parameter value must be the same as that retrieved from the StartDibAccess method. For 1, 4, and 8 bit images, the applicable values are set in the PalNo parameter. For 16, 24, and 32 bit images, the applicable values are set in the Red, Green, and Blue parameters

To access the DIB and manipulate pixel data, you must use the following methods as a group:
StartDibAccess
|
GetDibPixel, SetDibPixel
|
EndDibAccess

Note: If you want to access the DIB it is highly recommended that you use the ImageKit DLL functions. They are much faster than the ImageKit OCX controls at accessing the DIB. However, since you can also use the OCX controls to access the DIB, the explanation is included.

Sample Code
The following code starts access to the DIB, then loops through each pixel in the image, using the GetDibPixel method to retrieve the pixels' rgb values. Then those values are reversed and set using the SetDibPixel method. (For 1, 16, 24, or 32 bit images)

Visual Basic

Dim Ret As Boolean
Dim DibNo As Integer
Dim i As Long, j As Long
Dim PalNo As Integer, Red As Integer, Green As Integer, Blue As Integer

                   Ret = ImageKit1.GetImageType
If Ret = False Then Exit Sub
Ret = ImageKit1.Effect.StartDibAccess(ImageKit1.ImageHandle,
                DibNo)
If Ret = False Then Exit Sub

For i = 0 To ImageKit1.ImageHeight - 1
For j = 0 To ImageKit1.ImageWidth - 1
Ret = ImageKit1.Effect.GetDibPixel(DibNo, j, i, PalNo, Red, Green, Blue)
If ImageKit1.BitCount = 1 Then
If PalNo <> 0 Then
PalNo = 0
Else
PalNo = 1
End If
Else If ImageKit1.BitCount > 8 Then
Blue = 255 - Blue
Green = 255 - Green
Red = 255 - Red
End If
Ret = ImageKit1.Effect.SetDibPixel(DibNo, j, i, PalNo, Red, Green, Blue)
Next j
Next i
Ret = ImageKit1.Effect.EndDibAccess(DibNo)
ImageKit1.Refresh


SetDibPixelVariant (ImageKit Control/ Effect Method)

This method sets the RGB value and the palette number of a specified pixel in the Device Independent Bitmap (DIB). This method is equivalent to the SetDibPixel method but can be used in scripting languages that require variant types or when using 64 bit builds in VB.NET or C#.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.SetDibPixelVariant(DibNo As Integer, x As Long, y As Long, PalNo As Integer, Red As Integer, Green As Integer, Blue As Integer)

Parameters

Name | Explanation
DibNo | The identification number of the DIB as retrieved from the StartDibAccessVariant method.
x, y | The x,y coordinates of the specified pixel
PalNo | The palette number of the specified pixel
Red | The red component of the RGB value of the specified pixel
Green | The green component of the RGB value of the specified pixel
Blue | The blue component of the RGB value of the specified pixel

Return Value

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

Explanation

The SetDibPixelVariant method sets the RGB values and palette number of the specified pixel in the Device Independent Bitmap (DIB). This method is equivalent to the SetDibPixel method but can be used in scripting languages that require variant types. The DibNo parameter value must be the same as that retrieved from the StartDibAccessVariant method. For 1, 4, and 8 bit images, the applicable values are set in the PalNo parameter. For 16, 24, and 32 bit images, the applicable values are set in the Red, Green, and Blue parameters

To access the DIB and manipulate pixel data, you must use the following methods as a group:
StartDibAccessVariant
|
GetDibPixelVariant, SetDibPixelVariant
|
EndDibAccessVariant


SetGray (ImageKit Control/ Effect Method)

This method changes a raster image to gray.
[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.SetGray
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().SetGray()
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.SetGray()
[C#.NET] [ bool = ]imagekitcontrolname.Effect.SetGray()

Parameters

None

Return Value

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

Explanation

The SetGray method allows you to convert a raster image to gray.

To execute the SetGray method, set the image handle of the image in the ImageHandle property or the Layer(LayerNo).ImageHandle property. The SetGray method supports 1, 4, 8, 16, 24, and 32 bit images. Note: the SetGray method will convert a raster image to gray without changing the bitcount. A 24 bit color image, for example, is coverted to gray but is still 24 bit color. To change an image to 8-bit grayscale, please use the ConvertColor method.

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.


SetSecretImage (ImageKit Control/ Effect Method)

This method sets a digital watermark image or digital watermark text into a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.SetSecretImage(Handle1 As LONG_PTR, Handle2 As LONG_PTR, Text As String, FName As String, FSize As Integer, Bold As Boolean, Italic As Boolean, Underline As Boolean, StrikeOut As Boolean, Direction As Integer, Angle As Long, Level As Long, Left As Long, Top As Long, Right As Long, Bottom As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().SetSecretImage(LONG_PTR Handle1, LONG_PTR Handle2, LPCTSTR Text, LPCTSTR FName, short FSize, BOOL Bold, BOOL Italic, BOOL Underline, BOOL StrikeOut, short Direction, long Angle, long Level, long Left, long Top, long Right, long Bottom)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.SetSecretImage(Handle1 As Integer(x86) or Long(x64), Handle2 As Integer(x86) or Long(x64), Text As String, FName As String, FSize As Short, Bold As Boolean, Italic As Boolean, Underline As Boolean, StrikeOut As Boolean, Direction As Short, Angle As Integer, Level As Integer, Left As Integer, Top As Integer, Right As Integer, Bottom As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.SetSecretImage(int(x86) or long(x64) Handle1, int(x86) or long(x64) Handle2, string Text, string FName, short FSize, bool Bold, bool Italic, bool Underline, bool StrikeOut, short Direction, int Angle, int Level, int Left, int Top, int Right, int Bottom)

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
Handle1 | The image handle of the original image. (24 bit color images only) The watermark will be set on this image.
Handle2 | The image handle of the digital watermark (1 bit color image)
Text | Sets the digital watermark text (the length of text can be up to 127 bytes)
FName | Sets the font name (the length of the font name can be up to 31 bytes)
FSize | Sets the font size ( in points)
Bold | If True (nonzero), sets font to bold
Italic | If True (nonzero), sets font to italics
Underline | If True (nonzero), sets underline to font.
StrikeOut | If True (nonzero), sets strikethrough line to font
Direction | Sets the direction of the watermark text (0: left to right, 1: right to left, 2: top to bottom, 3: bottom to top)
Angle | Sets the rotation angle of the watermark text (0, 90, 180, 270 degrees)
Level | Sets the level of "detection" for the watermark (-20 to 20)
Left | The x coordinate of the location where the top left corner of the Handle2 image or text is to be attached to Handle1 (in pixels)
Top | The y coordinate of the location where the top left corner of the Handle2 image or text is to be attached to Handle1 (in pixels)
Right | The x coordinate of the location where the bottom right corner of the text is to be attached to Handle1 (in pixels)
Bottom | The y coordinate of the location where the bottom right corner of the text is to be attached to Handle1 (in pixels)

Return Value

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

Explanation

The SetSecretImage method sets a digital watermark into a raster image. It can set either a 1 bit color image or text as the watermark. The value of the Level parameter determines how "detectable" the digitable watermark will be. As the Level parameter increases in a positive direction, the digital watermark becomes brighter. As it increases in a negative direction, the digital watermark becomes darker. Note also that depending on the Direction or Angle parameter values, the Underline and StrikeOut parameters may be ineffective.

If the Handle2 parameter is set (nonzero), the image referred to by the Handle2 parameter will be set as the digital watermark. In this case the top left corner of the Handle2 image will be attached to the Handle1 image at the coordinate location determined by the Top and Left parameters. If the Handle2 parameter is 0, then the Text set in the Text parameter will be used as the digital watermark. It will be placed within a rectangular area on the Handle1 image as determined by the Top, Left, Bottom and Right parameters.

If successful the resulting raster image handle is set in the ImageHandle property or the Layer(LayerNo).ImageHandle property dpending on the value set in the LayerNo property. The resulting image is a 24 bit image.

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.

To check if a watermark exists on an image, please refer to the CheckSecretImage method.

Differences between ImageKit7/8

The Handle1 and Handle2 arguments have a different type.


Sharp (ImageKit Control/ Effect Method)

This method modifies sharpness in a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Sharp(x As Long, y As Long, Points As Long, Level As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Sharp(long *x, long *y, long Points, short Level)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Sharp(ByRef x As Integer, ByRef y As Integer, Points As Integer, Level As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Sharp(ref int x, ref int y, int Points, 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)
Points | The number of points defining the polygonal area on the image.
Level | Sets the degree of sharpness (from 0 to 100, sharpness increases as the level increases)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The Sharp method modifies the sharpness of a raster image. As the Level parameter value increase the sharpness increases and the image becomes clearer.

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

Before executing the Sharp 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 Sharp 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the SharpVariant method.


SharpVariant (ImageKit Control/ Effect Method)

This method modifies sharpness in a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.SharpVariant(x As Variant, y As Variant, Level As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.SharpVariant(ByRef x As Object, ByRef y As Object, Level As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.SharpVariant(ref object x, ref object y, 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)
Level | Sets the degree of sharpness (from 0 to 100, sharpness increases as the level increases)
* 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 SharpVariant method modifies the sharpness of a raster image. As the Level parameter value increase the sharpness increases and the image becomes clearer.

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

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

Before executing the SharpVariant 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 SharpVariant 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 Sharp method.


SplitRGBAImage (ImageKit Control/ Effect Method)

This method splits a 32 bit RGBA image into a 24 bit RGB image and a 8 bit alpha channel.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.SplitRGBAImage
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().SplitRGBAImage()
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.SplitRGBAImage()
[C#.NET] [ bool = ]imagekitcontrolname.Effect.SplitRGBAImage()

Parameters

None

Return Value

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

Explanation

The SplitRGBAImage method splits a 32 bit RGBA image into a 24 bit RGB image and a 8 bit alpha channel.. To execute the SplitRGBAImage method, set the image handle of the 32-bit RGBA image in the ImageHandle property or the Layer(LayerNo).ImageHandle property.

If successful the resulting RGB 24-bit image data is set in the LayerNo property (the ImageHandle property or the Layer(LayerNo).ImageHandle property) and the alpha channel 8-bit grayscale image is set in the MaskImageHandle 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.


StartDibAccess (ImageKit Control/ Effect Method)

The StartDibAccess method is used to allow access to pixels in the Device Independent Bitmap (DIB). This method is to be used in conjunction with the EndDibAccess method.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.StartDibAccess(hDib As Long, DibNo As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().StartDibAccess(long hDib, short *DibNo)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.StartDibAccess(hDib As Integer, ByRef DibNo As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.StartDibAccess(int hDib, ref short DibNo)

Parameters

Name | Explanation
hDib | The raster image memory handle (supports 1, 4, 8, 16. 24, and 32 bit images)
DibNo | The parameter that retrieves the identification number of the hDIB

Return Value

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

Explanation

The StartDibAccess method is used to allow access to pixels in the Device Independent Bitmap (DIB). This method is to be used in conjunction with the EndDibAccess method. The DibNo is the identification number of the hDib used by the GetDibPixel, SetDibPixel, and EndDibAccess methods.

To access the DIB and manipulate pixel data, you must use the following methods as a group:
StartDibAccess
|
GetDibPixel, SetDibPixel
|
EndDibAccess

Note: If you want to access the DIB it is highly recommended that you use the ImageKit DLL functions. They are much faster than the ImageKit OCX controls at accessing the DIB. However, since you can also use the OCX controls to access the DIB, the explanation is included.

Sample Code
The following code starts access to the DIB, then loops through each pixel in the image, using the GetDibPixel method to retrieve the pixels' rgb values. Then those values are reversed and set using the SetDibPixel method. (For 1, 16, 24, or 32 bit images)

Visual Basic:

Dim Ret As Boolean
Dim DibNo As Integer
Dim i As Long, j As Long
Dim PalNo As Integer, Red As Integer, Green As Integer, Blue As Integer

ImageKit1.LayerNo = -1
Ret = ImageKit1.GetImageType
If Ret = False Then Exit Sub
Ret = ImageKit1.Effect.StartDibAccess(ImageKit1.ImageHandle, DibNo)
If Ret = False Then Exit Sub

For i = 0 To ImageKit1.ImageHeight - 1
For j = 0 To ImageKit1.ImageWidth - 1
Ret = ImageKit1.Effect.GetDibPixel(DibNo, j, i, PalNo, Red, Green, Blue)
If ImageKit1.BitCount = 1 Then
If PalNo <> 0 Then
PalNo = 0
Else
PalNo = 1
End If
Else If ImageKit1.BitCount > 8 Then
Blue = 255 - Blue
Green = 255 - Green
Red = 255 - Red
End If
Ret = ImageKit1.Effect.SetDibPixel(DibNo, j, i, PalNo, Red, Green, Blue)
Next j
Next i
Ret = ImageKit1.Effect.EndDibAccess(DibNo)
ImageKit1.Refresh


StartDibAccessVariant (ImageKit Control/ Effect Method)

The StartDibAccessVariant method is used to allow access to pixels in the Device Independent Bitmap (DIB). This method is equivalent to the StartDibAccess method but can be used in scripting languages that require variant types or when using 64 bit builds in VB.NET or C#.

This method is to be used in conjunction with the EndDibAccessVariant method.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.StartDibAccessVariant(hDib As Long, DibNo As VARIANT)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.StartDibAccessVariant(int hDib, ref object DibNo)

Parameters

Name | Explanation
hDib | The raster image memory handle (supports 1, 4, 8, 16. 24, and 32 bit images)
DibNo | The parameter that retrieves the identification number of the hDIB

Return Value

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

Explanation

The StartDibAccessVariant method is used to allow access to pixels in the Device Independent Bitmap (DIB). This method is equivalent to the StartDibAccess method but can be used in scripting languages that require variant types. This method is to be used in conjunction with the EndDibAccessVariant method. The DibNo is the identification number of the hDib used by the GetDibPixelVariant, SetDibPixelVariant, and EndDibAccessVariant methods.

To access the DIB and manipulate pixel data, you must use the following methods as a group:
StartDibAccessVaraint
|
GetDibPixelVariant, SetDibPixelVariant
|
EndDibAccessVariant


UnifyColor (ImageKit Control/ Effect Method)

This method allows you to convert a range in colors in a raster image into one color. This method is useful when using transparent colors.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.UnifyColor(x As Long, y As Long, Points As Long, Red As Integer, Green As Integer, Blue As Integer, Error As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().UnifyColor(long *x, long *y, long Points, short Red, short Green, short Blue, short Error)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.UnifyColor(ByRef x As Integer, ByRef y As Integer, Points As Integer, Red As Short, Green As Short, Blue As Short, Error As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.UnifyColor(ref int x, ref int y, int Points, short Red, short Green, short Blue, short Error)

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)
Points | The number of points defining the polygonal area on the image.
Red | The red component of the color to be unified (from 0 to 255)
Green | The green component of the color to be unified (from 0 to 255)
Blue | The blue component of the color to be unified (from 0 to 255)
Error | Sets the range of RGB values that will be unified (from 0 to 255)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The UnifyColor method allows you to unify a range of colors in a raster image. This is very useful when using transparancy. The Red, Green, and Blue parameters define the unified color. The Error parameter sets the range of colors that will be unified into the single color. So, for example, if you set the Red, Green and Blue parameter each to 128 and the Error parameter to 10, all colors ranging from RGB(118,118,118) to RGB(138,138,138) will be changed to RGB(128,128,128).

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

Before executing the UnifyColor 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 UnifyColor 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the UnifyColorVariant method.


UnifyColorVariant (ImageKit Control/ Effect Method)

This method allows you to convert a range in colors in a raster image into one color.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.UnifyColorVariant(x As Variant, y As Variant, Red As Integer, Green As Integer, Blue As Integer, Error As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.UnifyColorVariant(ByRef x As Object, ByRef y As Object, Red As Short, Green As Short, Blue As Short, Error As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.UnifyColorVariant(ref object x, ref object y, short Red, short Green, short Blue, short Error)

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)
Red | The red component of the color to be unified (from 0 to 255)
Green | The green component of the color to be unified (from 0 to 255)
Blue | The blue component of the color to be unified (from 0 to 255)
Error | Sets the range of RGB values that will be unified (from 0 to 255)
* 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 UnifyColorVariant method allows you to unify a range of colors in a raster image. This is very useful when using transparancy.

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

The Red, Green, and Blue parameters define the unified color. The Error parameter sets the range of colors that will be unified into the single color. So, for example, if you set the Red, Green and Blue parameter each to 128 and the Error parameter to 10, all colors ranging from RGB(118,118,118) to RGB(138,138,138) will be changed to RGB(128,128,128).

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

Before executing the UnifyColorVariant 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 UnifyColorVariant 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 UnifyColor method.


Waves (ImageKit Control/ Effect Method)

This method creates a wave like effect on a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.Waves(x As Long, y As Long, Points As Long, Direction As Integer, WaveType As Integer, Period As Long, Amp As Long, Phase As Double, Edges As Integer, Red As Integer, Green As Integer, Blue As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().Waves(long *x, long *y, long Points, short Direction, short WaveType, long Period, long Amp, double Phase, short Edges, short Red, short Green, short Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.Waves(ByRef x As Integer, ByRef y As Integer, Points As Integer, Direction As Short, WaveType As Short, Period As Integer, Amp As Integer, Phase As Double, Edges As Short, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.Waves(ref int x, ref int y, int Points, short Direction, short WaveType, int Period, int Amp, double Phase, short Edges, short Red, short Green, short Blue)

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)
Points | The number of points defining the polygonal area on the image.
Direction | Sets the direction of the waves (0: horizontal, 1: vertical)
WaveType | Sets the type of wave (0:sin wave, 1: sawtooth)
Period | Sets the length of the wave (more than 0)
Amp | Sets the size of the wave (more than 0)
Phase | Sets the phase or shift in the wave cycle.(from 0.0 to 1.0)
Edges | Sets the type of edge(0: background color, 1:adjoining pixel color, 2 wrap around)
Red | Sets the red component of the background color (from 0 to 255)
Green | Sets the green component of the background color (from 0 to 255)
Blue | Sets the blue component of the background color (from 0 to 255)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The Waves method creates a wave like effect on a raster image.

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

Before executing the Waves 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 Waves 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 and set the Points parameter to 0. The Red, Green, and Blue parameters become enabled when the Edges parameter is 0. 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.

For scripting languages and other programs that require variant types, or when using VB.NET or C#.NET in 64 bit builds, please refer to the WavesVariant method.


WavesVariant (ImageKit Control/ Effect Method)

This method creates a wave like effect on a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.WavesVariant(x As Variant, y As Variant, Direction As Integer, WaveType As Integer, Period As Long, Amp As Long, Phase As Double, Edges As Integer, Red As Integer, Green As Integer, Blue As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.WavesVariant(ByRef x As Object, ByRef y As Object, Direction As Short, WaveType As Short, Period As Integer, Amp As Integer, Phase As Double, Edges As Short, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.WavesVariant(ref object x, ref object y, short Direction, short WaveType, int Period, int Amp, double Phase, short Edges, short Red, short Green, short Blue)

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)
Direction | Sets the direction of the waves (0: horizontal, 1: vertical)
WaveType | Sets the type of wave (0:sin wave, 1: sawtooth)
Period | Sets the length of the wave (more than 0)
Amp | Sets the size of the wave (more than 0)
Phase | Sets the phase or shift in the wave cycle.(from 0.0 to 1.0)
Edges | Sets the type of edge(0: background color, 1:adjoining pixel color, 2 wrap around)
Red | Sets the red component of the background color (from 0 to 255)
Green | Sets the green component of the background color (from 0 to 255)
Blue | Sets the blue component of the background color (from 0 to 255)
* 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 WavesVariant method creates a wave like effect on a raster 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#.

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

Before executing the WavesVariant 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 WavesVariant 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. The Red, Green, and Blue parameters become enabled when the Edges parameter is 0. 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 Waves method.


WhirlPinchVariant (ImageKit Control/ Effect Method)

This method produces an interesting effect similar to pinching a raster image then twisting your fingers.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.WhirlPinchVariant(x As Variant, y As Variant, Whirl As Double, Pinch As Double, Radius As Double, Red As Integer, Green As Integer, Blue As Integer)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.WhirlPinchVariant(ByRef x As Object, ByRef y As Object, Whirl As Double, Pinch As Double, Radius As Double, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.WhirlPinchVariant(ref object x, ref object y, double Whirl, double Pinch, double Radius, short Red, short Green, short Blue)

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)
Whirl | Sets the number of degrees of the twisting effect
Pinch | Sets the "strength" of the pinch
Radius | Sets the size of the area affected by the twisting effect (more than 0)
Red | Sets the red component of the background color (from 0 to 255)
Green | Sets the green component of the background color (from 0 to 255)
Blue | Sets the blue component of the background color (from 0 to 255)
* 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 WhirlPinchVariant method creates an effect similar to pinching a raster image and then twisting your fingers.

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

The Whirl parameter sets the number of degrees of the twisting effect. A value of 360 would mean that the twisting effect makes one complete revolution. The Radius parameter sets the size of the twisting effect on the image. As the Radius parameter increases in size, it affects larger areas on the image. Values of 2 or more could mean the the radius of the twisting effect is larger than the image itself. In this case the background color is used to fill any spaces that are outside of the orginal image. It is recommended that you set a Radius value of less than 1 so that the area affected remains within the image, then experiment with the Whirl parameter to get the desired effect. The Pinch parameter does exactly that, it pinches the area in the center of the twisting effect. A Pinch parameter of 1 will bring all of the colors together in the center. Values greater than 1 can "tear" the image in which case the background color is painted in the center.

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

Before executing the WhirlPinchVariant 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 WhirlPinchVariant 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.

WhirlPinch method.


WhirlPinch (ImageKit Control/ Effect Method)

This method produces an interesting effect similar to pinching a raster image then twisting your fingers.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.WhirlPinch(x As Long, y As Long, Points As Long, Whirl As Double, Pinch As Double, Radius As Double, Red As Integer, Green As Integer, Blue As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().WhirlPinch(long *x, long *y, long Points, double Whirl, double Pinch, double Radius, short Red, short Green, short Blue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.WhirlPinch(ByRef x As Integer, ByRef y As Integer, Points As Integer, Whirl As Double, Pinch As Double, Radius As Double, Red As Short, Green As Short, Blue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.WhirlPinch(ref int x, ref int y, int Points, double Whirl, double Pinch, double Radius, short Red, short Green, short Blue)

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)
Points | The number of points defining the polygonal area on the image.
Whirl | Sets the number of degrees of the twisting effect
Pinch | Sets the "strength" of the pinch
Radius | Sets the size of the area affected by the twisting effect (more than 0)
Red | Sets the red component of the background color (from 0 to 255)
Green | Sets the green component of the background color (from 0 to 255)
Blue | Sets the blue component of the background color (from 0 to 255)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The WhirlPinch method creates an effect similar to pinching a raster image and then twisting your fingers. The Whirl parameter sets the number of degrees of the twisting effect. A value of 360 would mean that the twisting effect makes one complete revolution. The Radius parameter sets the size of the twisting effect on the image. As the Radius parameter increases in size, it affects larger areas on the image. Values of 2 or more could mean the the radius of the twisting effect is larger than the image itself. In this case the background color is used to fill any spaces that are outside of the orginal image. It is recommended that you set a Radius value of less than 1 so that the area affected remains within the image, then experiment with the Whirl parameter to get the desired effect. The Pinch parameter does exactly that, it pinches the area in the center of the twisting effect. A Pinch parameter of 1 will bring all of the colors together in the center. Values greater than 1 can "tear" the image in which case the background color is painted in the center.

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

Before executing the WhirlPinch 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 WhirlPinch 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 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. 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the WhirlPinchVariant method.


YCCGamma (ImageKit Control/ Effect Method)

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

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.YCCGamma(x As Long, y As Long, Points As Long, Yb As Double, Cr As Double, Cb As Double)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().YCCGamma(long *x, long *y, long Points, double Yb, double Cr, double Cb)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.YCCGamma(ByRef x As Integer, ByRef y As Integer, Points As Integer, Yb As Double, Cr As Double, Cb As Double)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.YCCGamma(ref int x, ref int y, int Points, double Yb, double 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)
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
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[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.

  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 YCCGamma 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 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the YCCGammaVariant method.


YCCGammaVariant (ImageKit Control/ Effect Method)

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.


YCCLevel (ImageKit Control/ Effect Method)

This method increases (or decreases) the YCrCb values of a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.YCCLevel(x As Long, y As Long, Points As Long, Yb As Long, Cr As Long, Cb As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().YCCLevel(long *x, long *y, long Points, long Yb, long Cr, long Cb)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.YCCLevel(ByRef x As Integer, ByRef y As Integer, Points As Integer, Yb As Integer, Cr As Integer, Cb As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.YCCLevel(ref int x, ref int y, int Points, int Yb, int Cr, int 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)
Points | The number of points defining the polygonal area on the image.
Yb | Sets the shift in the Y component (luminance) of the YCrCb value (from-255 to 255)
Cr | Sets the shift in the Cr component (chrominance) of the YCrCb value (from-255 to 255)
Cb | Sets the shift in the Cb component (chrominance) of the YCrCb value (from-255 to 255)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The YCCLevel method increases or decreases the YCrCb values in a raster image. Y represents luminance, Cr and Cb represent chrominance. As the values of the Yb, Cr, or Cb parameters increase, the image becomes brighter. As those values decrease, the image becomes darker. If the Yb, Cr, or Cb parameters are 0, the image is not altered.

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

Before executing the YCCLevel 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 YCCLevel 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 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the YCCLevelVariant method.


YCCLevelVariant (ImageKit Control/ Effect Method)

This method increases (or decreases) the YCrCb values of a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.YCCLevelVariant(x As Variant, y As Variant, Points As Long, Yb As Long, Cr As Long, Cb As Long)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.YCCLevelVariant(ByRef x As Object, ByRef y As Object, Yb As Integer, Cr As Integer, Cb As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.YCCLevelVariant(ref object x, ref object y, int Yb, int Cr, int 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 | Sets the shift in the Y component (luminance) of the YCrCb value (from-255 to 255)
Cr | Sets the shift in the Cr component (chrominance) of the YCrCb value (from-255 to 255)
Cb | Sets the shift in the Cb component (chrominance) of the YCrCb value (from-255 to 255)
* 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 YCCLevelVariant method increases or decreases the YCrCb values in a raster image. Y represents luminance, Cr and Cb represent chrominance. As the values of the Yb, Cr, or Cb parameters increase, the image becomes brighter. As those values decrease, the image becomes darker. If the Yb, Cr, or Cb parameters are 0, the image is not altered.

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

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

Before executing the YCCLevelVariant 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 YCCLevelVariant 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 YCCLevel method.


YCCRev (ImageKit Control/ Effect Method)

This method reverses the YCrCb values of a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.YCCRev(x As Long, y As Long, Points As Long, Yb As Boolean, Cr As Boolean, Cb As Boolean)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().YCCRev(long *x, long *y, long Points, BOOL Yb, BOOL Cr, BOOL Cb)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.YCCRev(ByRef x As Integer, ByRef y As Integer, Points As Integer, Yb As Boolean, Cr As Boolean, Cb As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.YCCRev(ref int x, ref int y, int Points, bool Yb, bool Cr, bool 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)
Points | The number of points defining the polygonal area on the image.
Yb | Reverses the Y component (luminance) of the YCrCb value (False(0): does not reverse value, True( nonzero): reverses value)
Cr | Reverses the Cr component (chrominance) of the YCrCb value (False(0): does not reverse value, True( nonzero): reverses value)
Cb | Reverses the Cb component (chrominance) of the YCrCb value (False(0): does not reverse value, True( nonzero): reverses value)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The YCCRev method reverses the YCrCb values of a raster image. If the Yb, Cr, or Cb parameters are True, then that component of the YCrCb value is reversed. So, for example, the reverse of a Yb component = 255 would be a Yb component = 0. (Yb = 255 - Yb)

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

Before executing the YCCRev 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 YCCRev 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 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the YCCRevVariant method.


YCCRevVariant (ImageKit Control/ Effect Method)

This method reverses the YCrCb values of a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.YCCRevVariant(x As Variant, y As Variant, Yb As Boolean, Cr As Boolean, Cb As Boolean)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.YCCRevVariant(ByRef x As Object, ByRef y As Object, Yb As Boolean, Cr As Boolean, Cb As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.YCCRevVariant(ref object x, ref object y, bool Yb, bool Cr, bool 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 | Reverses the Y component (luminance) of the YCrCb value (False(0): does not reverse value, True( nonzero): reverses value)
Cr | Reverses the Cr component (chrominance) of the YCrCb value (False(0): does not reverse value, True( nonzero): reverses value)
Cb | Reverses the Cb component (chrominance) of the YCrCb value (False(0): does not reverse value, True( nonzero): reverses value)
* 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 YCCRevVariant method reverses the YCrCb values of a raster image. If the Yb, Cr, or Cb parameters are True, then that component of the YCrCb value is reversed. So, for example, the reverse of a Yb component = 255 would be a Yb component = 0. (Yb = 255 - Yb)

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

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

Before executing the YCCRevVariant 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 YCCRevVariant 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 YCCRev method.


YCCSpline (ImageKit Control/ Effect Method)

This method uses spline function to modifiy the YCrCb values of a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.YCCSpline(x As Long, y As Long, Points As Long, spx As Long, spy As Long, spPoints As Long, Yb As Boolean, Cr As Boolean, Cb As Boolean)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetEffect().YCCSpline(long *x, long *y, long Points, long *spx, long *spy, long spPoints, BOOL Yb, BOOL Cr, BOOL Cb)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.YCCSpline(ByRef x As Integer, ByRef y As Integer, Points As Integer, ByRef spx As Integer, ByRef spy As Integer, spPoints As Integer, Yb As Boolean, Cr As Boolean, Cb As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.YCCSpline(ref int x, ref int y, int Points, ref int spx, ref int spy, int spPoints, bool Yb, bool Cr, bool 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)
Points | The number of points defining the polygonal area on the image.
spx | An array of YCrCb values defining the x coordinates of points on the YCCSpline curve. (from 0 to 255) **
spy | An array of YCrCb values defining the y coordinates of points on the YCCSpline curve. (from 0 to 255) **
spPoints | The number of (spx, spy) coordinates in the array (from 3 to 10)
Yb | Affects the Y component (luminance) of the YCrCb value (False(0): does not affect the Y component, True( nonzero): affects the Y component)
Cr | Affects the Cr component (chrominance) of the YCrCb value (False(0): does not affect the Cr component, True( nonzero): affects the Cr component)
Cb | Affects the Cb component (chrominance) of the YCrCb value (False(0): does not affect the Cb component, True( nonzero): affects the Cb component)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Long, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

Return Value

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

Explanation

The YCCSpline method uses a spline function to modify the YCrCb values of a raster image. A spline function is a method of interpolating values that lay in between data points. In other words it produces a smooth curve from a limited set of points.

The YCCSpline method allows you to define the relationship between the input YCrCb values in the original image and output YCrCb values in the newly created image. You do this by specifying a set of coordinate points where the input YCrCb values are the x coordinates and the output YCrCb values are the y coordinates. These coordinate points are stored in arrays and passed to the YCCSpline method through the spx and spy parameters. The YCCSpline method then interpolates a "smooth" curve from these coordinate points. The graphic representation of this relationship between input YCrCb and output YCrCb values is known as the YCCSpline curve. A sample YCCSpline curve is shown in the diagram below:

In the above diagram, the Cr default YCCSpline curve represents no change between input YCrCb values and output YCrCb values. In this case, the newly created image is exactly the same as the orginal image. The red YCCSpline curve represents an increase in contrast between the original image and the newly created image. It was generated from the following points:

Point (spx values,spy values)
-----------------------------------------------------
Point A (0,0)
Point B (64,32)
Point C (128,128)
Point D (192,160)
Point E (255,255)

At the midpoint of the Yb YCCSpline curve, the input YCrCb value of 128 equals the output YCrCb value of 128. At points below the midpoint, however, the output YCrCb values are lower than the input YCrCb values. This means that dark colors become darker. Conversely, at points above the midpoint, output YCrCb values are higher than input YCrCb values. This means that light colors become lighter. This particular YCCSpline curve therefore increases the contrast of the image.

An YCCSpline curve that decreases contrast could be defined with the following points:

Point (spx values,spy values)
----------------------------------------------------
Point A (0,0)
Point B (64, 96)
Point C (128,128)
Point D (225, 192)
Point E (255,255)

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

Before executing the YCCSpline 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 YCCSpline 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 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, or when using VB.NET or C#.NET in 64 bit builds, please refer to the YCCSplineVariant method.


YCCSplineVariant (ImageKit Control/ Effect Method)

This method uses spline function to modifiy the YCrCb values of a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Effect.YCCSplineVariant(x As Variant, y As Variant, spx As Variant, spy As Variant, Yb As Boolean, Cr As Boolean, Cb As Boolean)
[VB.NET] [ Boolean = ]imagekitcontrolname.Effect.YCCSplineVariant(ByRef x As Object, ByRef y As Object, ByRef spx As Object, ByRef spy As Object, Yb As Boolean, Cr As Boolean, Cb As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.Effect.YCCSplineVariant(ref object x, ref object y, ref object spx, ref object spy, bool Yb, bool Cr, bool 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)
spx | An array of YCrCb values defining the x coordinates of points on the YCCSplineVariant curve. (from 0 to 255) **
spy | An array of YCrCb values defining the y coordinates of points on the YCCSplineVariant curve. (from 0 to 255) **
spPoints | The number of (spx, spy) coordinates in the array (from 3 to 10)
Yb | Affects the Y component (luminance) of the YCrCb value (False(0): does not affect the Y component, True( nonzero): affects the Y component)
Cr | Affects the Cr component (chrominance) of the YCrCb value (False(0): does not affect the Cr component, True( nonzero): affects the Cr component)
Cb | Affects the Cb component (chrominance) of the YCrCb value (False(0): does not affect the Cb component, True( nonzero): affects the Cb component)
* 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 YCCSplineVariant method uses a spline function to modify the YCrCb values of a raster image. A spline function is a method of interpolating values that lay in between data points. In other words it produces a smooth curve from a limited set of points.

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

The YCCSplineVariant method allows you to define the relationship between the input YCrCb values in the original image and output YCrCb values in the newly created image. You do this by specifying a set of coordinate points where the input YCrCb values are the x coordinates and the output YCrCb values are the y coordinates. These coordinate points are stored in arrays and passed to the YCCSplineVariant method through the spx and spy parameters. The YCCSplineVariant method then interpolates a "smooth" curve from these coordinate points. The graphic representation of this relationship between input YCrCb and output YCrCb values is known as the YCCSplineVariant curve. A sample YCCSplineVariant curve is shown in the diagram below:

In the above diagram, the Cr default YCCSplineVariant curve represents no change between input YCrCb values and output YCrCb values. In this case, the newly created image is exactly the same as the orginal image. The red YCCSplineVariant curve represents an increase in contrast between the original image and the newly created image. It was generated from the following points:

Point (spx values,spy values)
-----------------------------------------------------
Point A (0,0)
Point B (64,32)
Point C (128,128)
Point D (192,160)
Point E (255,255)

At the midpoint of the Yb YCCSplineVariant curve, the input YCrCb value of 128 equals the output YCrCb value of 128. At points below the midpoint, however, the output YCrCb values are lower than the input YCrCb values. This means that dark colors become darker. Conversely, at points above the midpoint, output YCrCb values are higher than input YCrCb values. This means that light colors become lighter. This particular YCCSplineVariant curve therefore increases the contrast of the image.

An YCCSplineVariant curve that decreases contrast could be defined with the following points:

Point (spx values,spy values)
----------------------------------------------------
Point A (0,0)
Point B (64, 96)
Point C (128,128)
Point D (225, 192)
Point E (255,255)

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

Before executing the YCCSplineVariant 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 YCCSplineVariant 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 YCCSpline method.


ImageKit File Interface

The ImageKit File interface exposes properties and methods for processing image files. It also contains interfaces that expose Exif JPEG properties and PDF properties.

Property List

Custom Properties | Explanation
ButtonName | Sets the button name displayed in the progress dialog box when loading and saving files.
Cancel | Sets whether or not the process is canceled.
Caption | Sets the text displayed in the title bar of the progress dialog box when loading and saving files.
Comment | Sets and retrieves a comment in certain image files.
CreationTimeDay | Refers to the day when the file was created. Retrieved after executing the GetImagefileType method.
CreationTimeHour | Refers to the hour when the file was created. Retrieved after executing the GetImagefileType method.
CreationTimeMinute | Refers to the minute when the file was created. Retrieved after executing the GetImagefileType method.
CreationTimeMonth | Refers to the month when the file was created. Retrieved after executing the GetImagefileType method.
CreationTimeSecond | Refers to the second when the file was created. Retrieved after executing the GetImagefileType method.
CreationTimeYear | Refers to the year when the file was created. Retrieved after executing the GetImagefileType method.
ExifAutoRotate | Sets whether to rotate an exif file according to the direction of the main image and read it
ExtendedDialog | Sets whether or not the file information and preview are displayed in the file "Open" dialog.
FileBitCount | Refers to the bit count of the image. Retrieved after executing the GetImagefileType or GetImagefileTypeMem methods.
FileExt | Sets the file type used when executing the OpenFileDialog and SaveFileDialog methods.
FileHeight | Refers to the height of the image (in pixels). Retrieved after executing the GetImagefileType or GetImagefileTypeMem methods
FileImageSize | Refers to the size of the actual image data. Retrieved after executing the GetImagefileType or GetImagefileTypeMem methods.
FileMaxPage | Refers to the number of pages of the image file. Retrieved after executing the GetImagefileType or GetImagefileTypeMem methods.
FileName | Sets the file name used when loading or saving an image
FilePath | Sets the folder used when executing the OpenFileDialog and SaveFileDialog methods.
FileSize | Refers to the size of the image file. The file size changes depending on the format in which the image data is saved and whether or not the image data is compressed. Retrieved after executing the GetImagefileType or GetImagefileTypeMem methods.
FileType | Refers to the file type. Retrieved after executing the GetImagefileType method
FileWidth | Refers to the width of the image (in pixels). Retrieved after executing the GetImagefileType method
FileWidthByte | Refers to the number of bytes per line of the image. Retrieved after executing the GetImagefileType method
FileXdpi | Refers to the horizontal resolution of the image. Retrieved after executing the GetImagefileType method
FileYdpi | Refers to the vertical resolution of the image. Retrieved after executing the GetImagefileType method
GifAnime | Sets the use of multi-page GIF images
GifAnimeDelay | Sets the length of time an page is displayed in the multi-page GIF image
ImageHandleRawData | Refers to the raw image data's image handle
ImageHandleRawDataSize | Refers to the size of the raw image data that is set in the ImageHandleRawData property
Information | Sets whether or not file information is displayed in the select file dialog.
Interlace | Sets whether or not Gif and Png images are interlaced
JPEG2000CodeBlockHeight | Sets the height of the JPEG2000 code block
JPEG2000CodeBlockWidth | Sets the width of the JPEG2000 code block
JPEG2000NumrResLevel | Sets the JPEG2000 resolution level
JPEG2000PrecinctHeight | Sets the height of the JPEG2000 precinct
JPEG2000PrecinctWidth | Sets the width of the JPEG2000 precinct
JPEG2000Reversible | Sets whether or not the JPEG2000 compression is reversible
JPEG2000Size | Sets the size of the saved JPEG2000 file
JPEG2000TileHeight | Sets the height of the JPEG2000 tile
JPEG2000TileWidth | Sets the width of the JPEG2000 tile
JpegQuality | Sets the JPEG compression quality coefficient when saving an image in JPEG format
JpegSubsamp | Sets the subsampling ratios for YCrCb when saving an image in JPEG format
LastAccessTimeDay | Refers to the day when the file was accessed. Retrieved after executing the GetImagefileType method
LastAccessTimeHour | Refers to the hour when the file was accessed. Retrieved after executing the GetImagefileType method
LastAccessTimeMinute | Refers to the minute when the file was accessed. Retrieved after executing the GetImagefileType method
LastAccessTimeMonth | Refers to the month when the file was accessed. Retrieved after executing the GetImagefileType method
LastAccessTimeSecond | Refers to the second when the file was accessed. Retrieved after executing the GetImagefileType method
LastAccessTimeYear | Refers to the year when the file was accessed. Retrieved after executing the GetImagefileType method
LastWriteTimeDay | Refers to the day when the file was modified. Retrieved after executing the GetImagefileType method
LastWriteTimeHour | Refers to the hour when the file was modified. Retrieved after executing the GetImagefileType method
LastWriteTimeMinute | Refers to the minute when the file was modified. Retrieved after executing the GetImagefileType method
LastWriteTimeMonth | Refers to the month when the file was modified. Retrieved after executing the GetImagefileType method
LastWriteTimeSecond | Refers to the second when the file was modified. Retrieved after executing the GetImagefileType method
LastWriteTimeYear | Refers to the year when the file was modified. Retrieved after executing the GetImagefileType method
LoadPage | Sets which page is loaded in a FPX, GIF, or TIFF multi-page image
Message | Sets the message displayed in the progress dialog box when loading and saving files
PalBlue | Sets the blue component of the RGB value for the transparent color
PalGreen | Sets the green component of the RGB value for the transparent color
PalRed | Sets the red component of the RGB value for the transparent color
PngAlphaChannel | Sets the alpha channel in a PNG image
Preview | Sets whether or not the image is previewed in the file selection dialog box
SaveFileDlgFileType | Retrieves the type of file selected when saving a file using the SaveFileDlg method
TiffAppend | Sets whether or not an image saved in TIFF format is appended to an existing multi-page TIFF image or saved as a separate image
TiffColorSpace | Defines the color space for TIFF images
TiffSaveOneStrip | Sets whether or not a TIFF image is saved as one strip or multiple strips
Transparent | Sets the transparent color for GIF/ PNG images
VectorHeight | When loading a vector image, this sets the height of the vector image (in pixels)
VectorWidth | When loading a vector image, this sets the width of the vector image (in pixels)

Method List

Custom Methods | Explanation
CMYKBmpPlaneFileLoad | Loads a bmp file that has been saved in seperate CMYK planes
CMYKBmpPlaneFileSave | Saves a raster image into seperate CMYK planes. The saved images are in BMP format
FileLoadAsRawData | Loads raw image data from a file
FileSaveAsRawData | Saves raw image data to a file
FTPConnect | Connects to the FTP server
FTPDeleteFile | Deletes an existing file from the FTP server. (Includes connecting to and disconnecting from server)
FTPDeleteFileEx | Deletes an existing file from the FTP server
FTPDisconnect | Disconnects from the FTP server
FTPGetFile | Retrieves a file from the FTP server. (Includes connecting to and disconnecting from server)
FTPGetFileEx | Retrieves a file from the FTP server
FTPPutFile | Transfers a file to the FTP server. (Includes connecting to and disconnecting from server)
FTPPutFileEx | Transfers a file to the FTP server
FTPRenameFile | Renames an existing file on the FTP server. (Includes connecting to and disconnecting from server)
FTPRenameFileEx | Renames an existing file on the FTP server
GetImageFileType | Retrieves various information aobut the image file
GetImageFileTypeMem | Retrieves various information from raw image data
HTTPConnect | Connects to the HTTP(S) server
HTTPDisconnect | Disconnects from the HTTP(S) server
HTTPGetFile | Retrieves a file from the HTTP server. (Includes connecting to and disconnecting from server)
HTTPGetFileEx | Retrieves a file from the HTTP server
HTTPPutFile | Transfers a file to the HTTP server. (Includes connecting to and disconnecting from server)
HTTPPutFileEx | Transfers a file to the HTTP server
HTTPSGetFile | Retrieves a file from the HTTPS server. (Includes connecting to and disconnecting from server)
HTTPSPutFile | Transfers a file to the HTTPS server. (Includes connecting to and disconnecting from server)
LoadFile | Loads image data from a file
LoadFileMem | Loads DIB image data from raw data
LoadFromStream | Loads image data from a stream
OpenFileDialog | Opens the "Open" file dialog box
RGBBmpPlaneFileLoad | Loads a bmp file that has been saved in seperate RGB planes
RGBBmpPlaneFileSave | Saves a raster image into seperate RGB planes. The saved images are in BMP format
SaveFile | Saves image data to file
SaveFileDialog | Opens the "Save" file dialog box
SaveFileMem | Saves image data as raw data
SaveToStream | Saves image data to a stream
YCCBmpPlaneFileLoad | Loads a bmp file that has been saved in seperate YCrCb planes
YCCBmpPlaneFileSave | Saves a raster image into seperate YCrCb planes. The saved images are in BMP format

Interface List

Custom Interfaces | Explanation
Exif | Exposes properties of the Exif(JPEG) file's main and thumbnail image
PDF | Exposes properties and methods to save files in PDF format


ImageKit File Properties

Custom Properties | Explanation
ButtonName | Sets the button name displayed in the progress dialog box when loading and saving files.
Cancel | Sets whether or not the process is canceled.
Caption | Sets the text displayed in the title bar of the progress dialog box when loading and saving files.
Comment | Sets and retrieves a comment in certain image files.
CreationTimeDay | Refers to the day when the file was created. Retrieved after executing the GetImagefileType method.
CreationTimeHour | Refers to the hour when the file was created. Retrieved after executing the GetImagefileType method.
CreationTimeMinute | Refers to the minute when the file was created. Retrieved after executing the GetImagefileType method.
CreationTimeMonth | Refers to the month when the file was created. Retrieved after executing the GetImagefileType method.
CreationTimeSecond | Refers to the number of seconds when the file was created. Retrieved after executing the GetImagefileType method.
CreationTimeYear | Refers to the year when the file was created. Retrieved after executing the GetImagefileType method.
ExifAutoRotate | Sets whether to rotate an exif file according to the direction of the main image and read it
ExtendedDialog | Sets whether or not the file information and preview are displayed in the file "Open" dialog.
FileBitCount | Refers to the bit count of the image. Retrieved after executing the GetImagefileType or GetImagefileTypeMem methods.
FileExt | Sets the file type used when executing the OpenFileDlg and SaveFileDlg methods.
FileHeight | Refers to the height of the image (in pixels). Retrieved after executing the GetImagefileType or GetImagefileTypeMem methods
FileImageSize | Refers to the size of the actual image data. Retrieved after executing the GetImagefileType or GetImagefileTypeMem methods.
FileMaxPage | Refers to the number of pages of the image file. Retrieved after executing the GetImagefileType or GetImagefileTypeMem methods.
FileName | Sets the file name used when loading or saving an image
FilePath | Sets the folder used when executing the OpenFileDlg and SaveFileDlg methods.
FileSize | Refers to the size of the image file. The file size changes depending on the format in which the image data is saved and whether or not the image data is compressed. Retrieved after executing the GetImagefileType or GetImagefileTypeMem methods.
FileType | Refers to the file type. Retrieved after executing the GetImagefileType method
FileWidth | Refers to the width of the image (in pixels). Retrieved after executing the GetImagefileType method
FileWidthByte | Refers to the number of bytes per line of the image. Retrieved after executing the GetImagefileType method
FileXdpi | Refers to the horizontal resolution of the image. Retrieved after executing the GetImagefileType method
FileYdpi | Refers to the vertical resolution of the image. Retrieved after executing the GetImagefileType method
GifAnime | Sets the use of multi-page GIF images
GifAnimeDelay | Sets the length of time an page is displayed in the multi-page GIF image
ImageHandleRawData | Refers to the raw image data's image handle
ImageHandleRawDataSize | Refers to the size of the raw image data that is set in the ImageHandleRawData property
Information | Sets whether or not file information is displayed in the select file dialog.
Interlace | Sets whether or not Gif and Png images are interlaced
JPEG2000CodeBlockHeight | Sets the height of the JPEG2000 code block
JPEG2000CodeBlockWidth | Sets the width of the JPEG2000 code block
JPEG2000NumrResLevel | Sets the JPEG2000 resolution level
JPEG2000PrecinctHeight | Sets the height of the JPEG2000 precinct
JPEG2000PrecinctWidth | Sets the width of the JPEG2000 precinct
JPEG2000Reversible | Sets whether or not the JPEG2000 compression is reversible
JPEG2000Size | Sets the size of the saved JPEG2000 file
JPEG2000TileHeight | Sets the height of the JPEG2000 tile
JPEG2000TileWidth | Sets the width of the JPEG2000 tile
JpegQuality | Sets the JPEG compression quality coefficient when saving an image in JPEG format
JpegSubsamp | Sets the subsampling ratios for YCrCb when saving an image in JPEG format
LastAccessTimeDay | Refers to the day when the file was accessed. Retrieved after executing the GetImagefileType method
LastAccessTimeHour | Refers to the hour when the file was accessed. Retrieved after executing the GetImagefileType method
LastAccessTimeMinute | Refers to the minute when the file was accessed. Retrieved after executing the GetImagefileType method
LastAccessTimeMonth | Refers to the month when the file was accessed. Retrieved after executing the GetImagefileType method
LastAccessTimeSecond | Refers to the second when the file was accessed. Retrieved after executing the GetImagefileType method
LastAccessTimeYear | Refers to the year when the file was accessed. Retrieved after executing the GetImagefileType method
LastWriteTimeDay | Refers to the day when the file was modified. Retrieved after executing the GetImagefileType method
LastWriteTimeHour | Refers to the hour when the file was modified. Retrieved after executing the GetImagefileType method
LastWriteTimeMinute | Refers to the minute when the file was modified. Retrieved after executing the GetImagefileType method
LastWriteTimeMonth | Refers to the month when the file was modified. Retrieved after executing the GetImagefileType method
LastWriteTimeSecond | Refers to the second when the file was modified. Retrieved after executing the GetImagefileType method
LastWriteTimeYear | Refers to the year when the file was modified. Retrieved after executing the GetImagefileType method
LoadPage | Sets which page is loaded in a FPX, GIF, or TIFF multi-page image
Message | Sets the message displayed in the progress dialog box when loading and saving files
PalBlue | Sets the blue component of the RGB value for the transparent color
PalGreen | Sets the green component of the RGB value for the transparent color
PalRed | Sets the red component of the RGB value for the transparent color
PngAlphaChannel | Sets the alpha channel in a PNG image
Preview | Sets whether or not the image is previewed in the file selection dialog box
SaveFileDlgFileType | Retrieves the type of file selected when saving a file using the SaveFileDlg method
TiffAppend | Sets whether or not an image saved in TIFF format is appended to an existing multi-page TIFF image or saved as a separate image
TiffColorSpace | Defines the color space for TIFF images
TiffSaveOneStrip | Sets whether or not a TIFF image is saved as one strip or multiple strips
Transparent | Sets the transparent color for GIF/ PNG images
VectorHeight | When loading a vector image, this sets the height of the vector image (in pixels)
VectorWidth | When loading a vector image, this sets the width of the vector image (in pixels)


ButtonName (ImageKit Control/File Property)

ImageKit10 ActiveX

ButtonName (ImageKit Control/ File Property)

The ButtonName property displays text on the button in the progress dialog.

[Visual Basic] imagekitcontrolname.File.ButtonName[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetButtonName()
imagekitcontrolname.GetFile().SetButtonName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.ButtonName[ = String ]
[C#.NET] imagekitcontrolname.File.ButtonName[ = string ]

Property Value

A string value that is displayed on the button in the progress dialog

Explanation

The ButtonName property displays text on the button in the progress dialog. If the ButtonName, Caption, and Message properties have not been set, the progress dialog box will not appear and the Progress event will be generated. On the other hand, if text has been set in any one of these properties, the progress dialog box will appear and the Progress event will not be generated.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Cancel (ImageKit Control/File Property)

ImageKit10 ActiveX

Cancel (ImageKit Control/ File Property)

This property sets whether or not the file control load or save process is canceled
[Visual Basic] imagekitcontrolname.File.Cancel[ = Boolean ]
[Visual C++] imagekitcontrolname.GetFile().SetCancel(BOOL Val)
[VB.NET] imagekitcontrolname.File.Cancel[ = Boolean ]
[C#.NET] imagekitcontrolname.File.Cancel[ = bool ]

Property Value

Value | Explanation
True | The load or save process is canceled
False | The load or save process is not canceled

Explanation

The Cancel property sets whether or not the file control load or save process is canceled. When the Cancel property is True, the file control load or save process is canceled.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


Caption (ImageKit Control/File Property)

ImageKit10 ActiveX

Caption (ImageKit Control/ File Property)

The Caption property displays text in the title bar of the progress dialog.

[Visual Basic] imagekitcontrolname.File.Caption[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetCaption()
imagekitcontrolname.GetFile().SetCaption(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Caption[ = String ]
[C#.NET] imagekitcontrolname.File.Caption[ = string ]

Property Value

A string value that is displayed in the title bar in the progress dialog

Explanation

The Caption property displays text in the title bar of the progress dialog. If the ButtonName, Caption, and Message properties have not been set, the progress dialog box will not appear and the Progress event will be generated. On the other hand, if text has been set in any one of these properties, the progress dialog box will appear and the Progress event will not be generated.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Comment (ImageKit Control/File Property)

ImageKit10 ActiveX

Comment (ImageKit Control/ File Property)

This property sets the comment that can be saved in some types of image files. By executing the GetImagefileType or the GetImagefileTypeMem methods, any comments that exist in an image are retrieved.

[Visual Basic] imagekitcontrolname.File.Comment[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetComment()
imagekitcontrolname.GetFile().SetComment(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Comment[ = String ]
[C#.NET] imagekitcontrolname.File.Comment[ = string ]

Property Value

The comment string (Maximum length:2047 bytes)

Explanation

The Comment property sets the comment that can be saved in some types of image files. By executing the GetImagefileType or the GetImagefileTypeMem methods, any comments that exist in an image are retrieved.

The type of comment and its syntax depends on the file format. The following image file formats support comments and their syntax is given below. If the particular image file does not support a comment, then this property is ignored for those image files.

Name | Explanation
FPX | Title+0x0d+Subtitle+0x0d+Author+0x0d+Comment+0x0d
GIF | Comment
JPEG | Comment
JPEG2000 | Title+0x0d+Subtitle+0x0d+Author+0x0d+Comment+0x0d
PNG | Title+0x0d+Author+0x0d+Explanation+0x0d+Copyright+0x0d+DateTime+0x0d+Software+0x0d+Waiver+0x0d+Warning+0x0d+Input Devices+0x0d+Comment+0x0d
TIFF | Document Name+0x0d+Image Explanation+0x0d+Page Name+0x0d+Software+0x0d+Date Time+0x0d+Author+0x0d

Note: please enter a blank string into any unnecessary fields.
In Visual Basic, VB.NET, and C#.NET, replace the 0x with &H.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


CreationTimeDay (ImageKit Control/File Property)

ImageKit10 ActiveX

CreationTimeDay (ImageKit Control/ File Property)

This property refers to the day when the file was created. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.CreationTimeDay [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetCreationTimeDay()
[VB.NET] imagekitcontrolname.File.CreationTimeDay[ = Short ]
[C#.NET] imagekitcontrolname.File.CreationTimeDay[ = short ]

Reference

The day when the file was created.

Explanation

The CreationTimeDay property refers to the day when the file was created. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


CreationTimeHour (ImageKit Control/File Property)

ImageKit10 ActiveX

CreationTimeHour (ImageKit Control/ File Property)

This property refers to the hour when the file was created. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.CreationTimeHour [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetCreationTimeHour()
[VB.NET] imagekitcontrolname.File.CreationTimeHour[ = Short ]
[C#.NET] imagekitcontrolname.File.CreationTimeHour[ = short ]

Reference

The hour when the file was created.

Explanation

The CreationTimeHour property refers to the hour when the file was created. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


CreationTimeMinute (ImageKit Control/File Property)

ImageKit10 ActiveX

CreationTimeMinute (ImageKit Control/ File Property)

This property refers to the number of minutes when the file was created. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.CreationTimeMinute [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetCreationTimeMinute()
[VB.NET] imagekitcontrolname.File.CreationTimeMinute[ = Short ]
[C#.NET] imagekitcontrolname.File.CreationTimeMinute[ = short ]

Reference

The minute when the file was created.

Explanation

The CreationTimeMinute property refers to the minute when the file was created. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


CreationTimeMonth (ImageKit Control/File Property)

ImageKit10 ActiveX

CreationTimeMonth (ImageKit Control/ File Property)

This property refers to the month when the file was created. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.CreationTimeMonth [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetCreationTimeMonth()
[VB.NET] imagekitcontrolname.File.GetCreationTimeMonth[ = Short ]
[C#.NET] imagekitcontrolname.File.GetCreationTimeMonth[ = short ]

Reference

The month when the file was created.

Explanation

The CreationTimeMonth property refers to the month when the file was created. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


CreationTimeSecond (ImageKit Control/File Property)

ImageKit10 ActiveX

CreationTimeSecond (ImageKit Control/ File Property)

This property refers to the number of seconds when the file was created. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.CreationTimeSecond [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetCreationTimeSecond()
[VB.NET] imagekitcontrolname.File.CreationTimeSecond[ = Short ]
[C#.NET] imagekitcontrolname.File.CreationTimeSecond[ = short ]

Reference

The number of seconds set in the file's creation time.

Explanation

The CreationTimeSecond property refers to the number of seconds when the file was created. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


CreationTimeYear (ImageKit Control/File Property)

ImageKit10 ActiveX

CreationTimeYear (ImageKit Control/ File Property)

This property refers to the year when the file was created. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.CreationTimeYear [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetCreationTimeYear()
[VB.NET] imagekitcontrolname.File.CreationTimeYear[ = Short ]
[C#.NET] imagekitcontrolname.File.CreationTimeYear[ = short ]

Reference

The year when the file was created.

Explanation

The CreationTimeYear property refers to the year when the file was created. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ExifAutoRotate (ImageKit Control/File Property)

ImageKit10 ActiveX

ExifAutoRotate (ImageKit Control/ File Property)

The ExifAutoRotate property sets whether to rotate an exif file according to the direction of the main image and read it.

[Visual Basic] imagekitcontrolname.File.ExifAutoRotate[ = Boolean ]
[Visual C++] imagekitcontrolname.GetFile().SetExifAutoRotate(BOOL Val)
[VB.NET] imagekitcontrolname.File.ExifAutoRotate[ = Boolean ]
[C#.NET] imagekitcontrolname.File.ExifAutoRotate[ = bool ]

Property Value

Value | Explanation
True | Rotate according to the direction of the main image and read
False | Read the main image as it is (ignoring the direction)

Default value is True

Explanation

The ExifAutoRotate property sets whether to rotate an exif file according to the direction of the main image and read it. The default value is True. This property value is used by the LoadFile and the LoadFileMem methods but is ignored if the image is not an Exif format image.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved at run-time.


ExtendedDialog (ImageKit Control/File Property)

ImageKit10 ActiveX

ExtendedDialog (ImageKit Control/ File Property)

Sets whether or not the file information and preview are displayed in the file "Open" dialog.

[Visual Basic] imagekitcontrolname.File.ExtendedDialog[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetExtendedDialog()
imagekitcontrolname.GetFile().SetExtendedDialog(BOOL Val)
[VB.NET] imagekitcontrolname.File.ExtendedDialog[ = Boolean ]
[C#.NET] imagekitcontrolname.File.ExtendedDialog[ = bool ]

Property Value

The mode when the "Open" file dialog is initially displayed.

Value | Explanation
True | Displays the preview and file information checkbox
False | Does not display the preview and file information checkbox

Explanation

The ExtendedDialog property sets whether or not the file information and preview are displayed in the file "Open" dialog. Default value is True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FileBitCount (ImageKit Control/File Property)

ImageKit10 ActiveX

FileBitCount (ImageKit Control/ File Property)

This property refers to the bit count of the image. Retrieved after executing the GetImagefileType or GetImagefileTypeMem methods.

[Visual Basic] imagekitcontrolname.File.FileBitCount [= Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetFileBitCount()
[VB.NET] imagekitcontrolname.File.FileBitCount [= Short ]
[C#.NET] imagekitcontrolname.File.FileBitCount [= short ]

Property Value

The FileBitCount property refers to the number of bits per pixel in the image. (1, 4, 8, 16, 24, 32). See below

Explanation

The FileBitCount property shows the number of colors in the image.

1:2 colors (i.e.Black and White) 4:16 colors 8:256 colors
16:16 bit color 24:24 bit color 32:32 bit color

This property value can be retrieved by executing the GetImagefileType or GetImagefileTypeMem methods.

When using vector image formats the following properties are disabled; FileBitCount, FileImageSize, FileMaxPage, and FileWidthByte.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


FileExt (ImageKit Control/File Property)

ImageKit10 ActiveX

FileExt (ImageKit Control/ File Property)

This property sets the file type initially displayed by the OpenFileDlg and SaveFileDlg methods

[Visual Basic] imagekitcontrolname.File.FileExt[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetFileExt()
imagekitcontrolname.GetFile().SetFileExt(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.FileExt[ = String ]
[C#.NET] imagekitcontrolname.File.FileExt[ = string ]

Property Value

The FileExt is the file type (i.e. jpg, bmp)

Explanation

The FileExt property sets the file type initially displayed by the OpenFileDlg and SaveFileDlg methods.

When you execute the OpenFileDlg and SaveFileDlg methods, the "Open" dialog box and "Save" dialog box will be displayed. The FileExt property sets which file extentions will be listed in the "Files of type" drop down menu at the bottom of the dialog box.

By default the "Open" dialog box and the "Save" dialog box display all file types in a given folder. They also display the term "All Files" along with all image file extentions supported by the ImageKit in the "Files of type" drop down menu at the bottom of the dialog box. By setting the FileExt property, you can determine which file extentions will be listed in the "Files of type" drop down menu and thereby influence the types of files that will be displayed in the "Open" dialog box and "Save" dialog box.

When setting more than one file type in the FileExt property, use a semicolon as the delimiter. To remove the term "All Files" and also limit the display of file types, use an asteriks. To set a particular file extention to be displayed as the default value, surround it in <> like this "<JPEG>". (See example below)

Example:

1. To display all file types and list the terms "ALL FILES", "BMP", "JPG", "PNG" in the "Files of type" drop down menu, set the FileExt property to

ImageKit1.File.FileExt = "BMP;JPG;PNG;"

2. To allow only "BMP", "JPG", "PNG" file types to be displayed and to list only those three terms in the "Files of type" drop down menu with "JPG" being displayed as the default value, set the FileExt property to

ImageKit1.File.FileExt = "*;BMP;<JPEG>;PNG;"

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FileHeight (ImageKit Control/File Property)

ImageKit10 ActiveX

FileHeight (ImageKit Control/ File Property)

The FileHeight property refers to the height of the image in pixels. To set the value of this property, execute the GetImageFileType or GetImageFileTypeMem method.

[Visual Basic] imagekitcontrolname.File.FileHeight [= Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetFileHeight()
[VB.NET] imagekitcontrolname.File.FileHeight [= Integer ]
[C#.NET] imagekitcontrolname.File.FileHeight [= int ]

Property Value

The height of the image in pixels.

Explanation

The FileHeight property refers to the height of the image in pixels. To set the value of this property, execute the GetImageFileType or GetImageFileTypeMem method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


FileImageSize (ImageKit Control/File Property)

ImageKit10 ActiveX

FileImageSize (ImageKit Control/ File Property)

The FileImageSize property refers to the size of the actual image data in bytes. To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

[Visual Basic] imagekitcontrolname.File.FileImageSize [= Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetFileImageSize()
[VB.NET] imagekitcontrolname.File.FileImageSize [= Integer ]
[C#.NET] imagekitcontrolname.File.FileImageSize [= int ]

Property Value

The size of the actual image data in bytes.

Explanation

The FileImageSize property refers to the size of the actual image data in bytes. To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

When using vector image formats the following properties are disabled; FileBitCount, FileImageSize, FileMaxPage, and FileWidthByte.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


FileMaxPage (ImageKit Control/File Property)

ImageKit10 ActiveX

FileMaxPage (ImageKit Control/ File Property)

The FileMaxPage property refers to the number of pages of a multi-page image file. To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

[Visual Basic] imagekitcontrolname.File.FileMaxPage [= Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetFileMaxPage()
[VB.NET] imagekitcontrolname.File.FileMaxPage [= Short ]
[C#.NET] imagekitcontrolname.File.FileMaxPage [= short ]

Property Value

The number of pages of a multi-page image file.

Explanation

The FileMaxPage property refers to the number of pages of a multi-page image file. To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

When using vector image formats the following properties are disabled; FileBitCount, FileImageSize, FileMaxPage, and FileWidthByte.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


FileName (ImageKit Control/File Property)

ImageKit10 ActiveX

FileName (ImageKit Control/ File Property)

This property sets the name of the image file (full path) to be loaded or saved

[Visual Basic] imagekitcontrolname.File.FileName[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetFileName()
imagekitcontrolname.GetFile().SetFileName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.FileName[ = String ]
[C#.NET] imagekitcontrolname.File.FileName[ = string ]

Property Value

The name of the image file (full path)

Explanation

The FileName property sets the name of the image file to be loaded or saved.

(1) Files loaded from local drive or network drive:
ImageKit1.File.FileName = "c:\abc.jpg"
ImageKit1.File.LoadFile ikLoad

(2) Files loaded FTP server:
ImageKit1.File.FileName = "ftp://www.newtone.co.jp/image/abc.jpg;;;true;user;password" '(*)
ImageKit1.File.LoadFile ikLoad

(*) Setting order for values:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) Files loaded HTTP(S) server:
ImageKit1.File.FileName = "http://www.newtone.co.jp/image/abc.jpg;;;;user;password" '(**)
ImageKit1.File.LoadFile ikLoad

(**) Setting order for values:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded.


FilePath (ImageKit Control/File Property)

ImageKit10 ActiveX

FilePath (ImageKit Control/ File Property)

This property sets the folder initially displayed by the OpenFileDlg and SaveFileDlg methods

[Visual Basic] imagekitcontrolname.File.FilePath [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetFilePath()
imagekitcontrolname.GetFile().SetFilePath(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.FilePath[ = String ]
[C#.NET] imagekitcontrolname.File.FilePath[ = string ]

Property Value

The FilePath is the folder name

Explanation

The FilePath property sets the folder initially displayed by the OpenFileDlg and SaveFileDlg methods.

When you execute the OpenFileDlg and SaveFileDlg methods, the "Open" dialog box and "Save" dialog box will be displayed. The FilePath property allows you to set the folder that is accessed when the "Open" dialog box and "Save" dialog box are displayed.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FileSize (ImageKit Control/File Property)

ImageKit10 ActiveX

FileSize (ImageKit Control/ File Property)

The FileSize property refers to the size of the image file. To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

[Visual Basic] imagekitcontrolname.File.FileSize [= Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetFileSize()
[VB.NET] imagekitcontrolname.File.FileSize [= Integer ]
[C#.NET] imagekitcontrolname.File.FileSize [= int ]

Property Value

The size of the image file

Explanation

The FileSize property refers to the size of the image file. The file size changes depending on the format in which the image data is saved and whether or not the image data is compressed.

To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


FileType (ImageKit Control/File Property)

ImageKit10 ActiveX

FileType (ImageKit Control/ File Property)

The FileType property refers to the type of image format. To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

[Visual Basic] imagekitcontrolname.File.FileType[= FileTypeConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetFileType()
[VB.NET] imagekitcontrolname.File.FileType[= ImageKit10(A)Lib.FileTypeConstants ]
[C#.NET] imagekitcontrolname.File.FileType[= ImageKit10(A)Lib.FileTypeConstants ]

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

The type of image format (From 1 to 28). See below

Explanation

The FileType property refers to the type of image format. To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

The FileType property refes to the following image formats

1:BMP/DIB 2:BMP/DIB(RLE4) 3:BMP/DIB(RLE8)

4:JPEG(Standard DCT) 5:JPEG(Progressive DCT) 6:GIF(87a)

7:GIF(89a) 8:TIFF(Uncompressed) 9:TIFF(CCITTRLE)

10:TIFF(GROUP3-1D) 11:TIFF(GROUP3-2D) 12:TIFF(GROUP4)

13:TIFF(PACKBITS) 14:TIFF(LZW) 15:PNG

16:FPX(Uncompressed) 17:FPX(Single Color) 18:FPX(JPEG)

19:PCX 20:WMF 21:EMF

22:DXF 23:Exif(JPEG) 24:SVG

25:JPEG2000(Part1) 26:JPEG2000(Code Stream) 27:SXF(p21)

28:SFC(sfc)

29:TIFF(JPEG)

Note: TIFF(GROUP3-1D) is the same as MH. TIFF(GROUP3-2D) is the same as MR. TIFF(GROUP4) is the same as MMR. The ImageKit10 supports a portion of Exif version 2.3 tags
If an unsupported image format is loaded into the ImageKit Control, the FileType property will return 0.

It is also possible to use the following constants (ikFileTypeBMP = 1, ikFileTypeBMPRLE4 = 2, ikFileTypeBMPRLE8 = 3, ikFileTypeJPEG = 4, ikFileTypeJPEGProgress = 5, ikFileTypeGIF87 = 6, ikFileTypeGIF89 = 7, ikFileTypeTIFFNoncompressed = 8, ikFileTypeTIFFCcittrle = 9, ikFileTypeTIFFGroup3_1D = 10, ikFileTypeTIFFGroup3_2D = 11, ikFileTypeTIFFGroup4 = 12, ikFileTypeTIFFPackbits = 13, ikFileTypeTIFFLZW = 14, ikFileTypePNG = 15, ikFileTypeFPXNoncompressed = 16, ikFileTypeFPXSingleColor = 17, ikFileTypeFPXJpeg = 18, ikFileTypePCX = 19, ikFileTypeWMF = 20, ikFileTypeEMF = 21, ikFileTypeDXF = 22, ikFileTypeEXIF = 23, ikFileTypeSVG = 24, ikFileTypeJPEG2000 = 25, ikFileTypeJPEG2000Stream = 26, ikFileTypeSXFP21 = 27, ikFileTypeSXFSFC = 28, ikFiltTypeTIFFJPEG = 29).

When using vector image formats the following properties are disabled; FileBitCount, FileImageSize, FileMaxPage, and FileWidthByte.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


FileWidth (ImageKit Control/File Property)

ImageKit10 ActiveX

FileWidth (ImageKit Control/ File Property)

The FileWidth property refers to the width of the image in pixels. To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

[Visual Basic] imagekitcontrolname.File.FileWidth [= Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetFileWidth()
[VB.NET] imagekitcontrolname.File.FileWidth [= Integer ]
[C#.NET] imagekitcontrolname.File.FileWidth [= int ]

Property Value

The width of the image in pixels.

Explanation

The FileWidth property refers to the width of the image in pixels. To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


FileWidthByte (ImageKit Control/File Property)

ImageKit10 ActiveX

FileWidthByte (ImageKit Control/ File Property)

The FileWidthByte property refers to the number of bytes per line in the image. To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

[Visual Basic] imagekitcontrolname.File.FileWidthByte [= Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetFileWidthByte()
[VB.NET] imagekitcontrolname.File.FileWidthByte [= Integer ]
[C#.NET] imagekitcontrolname.File.FileWidthByte [= int ]

Property Value

The number of bytes per line in the image.

Explanation

The FileWidthByte property refers to the number of bytes per line in the image. To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

When using vector image formats the following properties are disabled; FileBitCount, FileImageSize, FileMaxPage, and FileWidthByte.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


FileXdpi (ImageKit Control/File Property)

ImageKit10 ActiveX

FileXdpi (ImageKit Control/ File Property)

The FileXdpi property refers to the horizontal resolution of the image. (number of pixels per horizontal inch). To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

[Visual Basic] imagekitcontrolname.File.FileXdpi [= Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetFileXdpi()
[VB.NET] imagekitcontrolname.File.FileXdpi [= Short ]
[C#.NET] imagekitcontrolname.File.FileXdpi [= short ]

Property Value

The horizontal resolution of the image. (number of pixels per horizontal inch)

Explanation

The FileXdpi property refers to the horizontal resolution of the image. (number of pixels per horizontal inch). To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


FileYdpi (ImageKit Control/File Property)

ImageKit10 ActiveX

FileYdpi (ImageKit Control/ File Property)

The FileYdpi property refers to the vertical resolution of the image. (number of pixels per vertical inch). To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem methods.

[Visual Basic] imagekitcontrolname.File.FileYdpi [= Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetFileYdpi()
[VB.NET] imagekitcontrolname.File.FileYdpi [= Short ]
[C#.NET] imagekitcontrolname.File.FileYdpi [= short ]

Property Value

The vertical resolution of the image. (number of pixels per vertical inch)

Explanation

The FileYdpi property refers to the vertical resolution of the image. (number of pixels per vertical inch). To retrieve the value of this property, first execute the GetImageFileType or GetImageFileTypeMem method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


GifAnime (ImageKit Control/File Property)

ImageKit10 ActiveX

GifAnime (ImageKit Control/ File Property)

This property sets whether or not the GIF image is a multi-page GIF (GIF animation).
[Visual Basic] imagekitcontrolname.File.GifAnime[ = Boolean ]
[Visual C++] [ Bool = ]imagekitcontrolname.GetFile().GetGifAnime()
imagekitcontrolname.GetFile().SetGifAnime(BOOL Val)
[VB.NET] imagekitcontrolname.File.GifAnime[ = Boolean ]
[C#.NET] imagekitcontrolname.File.GifAnime[ = bool ]

Property Value

Value | Explanation
True | Multi-page GIF image (GIF animation)
False | Single image (Default)

Explanation

The GifAnime property sets whether or not the GIF image is a multi-page GIF (GIF animation). The default value is False. Set this property when saving an image as a multi-page GIF file.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


GifAnimeDelay (ImageKit Control/File Property)

ImageKit10 ActiveX

GifAnimeDelay (ImageKit Control/ File Property)

This property sets the length of time a single page of a mult-page GIF image is displayed
[Visual Basic] imagekitcontrolname.File.GifAnimeDelay[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetGifAnimeDelay()
imagekitcontrolname.GetFile().SetGifAnimeDelay(short Val)
[VB.NET] imagekitcontrolname.File.GifAnimeDelay[ = Short ]
[C#.NET] imagekitcontrolname.File.GifAnimeDelay[ = short ]

Property Value

The length of time after one page of a multi-page GIF image has been displayed and before the next page is displayed. (1/100 second units). The default value is 0.

Explanation

The GifAnimeDelay property sets the length of time a single page of a mult-page GIF image is displayed.

Set this property when saving an image in a muti-page GIF file. This property is only enabled if the GifAnime property is True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ImageHandleRawData (ImageKit Control/File Property)

ImageKit10 ActiveX

ImageHandleRawData (ImageKit Control/ File Property)

This property refers to the image handle of the raw image data

[Visual Basic] imagekitcontrolname.File.ImageHandleRawData[ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]imagekitcontrolname.GetFile().GetImageHandleRawData()
imagekitcontrolname.GetFile().SetImageHandleRawData(LONG_PTR Val)
[VB.NET] imagekitcontrolname.File.ImageHandleRawData[ = Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.File.ImageHandleRawData[ = int(x86) or long(x64) ]

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Property Value

The image handle of the raw image data.

Explanation

Th ImageHandleRawData property refers to the image handle of the raw image data

By executing the FileLoadAsRawData method, load raw image data and set its image handle in this property. By executing the FileSaveAsRawData method, you can save the raw image data to file.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences between ImageKit7/8

The property type has changed.


ImageHandleRawDataSize (ImageKit Control/File Property)

ImageKit10 ActiveX

ImageHandleRawDataSize (ImageKit Control/ File Property)

This property retrieves the size of the raw data referred to by the ImageHandleRawData property.

[Visual Basic] imagekitcontrolname.File.ImageHandleRawDataSize[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetImageHandleRawDataSize()
[VB.NET] imagekitcontrolname.File.ImageHandleRawDataSize[ = Integer ]
[C#.NET] imagekitcontrolname.File.ImageHandleRawDataSize[ = int ]

Reference

The size of the memory used by the raw image data (in bytes)

Explanation

The ImageHandleRawDataSize property retrieves the size of the raw data referred to by the ImageHandleRawData property.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


Information (ImageKit Control/File Property)

ImageKit10 ActiveX

Information (ImageKit Control/ File Property)

This property sets whether or not file information is displayed in the select file dialog.

[Visual Basic] imagekitcontrolname.File.Information[ = Boolean ]
[Visual C++] [ Bool = ]imagekitcontrolname.GetFile().GetInformation()
imagekitcontrolname.GetFile().SetInformation(BOOL Val)
[VB.NET] imagekitcontrolname.File.Information[ = Boolean ]
[C#.NET] imagekitcontrolname.File.Information[ = bool ]

Property Value

The mode when the select file dialog is initially displayed.

Value | Explanation
True | Displays file information (The checkbox for displaying file information is checked.)
False | Does not display file information (The checkbox for displaying file information is NOT checked.)

Explanation

The Information property sets whether or not file information is displayed in the select file dialog. The default value is False.

Regardless of the Information property value, if the ExtendedDialog property is True, it is possible to display the file information in the select file dialog after the OpenFileDialog method or the SaveFileDialog method has been executed.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Interlace (ImageKit Control/File Property)

ImageKit10 ActiveX

Interlace (ImageKit Control/ File Property)

This property sets interlacing when saving an image as a GIF or PNG image. By executing the GetImagefileType or GetImagefileTypeMem method, the Interlace property value can be retrieved.

[Visual Basic] imagekitcontrolname.File.Interlace[ = Boolean ]
[Visual C++] [ Bool = ]imagekitcontrolname.GetFile().GetInterlace()
imagekitcontrolname.GetFile().SetInterlace(BOOL Val)
[VB.NET] imagekitcontrolname.File.Interlace[ = Boolean ]
[C#.NET] imagekitcontrolname.File.Interlace[ = bool ]

Property Value

Value | Explanation
True | Interlace
False | Non interlace (Default)

Explanation

The Interlace property sets whether or not a PNG or GIF image is interlaced. The default value is False. Interlacing allows large images to be displayed gradually as the image is loading, as opposed to non-interlaced images that are displayed only after all the image data has been loaded.

This property should be set whenever an image is saved as a PNG or GIF image. To retrieve the value of the Interlace property, you must first execute the GetImagefileType or GetImagefileTypeMem method.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


JPEG2000CodeBlockHeight (ImageKit Control/File Property)

ImageKit10 ActiveX

JPEG2000CodeBlockHeight (ImageKit Control/ File Property)

This property sets the height of the JPEG2000 format code block size.

[Visual Basic] imagekitcontrolname.File.JPEG2000CodeBlockHeight [= Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetJPEG2000CodeBlockHeight()
imagekitcontrolname.GetFile().SetJPEG2000CodeBlockHeight(short Val)
[VB.NET] imagekitcontrolname.File.JPEG2000CodeBlockHeight [= Short ]
[C#.NET] imagekitcontrolname.File.JPEG2000CodeBlockHeight [= short ]

Property Value

The height of the JPEG2000 code block size.

Explanation

The JPEG2000CodeBlockHeight property sets or retrieves the height of the JPEG2000 format code block size. The default value is 0.

The JPEG2000 format code block size is measured by 2 to certain power (from 2 to 10). So setting the JPEG2000CodeBlockHeight property to 3 would mean the vertical code block size is 23 . This property value is used when images are saved in JPEG2000 file format.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


JPEG2000CodeBlockWidth (ImageKit Control/File Property)

ImageKit10 ActiveX

JPEG2000CodeBlockWidth (ImageKit Control/ File Property)

This property sets the width of the JPEG2000 format code block size.

[Visual Basic] imagekitcontrolname.File.JPEG2000CodeBlockWidth [= Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetJPEG2000CodeBlockWidth()
imagekitcontrolname.GetFile().SetJPEG2000CodeBlockWidth(short Val)
[VB.NET] imagekitcontrolname.File.JPEG2000CodeBlockWidth [= Short ]
[C#.NET] imagekitcontrolname.File.JPEG2000CodeBlockWidth [= short ]

Property Value

The width of the JPEG2000 code block size.

Explanation

The JPEG2000CodeBlockWidth property sets or retrieves the width of the JPEG2000 format code block size. The default value is 0.

The JPEG2000 format code block size is measured by 2 to certain power (from 2 to 10). So setting the JPEG2000CodeBlockWidth property to 3 would mean the horizontal code block size is 23 . This property value is used when images are saved in JPEG2000 file format.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


JPEG2000NumrResLevel (ImageKit Control/File Property)

ImageKit10 ActiveX

JPEG2000NumrResLevel (ImageKit Control/ File Property)

This property sets the level of the JPEG2000 format resolution.

[Visual Basic] imagekitcontrolname.File.JPEG2000NumrResLevel [= Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetJPEG2000NumrResLevel()
imagekitcontrolname.GetFile().SetJPEG2000NumrResLevel(short Val)
[VB.NET] imagekitcontrolname.File.JPEG2000NumrResLevel [= Short ]
[C#.NET] imagekitcontrolname.File.JPEG2000NumrResLevel [= short ]

Property Value

The resolution level (from 0)

Explanation

The JPEG2000NumrResLevel property sets the level of the JPEG2000 format resolution. The default value is 0.

This property value is used when images are saved in JPEG2000 file format.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


JPEG2000PrecinctHeight (ImageKit Control/File Property)

ImageKit10 ActiveX

JPEG2000PrecinctHeight (ImageKit Control/ File Property)

This property sets the height of the JPEG2000 format precinct size.

[Visual Basic] imagekitcontrolname.File.JPEG2000PrecinctHeight [= Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetJPEG2000PrecinctHeight()
imagekitcontrolname.GetFile().SetJPEG2000PrecinctHeight(short Val)
[VB.NET] imagekitcontrolname.File.JPEG2000PrecinctHeight [= Short ]
[C#.NET] imagekitcontrolname.File.JPEG2000PrecinctHeight [= short ]

Property Value

The height JPEG2000 precinct size

Explanation

The JPEG2000PrecinctHeight property sets or retrieves the height of the JPEG2000 format precinct size. The default value is 0.

The JPEG2000 format precinct size is measured by 2 to certain power (from 0 to 15). So setting the JPEG2000PrecinctHeight property to 3 would mean the vertical precinct size is 23. This property value is used when images are saved in JPEG2000 file format.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


JPEG2000PrecinctWidth (ImageKit Control/File Property)

ImageKit10 ActiveX

JPEG2000PrecinctWidth (ImageKit Control/ File Property)

This property sets the height of the JPEG2000 format precinct size.

[Visual Basic] imagekitcontrolname.File.JPEG2000PrecinctWidth [= Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetJPEG2000PrecinctWidth()
imagekitcontrolname.GetFile().SetJPEG2000PrecinctWidth(short Val)
[VB.NET] imagekitcontrolname.File.JPEG2000PrecinctWidth [= Short ]
[C#.NET] imagekitcontrolname.File.JPEG2000PrecinctWidth [= short ]

Property Value

The width JPEG2000 precinct size

Explanation

The JPEG2000PrecinctWidth property sets or retrieves the width of the JPEG2000 format precinct size. The default value is 0.

The JPEG2000 format precinct size is measured by 2 to certain power (from 0 to 15). So setting the JPEG2000PrecinctWidth property to 3 would mean the horizontal precinct size is 23. This property value is used when images are saved in JPEG2000 file format.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


JPEG2000Reversible (ImageKit Control/File Property)

ImageKit10 ActiveX

JPEG2000Reversible (ImageKit Control/ File Property)

This property sets whether or not the JPEG2000 lossless compression is reversible.

[Visual Basic] imagekitcontrolname.File.JPEG2000Reversible[ = Boolean ]
[Visual C++] [ Bool = ]imagekitcontrolname.GetFile().GetJPEG2000Reversible()
imagekitcontrolname.GetFile().SetJPEG2000Reversible(BOOL Val)
[VB.NET] imagekitcontrolname.File.JPEG2000Reversible[ = Boolean ]
[C#.NET] imagekitcontrolname.File.JPEG2000Reversible[ = bool ]

Property Value

Value | Explanation
True | The compression is reversible (default)
False | The compression is not reversible

Explanation

The JPEG2000Reversible property sets whether or not the JPEG2000 lossless compression is reversible. The default value is true. When true, file size will be bigger but since lossless compression is used there will be no degradation in image quality. When false, set the file size in the JPEG2000Size property

This property value is used when images are saved in JPEG2000 file format.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


JPEG2000Size (ImageKit Control/File Property)

ImageKit10 ActiveX

JPEG2000Size (ImageKit Control/ File Property)

This property sets the size of the file when saved in JPEG2000 format.

[Visual Basic] imagekitcontrolname.File.JPEG2000Size[ = Double ]
[Visual C++] [ double = ]imagekitcontrolname.GetFile().GetJPEG2000Size()
imagekitcontrolname.GetFile().SetJPEG2000Size(double Val)
[VB.NET] imagekitcontrolname.File.JPEG2000Size[ = Double ]
[C#.NET] imagekitcontrolname.File.JPEG2000Size[ = double ]

Property Value

The size of the saved image as a factor of the size of the uncompressed image.

Explanation

The JPEG2000Size property sets the size of the file when saved in JPEG2000 format.

When this property value is 0.01, for example, it means that the file size will be 1/100th the size of the uncompressed file. The default value is 0.1.

The JPEG2000Size property is enabled when the JPEG2000Reversible property is false. This property value is used when images are saved in JPEG2000 file format.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


JPEG2000TileHeight (ImageKit Control/File Property)

ImageKit10 ActiveX

JPEG2000TileHeight (ImageKit Control/ File Property)

This property sets the height of the JPEG2000 format tile size.

[Visual Basic] imagekitcontrolname.File.JPEG2000TileHeight [= Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetJPEG2000TileHeight()
imagekitcontrolname.GetFile().SetJPEG2000TileHeight(long Val)
[VB.NET] imagekitcontrolname.File.JPEG2000TileHeight [= Integer ]
[C#.NET] imagekitcontrolname.File.JPEG2000TileHeight [= int ]

Property Value

The height of the JPEG2000 tile size. (in pixels)

Explanation

The JPEG2000TileHeight property sets or retrieves the height of the JPEG2000 format tile size. The default value is 0.

This property value is used when images are saved in JPEG2000 file format.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


JPEG2000TileWidth (ImageKit Control/File Property)

ImageKit10 ActiveX

JPEG2000TileWidth (ImageKit Control/ File Property)

This property sets the width of the JPEG2000 format tile size.

[Visual Basic] imagekitcontrolname.File.JPEG2000TileWidth [= Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetJPEG2000TileWidth()
imagekitcontrolname.GetFile().SetJPEG2000TileWidth(long Val)
[VB.NET] imagekitcontrolname.File.JPEG2000TileWidth [= Integer ]
[C#.NET] imagekitcontrolname.File.JPEG2000TileWidth [= int ]

Property Value

The width of the JPEG2000 tile size. (in pixels)

Explanation

The JPEG2000TileWidth property sets or retrieves the width of the JPEG2000 format tile size. The default value is 0.

This property value is used when images are saved in JPEG2000 file format.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


JpegQuality (ImageKit Control/File Property)

ImageKit10 ActiveX

JpegQuality (ImageKit Control/ File Property)

This property sets the quality coefficient when an image is saved in JPEG or FPX (JPEG compression) file formats.

[Visual Basic] imagekitcontrolname.File.JpegQuality [= Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetJpegQuality()
imagekitcontrolname.GetFile().SetJpegQuality(short Val)
[VB.NET] imagekitcontrolname.File.JpegQuality [= Short ]
[C#.NET] imagekitcontrolname.File.JpegQuality [= short ]

Property Value

0 to 100 (75 is recommended).

Explanation

The JpegQuality property sets the quality coefficient when an image is saved in JPEG or FPX (JPEG compression) file formats.

Default value is 75. As this value decreases the size of the image file decreases but so does the quality of the image. Conversely, as the quality coefficient increase the quality of the iamge and the image file size also increase.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


JpegSubsamp (ImageKit Control/File Property)

ImageKit10 ActiveX

JpegSubsamp (ImageKit Control/ File Property)

This property sets the YCrCb subsampling ratios when saving an image in JPEG format.

[Visual Basic] imagekitcontrolname.File.JpegSubsamp [= JpegSubsampConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetJpegSubsamp()
imagekitcontrolname.GetFile().SetJpegSubsamp(long Val)
[VB.NET] imagekitcontrolname.File.JpegSubsamp [= ImageKit10(A)Lib.JpegSubsampConstants ]
[C#.NET] imagekitcontrolname.File.JpegSubsamp [= ImageKit10(A)Lib.JpegSubsampConstants ]

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Y:Cr:Cb 4:1:1
1 | Y:Cr:Cb 4:2:2
2 | Y:Cr:Cb 4:4:4

The following constants can also be used (ik411 = 0, ik422 = 1, ik444 = 2)

Explanation

The JpegSubsamp property sets the YCrCb subsampling ratios when saving an image in JPEG format. Since the Y (luminance or brightness) plane contains more important information about the image than does the CrCb (chrominance or color) planes, it is possible to reduce the size of the CrCb planes without a great sacrifice in quality thereby reducing the size of the image. A ratio for Y:Cr:Cb of 4:4:4 represents no reduction in size whereas a ratio of 4:1:1 represents a reduction in size of 50%.

This property is enabled when the image is 24 bit color and the image is saved as a JPEG image.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


LastAccessTimeDay (ImageKit Control/File Property)

ImageKit10 ActiveX

LastAccessTimeDay (ImageKit Control/ File Property)

This property refers to the day when the file was last accessed. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastAccessTimeDay [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastAccessTimeDay()
[VB.NET] imagekitcontrolname.File.LastAccessTimeDay[ = Short ]
[C#.NET] imagekitcontrolname.File.LastAccessTimeDay[ = short ]

Reference

the day when the file was last accessed.

Explanation

The LastAccessTimeDay property refers to the day when the file was last accessed. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


LastAccessTimeHour (ImageKit Control/File Property)

ImageKit10 ActiveX

LastAccessTimeHour (ImageKit Control/ File Property)

This property refers to the hour when the file was last accessed. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastAccessTimeHour [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastAccessTimeHour()
[VB.NET] imagekitcontrolname.File.LastAccessTimeHour[ = Short ]
[C#.NET] imagekitcontrolname.File.LastAccessTimeHour[ = short ]

Reference

The hour when the file was last accessed.

Explanation

The LastAccessTimeHour property refers to the hour when the file was last accessed. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


LastAccessTimeMinute (ImageKit Control/File Property)

ImageKit10 ActiveX

LastAccessTimeMinute (ImageKit Control/ File Property)

This property refers to the minute when the file was last accessed. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastAccessTimeMinute [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastAccessTimeMinute()
[VB.NET] imagekitcontrolname.File.LastAccessTimeMinute[ = Short ]
[C#.NET] imagekitcontrolname.File.LastAccessTimeMinute[ = short ]

Reference

The number of minutes when the file was last accessed

Explanation

The LastAccessTimeMinute property refers to the number of minutes when the file was last accessed. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


LastAccessTimeMonth (ImageKit Control/File Property)

ImageKit10 ActiveX

LastAccessTimeMonth (ImageKit Control/ File Property)

This property refers to the month when the file was last accessed. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastAccessTimeMonth [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastAccessTimeMonth()
[VB.NET] imagekitcontrolname.File.LastAccessTimeMonth[ = Short ]
[C#.NET] imagekitcontrolname.File.LastAccessTimeMonth[ = short ]

Reference

The month when the file was last accessed.

Explanation

The LastAccessTimeMonth property refers to the month when the file was last accessed. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


LastAccessTimeSecond (ImageKit Control/File Property)

ImageKit10 ActiveX

LastAccessTimeSecond (ImageKit Control/ File Property)

This property refers to the seconds when the file was last accessed. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastAccessTimeSecond [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastAccessTimeSecond()
[VB.NET] imagekitcontrolname.File.LastAccessTimeSecond[ = Short ]
[C#.NET] imagekitcontrolname.File.LastAccessTimeSecond[ = short ]

Reference

The number of seconds when the file was last accessed

Explanation

The LastAccessTimeSecond property refers to the number of seconds when the file was last accessed. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


LastAccessTimeYear (ImageKit Control/File Property)

ImageKit10 ActiveX

LastAccessTimeYear(ImageKit Control/File Property)

This property refers to the year when the file was last accessed. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastAccessTimeYear [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastAccessTimeYear()
[VB.NET] imagekitcontrolname.File.LastAccessTimeYear[ = Short ]
[C#.NET] imagekitcontrolname.File.LastAccessTimeYear[ = short ]

Reference

The year when the file was last accessed

Explanation

The LastAccessTimeYear property refers to the year when the file was last accessed. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


LastWriteTimeDay (ImageKit Control/File Property)

ImageKit10 ActiveX

LastWriteTimeDay (ImageKit Control/ File Property)

This property refers to the day when the file was last modified. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastWriteTimeDay[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastWriteTimeDay()
[VB.NET] imagekitcontrolname.File.LastWriteTimeDay[ = Short ]
[C#.NET] imagekitcontrolname.File.LastWriteTimeDay[ = short ]

Reference

The day when the file was last modified

Explanation

The LastWriteTimeDay property refers to the day when the file was last modified. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


LastWriteTimeHour (ImageKit Control/File Property)

ImageKit10 ActiveX

LastWriteTimeHour (ImageKit Control/ File Property)

This property refers to the hour when the file was last modified. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastWriteTimeHour [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastWriteTimeHour()
[VB.NET] imagekitcontrolname.File.LastWriteTimeHour[ = Short ]
[C#.NET] imagekitcontrolname.File.LastWriteTimeHour[ = short ]

Reference

The hour when the file was last modified

Explanation

The LastWriteTimeHour property refers to the hour when the file was last modified. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


LastWriteTimeSecond (ImageKit Control/File Property)

ImageKit10 ActiveX

LastWriteTimeSecond (ImageKit Control/ File Property)

This property refers to the seconds when the file was last modified. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastWriteTimeSecond [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastWriteTimeSecond()
[VB.NET] imagekitcontrolname.File.LastWriteTimeSecond[ = Short ]
[C#.NET] imagekitcontrolname.File.LastWriteTimeSecond[ = short ]

Reference

The number of seconds when the file was last modified

Explanation

The LastWriteTimeSecond property refers to the number of seconds when the file was last modified. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


LastWriteTimeYear (ImageKit Control/File Property)

ImageKit10 ActiveX

LastWriteTimeYear (ImageKit Control/ File Property)

This property refers to the year when the file was last modified. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastWriteTimeYear [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastWriteTimeYear()
[VB.NET] imagekitcontrolname.File.LastWriteTimeYear[ = Short ]
[C#.NET] imagekitcontrolname.File.LastWriteTimeYear[ = short ]

Reference

The year when the file was last modified

Explanation

The LastWriteTimeYear property refers to the year when the file was last modified. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


LoadPage (ImageKit Control/File Property)

ImageKit10 ActiveX

LoadPage (ImageKit Control/ File Property)

This property sets the page to be loaded when a multi-page image file (FPX, GIF, or TIFF) image is loaded

[Visual Basic] imagekitcontrolname.File.LoadPage[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLoadPage()
imagekitcontrolname.GetFile().SetLoadPage(short Val)
[VB.NET] imagekitcontrolname.File.LoadPage[ = Short ]
[C#.NET] imagekitcontrolname.File.LoadPage[ = short ]

Property Value

The number of the page of a mutli-page image file.

The first page is 0. (For FPX format the base image is also 0)

Explanation

The LoadPage property sets the page to be loaded when a multi-page image file (FPX, GIF, or TIFF) image is loaded.

In the GIF and TIFF file formats, numerous images can be stored in one multi-page image file. In the FPX file format, images of different resolutions can be stored in one multi-resolution image file.

The LoadPage property is used when loading a particular page from a multi-page image file into the memory. If there is no page set in the LoadPage property, after executing the LoadFile method or the LoadFileMem method, False(0) is returned.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Message (ImageKit Control/File Property)

ImageKit10 ActiveX

Message (ImageKit Control/ File Property)

The Message property displays text in the center of the progress dialog.

[Visual Basic] imagekitcontrolname.File.Message[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetMessage()
imagekitcontrolname.GetFile().SetMessage(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Message[ = String ]
[C#.NET] imagekitcontrolname.File.Message[ = String ]

Property Value

A string value that is displayed in the center in the progress dialog

Explanation

The Message property displays text in the center of the progress dialog. If the ButtonName, Caption, and Message properties have not been set, the progress dialog box will not appear and the Progress event will be generated. On the other hand, if text has been set in any one of these properties, the progress dialog box will appear and the Progress event will not be generated.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


PalBlue (ImageKit Control/File Property)

ImageKit10 ActiveX

PalBlue (ImageKit Control/ File Property)

This property sets the blue component (RGB values) of the transparent color when saving an image as a GIF or PNG image.

[Visual Basic] imagekitcontrolname.File.PalBlue[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetPalBlue()
imagekitcontrolname.GetFile().SetPalBlue(short Val)
[VB.NET] imagekitcontrolname.File.PalBlue[ = Short ]
[C#.NET] imagekitcontrolname.File.PalBlue[ = short ]

Reference

The values can range from 0 to 255

The first page is 0. (For FPX format the base image is also 0)

Explanation

The PalBlue property sets the blue component (RGB values) of the transparent color when saving an image as a GIF or PNG image.

When saving an image as a GIF or PNG image, a color can be transparent by setting the appropriate RGB values in each of the PalBlue, PalGreen, and PalRed properties. The values of these properties can be set directly, however, it is oftentimes more convenient to retrieve the RGB values of the color that you want to be transparent directly from the displayed image. The ImageKit Control also has PalBlue, PalGreen, and PalRed properties that can retrieve the RGB values from an image being displayed. Once retrieved, the exact RGB values can be passed into the file control PalBlue, PalGreen, and PalRed properties. For details about the ImageKit Control PalBlue, PalGreen, and PalRed properties, please refer to the ImageKit Control reference section.

This property value is valid when the Transparent property is True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


PalGreen (ImageKit Control/File Property)

ImageKit10 ActiveX

PalGreen (ImageKit Control/ File Property)

This property sets the green component (RGB values) of the transparent color when saving an image as a GIF or PNG image.

[Visual Basic] imagekitcontrolname.File.PalGreen [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetPalGreen()
imagekitcontrolname.GetFile().SetPalGreen(short Val)
[VB.NET] imagekitcontrolname.File.PalGreen[ = Short ]
[C#.NET] imagekitcontrolname.File.PalGreen[ = short ]

Reference

The values can range from 0 to 255

The first page is 0. (For FPX format the base image is also 0)

Explanation

The PalGreen property sets the Green component (RGB values) of the transparent color when saving an image as a GIF or PNG image.

When saving an image as a GIF or PNG image, a color can be transparent by setting the appropriate RGB values in each of the PalBlue, PalGreen, and PalRed properties. The values of these properties can be set directly, however, it is oftentimes more convenient to retrieve the RGB values of the color that you want to be transparent directly from the displayed image. The ImageKit Control also has PalBlue, PalGreen, and PalRed properties that can retrieve the RGB values from an image being displayed. Once retrieved, the exact RGB values can be passed into the file control PalBlue, PalGreen, and PalRed properties. For details about the ImageKit Control PalBlue, PalGreen, and PalRed properties, please refer to the ImageKit Control reference section.

This property value is valid when the Transparent property is True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


PalRed (ImageKit Control/File Property)

ImageKit10 ActiveX

PalRed (ImageKit Control/ File Property)

This property sets the red component (RGB values) of the transparent color when saving an image as a GIF or PNG image.

[Visual Basic] imagekitcontrolname.File.PalRed [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetPalRed()
imagekitcontrolname.GetFile().SetPalRed(short Val)
[VB.NET] imagekitcontrolname.File.PalRed[ = Short ]
[C#.NET] imagekitcontrolname.File.PalRed[ = short ]

Reference

The values can range from 0 to 255

The first page is 0. (For FPX format the base image is also 0)

Explanation

The PalRed property sets the Red component (RGB values) of the transparent color when saving an image as a GIF or PNG image.

When saving an image as a GIF or PNG image, a color can be transparent by setting the appropriate RGB values in each of the PalBlue, PalGreen, and PalRed properties. The values of these properties can be set directly, however, it is oftentimes more convenient to retrieve the RGB values of the color that you want to be transparent directly from the displayed image. The ImageKit Control also has PalBlue, PalGreen, and PalRed properties that can retrieve the RGB values from an image being displayed. Once retrieved, the exact RGB values can be passed into the file control PalBlue, PalGreen, and PalRed properties. For details about the ImageKit Control PalBlue, PalGreen, and PalRed properties, please refer to the ImageKit Control reference section.

This property value is valid when the Transparent property is True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


PngAlphaChannel (ImageKit Control/File Property)

ImageKit10 ActiveX

PngAlphaChannel (ImageKit Control/ File Property)

This property sets the alpha channel in a PNG image

[Visual Basic] imagekitcontrolname.File.PngAlphaChannel[ = Boolean ]
[Visual C++] [ Bool = ]imagekitcontrolname.GetFile().GetPngAlphaChannel()
imagekitcontrolname.GetFile().SetPngAlphaChannel(BOOL Val)
[VB.NET] imagekitcontrolname.File.PngAlphaChannel[ = Boolean ]
[C#.NET] imagekitcontrolname.File.PngAlphaChannel[ = bool ]

Property Value

Value | Explanation
True | Sets the alpha channel as an independent plane (RGBA format)
False | Incorporates the alpha channel to produce a RGB image

Explanation

The PngAlphaChannel property sets the alpha channel in a PNG image. The alpha channel is not incorporated to produce a 24 bit rbg image but rather set as an independent alpha plane (RGBA format). Default value is false.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Preview (ImageKit Control/File Property)

ImageKit10 ActiveX

Preview (ImageKit Control/ File Property)

This property sets the preview function in the file selection dialog box

[Visual Basic] imagekitcontrolname.File.Preview[ = Boolean ]
[Visual C++] [ Bool = ]imagekitcontrolname.GetFile().GetPreview()
imagekitcontrolname.GetFile().SetPreview(BOOL Val)
[VB.NET] imagekitcontrolname.File.Preview[ = Boolean ]
[C#.NET] imagekitcontrolname.File.Preview[ = bool ]

Property Value

The mode for the initial display of the file selection dialog box

Value | Explanation
True | The preview function is enabled
False | The preview function is disabled

Explanation

The Preview property sets the preview function in the file selection dialog box. Default value is false.

Regardless of the Preview property value, if the ExtendedDialog property is True, it is possible to display the file preview in the select file dialog after the OpenFileDialog method or the SaveFileDialog method has been executed.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


SaveFileDlgFileType (ImageKit Control/File Property)

ImageKit10 ActiveX

SaveFileDlgFileType (ImageKit Control/ File Property)

This property retrieves the file type that was selected when a file was saved with the SaveFileDialog method.

[Visual Basic] imagekitcontrolname.File.SaveFileDlgFileType[= SaveFileDlgFileTypeConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetSaveFileDlgFileType()
[VB.NET] imagekitcontrolname.File.SaveFileDlgFileType[= ImageKit10(A)Lib.SaveFileDlgFileTypeConstants ]
[C#.NET] imagekitcontrolname.File.SaveFileDlgFileType[= ImageKit10(A)Lib.SaveFileDlgFileTypeConstants ]

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
1 | BMP
2 | JPEG
3 | GIF
4 | TIFF
5 | PNG
6 | FPX
7 | PCX
8 | WMF
9 | EMF
10 | DXF
11 | SVG
12 | JPEG2000(Part1)
13 | JPEG2000(Code Stream)
14 | SXF(p21)
15 | SXF(sfc)

The following constants can also be used
                (ikSaveDlgBMP = 1, ikSaveDlgJPEG = 2, ikSaveDlgGIF = 3, ikSaveDlgTIFF = 4,
                ikSaveDlgPNG = 5, ikSaveDlgFPX = 6, ikSaveDlgPCX = 7, ikSaveDlgWMF = 8,
                ikSaveDlgEMF = 9, ikSaveDlgDXF = 10, ikSaveDlgSVG = 11, ikSaveDlgJPEG2000 = 12,
                ikSaveDlgJPEG2000Stream = 13, ikSaveDlgSXFP21 = 14, ikSaveDlgSXFSFC = 15)

Explanation

The SaveFileDlgFileType property retrieves the file type that was selected when a file was saved with the SaveFileDialog method. Default value is 0.

Note: If "All Files" was selected when the file was saved with the SaveFileDialog method, then 0 is returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


TiffAppend (ImageKit Control/File Property)

ImageKit10 ActiveX

TiffAppend (ImageKit Control/ File Property)

This property sets whether or not an image saved in TIFF format is appended to an existing multi-page TIFF image or saved as a separate image.

[Visual Basic] imagekitcontrolname.File.TiffAppend[ = Boolean ]
[Visual C++] [ Bool = ]imagekitcontrolname.GetFile().GetTiffAppend()
imagekitcontrolname.GetFile().SetTiffAppend(BOOL Val)
[VB.NET] imagekitcontrolname.File.TiffAppend[ = Boolean ]
[C#.NET] imagekitcontrolname.File.TiffAppend[ = bool ]

Property Value

Value | Explanation
True | Multi-page TIFF image (The image will be appended to the end of an existing TIFF image)
False | Single TIFF image (Each image file contains only one image) Default

Explanation

The TiffAppend property sets whether or not an image saved in TIFF format is appended to an existing multi-page TIFF image or saved as a separate image. The default value is False.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


TiffColorSpace (ImageKit Control/File Property)

ImageKit10 ActiveX

TiffColorSpace (ImageKit Control/ File Property)

This property defines the color space when saving images in TIFF file format.

[Visual Basic] imagekitcontrolname.File.TiffColorSpace[= TiffColorSpaceConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetTiffColorSpace()
imagekitcontrolname.GetFile().SetTiffColorSpace(long Val)
[VB.NET] imagekitcontrolname.File.TiffColorSpace[= ImageKit10(A)Lib.TiffColorSpaceConstants ]
[C#.NET] imagekitcontrolname.File.TiffColorSpace[= ImageKit10(A)Lib.TiffColorSpaceConstants ]

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | RGB (default)
1 | CMYK

The following constants can also be used (ikRGB = 0, ikCMYK = 1)

Explanation

The TiffColorSpace property defines the color space when saving images in TIFF file format. The default value is 0. This property is enabled when the image to be saved is 24 or 32 bit color. If the TiffColorSpace property is set to 1 (CMYK) then the image file will be converted to 32 bit. This property can be set when using Uncompressed TIFF, PACKBITS or LZW file formats.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


TiffSaveOneStrip (ImageKit Control/File Property)

ImageKit10 ActiveX

TiffSaveOneStrip (ImageKit Control/ File Property)

This property sets whether or not a TIFF image is saved as one strip or multiple strips.

[Visual Basic] imagekitcontrolname.File.TiffSaveOneStrip[ = Boolean ]
[Visual C++] [ Bool = ]imagekitcontrolname.GetFile().GetTiffSaveOneStrip()
imagekitcontrolname.GetFile().SetTiffSaveOneStrip(BOOL Val)
[VB.NET] imagekitcontrolname.File.TiffSaveOneStrip[ = Boolean ]
[C#.NET] imagekitcontrolname.File.TiffSaveOneStrip[ = bool ]

Property Value

Value | Explanation
True | The TIFF image is saved in a single strip
False | The TIFF image is saved in multiple strips

Explanation

The TiffSaveOneStrip property sets whether or not a TIFF image is saved as one strip or multiple strips. The default value is False. This property is enabled for all TIFF file formats except TIFF GROUP4. (GROUP4 files must be single strip)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Transparent (ImageKit Control/File Property)

ImageKit10 ActiveX

Transparent (ImageKit Control/ File Property)

This property sets whether or not the transparent color in GIF and PNG images is enabled.

[Visual Basic] imagekitcontrolname.File.Transparent[ = Boolean ]
[Visual C++] [ Bool = ]imagekitcontrolname.GetFile().GetTransparent()
imagekitcontrolname.GetFile().SetTransparent(BOOL Val)
[VB.NET] imagekitcontrolname.File.Transparent[ = Boolean ]
[C#.NET] imagekitcontrolname.File.Transparent[ = bool ]

Property Value

Value | Explanation
True | The transparent color is enabled
False | The transparent color is disabled (Default)

Explanation

The Transparent property sets whether or not the transparent color, as set in the PalBlue, PalGreen, and PalRed properties, is enabled in GIF or PNG images. The default value is False

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


VectorHeight (ImageKit Control/File Property)

ImageKit10 ActiveX

VectorHeight (ImageKit Control/ File Property)

This property sets the height of a vector image when the image is loaded

[Visual Basic] imagekitcontrolname.File.VectorHeight [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetVectorHeight()
imagekitcontrolname.GetFile().SetVectorHeight(long Val)
[VB.NET] imagekitcontrolname.File.VectorHeight[ = Integer ]
[C#.NET] imagekitcontrolname.File.VectorHeight[ = int ]

Property Value

The VectorHeight property sets the height of the vector image (in pixels). Default value is 0.

Explanation

The VectorHeight property property sets the height of a vector image when the image is loaded.

For DXF and SXF images

If the VectorHeight property or the VectorWidth property is set to a value of 0 or less, 600 will be used.

For EMF, SVG, and WMF images

If the VectorHeight property or the VectorWidth property is set to a value of 0 or less, the size defined in each file header will be used.

Note: When the vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the VectorHeight and VectorWidth properties.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


VectorWidth (ImageKit Control/File Property)

ImageKit10 ActiveX

VectorWidth (ImageKit Control/ File Property)

This property sets the Width of a vector image when the image is loaded

[Visual Basic] imagekitcontrolname.File.VectorWidth[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetVectorWidth()
imagekitcontrolname.GetFile().SetVectorWidth(long Val)
[VB.NET] imagekitcontrolname.File.VectorWidth[ = Integer ]
[C#.NET] imagekitcontrolname.File.VectorWidth[ = int ]

Property Value

The VectorWidth property sets the Width of the vector image (in pixels). Default value is 0.

Explanation

The VectorWidth property property sets the Width of a vector image when the image is loaded.

For DXF and SXF images

If the VectorHeight property or the VectorWidth property is set to a value of 0 or less, 800 will be used.

For EMF, SVG, and WMF images

If the VectorHeight property or the VectorWidth property is set to a value of 0 or less, the size defined in each file header will be used.

Note: When the vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the VectorHeight property and the VectorWidth properties.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ImageKit File Methods

Custom Methods | Explanation
CMYKBmpPlaneFileLoad | Loads a bmp file that has been saved in seperate CMYK planes
CMYKBmpPlaneFileSave | Saves a raster image into seperate CMYK planes. The saved images are in BMP format
FileLoadAsRawData | Loads raw image data from a file
FileSaveAsRawData | Saves raw image data to a file
FTPConnect | Connects to the FTP server
FTPDeleteFile | Deletes an existing file from the FTP server. (Includes connecting to and disconnecting from server)
FTPDeleteFileEx | Deletes an existing file from the FTP server
FTPDisconnect | Disconnects from the FTP server
FTPGetFile | Retrieves a file from the FTP server. (Includes connecting to and disconnecting from server)
FTPGetFileEx | Retrieves a file from the FTP server
FTPPutFile | Transfers a file to the FTP server. (Includes connecting to and disconnecting from server)
FTPPutFileEx | Transfers a file to the FTP server
FTPRenameFile | Renames an existing file on the FTP server. (Includes connecting to and disconnecting from server)
FTPRenameFileEx | Renames an existing file on the FTP server
GetImageFileType | Retrieves various information aobut the image file
GetImageFileTypeMem | Retrieves various information from raw image data
HTTPConnect | Connects to the HTTP(S) server
HTTPDisconnect | Disconnects from the HTTP(S) server
HTTPGetFile | Retrieves a file from the HTTP server. (Includes connecting to and disconnecting from server)
HTTPGetFileEx | Retrieves a file from the HTTP server
HTTPPutFile | Transfers a file to the HTTP server. (Includes connecting to and disconnecting from server)
HTTPPutFileEx | Transfers a file to the HTTP server
HTTPSGetFile | Retrieves a file from the HTTPS server. (Includes connecting to and disconnecting from server)
HTTPSPutFile | Transfers a file to the HTTPS server. (Includes connecting to and disconnecting from server)
LoadFile | Loads image data from a file
LoadFileMem | Loads DIB image data from raw data
LoadFromStream | Loads image data from a stream
OpenFileDialog | Opens the "Open" file dialog box
RGBBmpPlaneFileLoad | Loads a bmp file that has been saved in seperate RGB planes
RGBBmpPlaneFileSave | Saves a raster image into seperate RGB planes. The saved images are in BMP format
SaveFile | Saves image data to file
SaveFileDialog | Opens the "Save" file dialog box
SaveFileMem | Saves image data as raw data
SaveToStream | Saves image data to a stream
YCCBmpPlaneFileLoad | Loads a bmp file that has been saved in seperate YCrCb planes
YCCBmpPlaneFileSave | Saves a raster image into seperate YCrCb planes. The saved images are in BMP format


CMYKBmpPlaneFileLoad (ImageKit Control/File Method)

This method loads a bmp file that has been saved in seperate CMYK planes

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.CMYKBmpPlaneFileLoad(CFileName As String, MFileName As String, YFileName As String, KFileName As String)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().CMYKBmpPlaneFileLoad(LPCTSTR CFileName, LPCTSTR MFileName, LPCTSTR YFileName, LPCTSTR KFileName)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.CMYKBmpPlaneFileLoad(CFileName As String, MFileName As String, YFileName As String, KFileName As String)
[C#.NET] [ bool = ]imagekitcontrolname.File.CMYKBmpPlaneFileLoad(string CFileName, string MFileName, string YFileName, string KFileName)

Parameters

Name | Explanation
CFileName | The filename of the C plane image to be loaded
MFileName | The filename of the M plane image to be loaded
YFileName | The filename of the Y plane image to be loaded
KFileName | The filename of the K plane image to be loaded

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The CMYKBmpPlaneFileLoad method loads a bmp file that has been saved in seperate CMYK planes. The individual CMYK plane images are 8 bit grayscale and the output image is 24 bit color.

If successful, the output image will be set in the ImageHandle property or the Layer(LayerNo).ImageHandle property according to the value set in the LayerNo property.


CMYKBmpPlaneFileSave (ImageKit Control/File Method)

This method saves a raster image into seperate CMYK planes. The saved images are in BMP format

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.CMYKBmpPlaneFileSave(CFileName As String, MFileName As String, YFileName As String, KFileName As String, ImageHandle As LONG_PTR)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().CMYKBmpPlaneFileSave(LPCTSTR CFileName, LPCTSTR MFileName, LPCTSTR YFileName, LPCTSTR KFileName, LONG_PTR ImageHandle)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.CMYKBmpPlaneFileSave(CFileName As String, MFileName As String, YFileName As String, KFileName As String, ImageHandle As Integer(x86) or Long(x64))
[C#.NET] [ bool = ]imagekitcontrolname.File.CMYKBmpPlaneFileSave(string CFileName, string MFileName, string YFileName, string KFileName, int(x86) or long(x64) ImageHandle)

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
CFileName | The filename of the saved C plane image
MFileName | The filename of the saved M plane image
YFileName | The filename of the saved Y plane image
KFileName | The filename of the saved K plane image
ImageHandle | The image handle of the image to be saved in 4 seperate CMYK planes

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The CMYKBmpPlaneFileSave method saves a raster image into seperate CMYK planes. The saved images are in BMP format.

When the ImageHandle parameter contains a valid image handle

The image set in the ImageHandle parameter will be saved as four seperate images each corresponding to the various CMYK planes.

When the ImageHandle parameter contains 0

The image referred to by the LayerNo property (either the image set in the ImageHandle property or the image set in the Layer(LayerNo).ImageHandle property as the case may be) will be saved as four seperate images each corresponding to the various CMYK planes.

Note: When the LayerNo property is -1, the image set in the ImageHandle property is enabled. When the LayerNo property has values from 0 to 99, the image set in the Layer(LayerNo).ImageHandle property is enabled.

The input image (that image set in the ImageHandle parameter) must be 24 bit color. The output images (corresponding to the various CMYK planes) will be 8 bit grayscale.

Differences between ImageKit7/8

The ImageHandle argument type has changed.


FileLoadAsRawData (ImageKit Control/File Method)

This method loads image data from a file as raw data.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FileLoadAsRawData()
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FileLoadAsRawData()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FileLoadAsRawData()
[C#.NET] [ bool = ]imagekitcontrolname.File.FileLoadAsRawData()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FileLoadAsRawData method loads image data from a file as raw data.

The file set in the FileName property will be loaded and the raw image data set in the ImageHandleRawData property.

To display a caption, message, and button in the Progress dialog box when loading files, set the Caption, Message and ButtonName properties.


FileSaveAsRawData (ImageKit Control/File Method)

This method saves raw image data to a file.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FileSaveAsRawData()
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FileSaveAsRawData()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FileSaveAsRawData()
[C#.NET] [ bool = ]imagekitcontrolname.File.FileSaveAsRawData()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FileSaveAsRawData method saves raw image data to a file.

The raw image data set in the ImageHandleRawData property will be saved in a file determined by the FileName property.

To display a caption, message, and button in the Progress dialog box when loading files, set the Caption, Message and ButtonName properties.


FTPConnect (ImageKit Control/File Method)

This method connects to the FTP server

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FTPConnect(ServerName As String, ProxyName As String, PortNo As Integer, PassiveMode As Boolean, UserName As String, Password As String)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FTPConnect(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL PassiveMode, LPCTSTR UserName, LPCTSTR Password)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FTPConnect(ServerName As String, ProxyName As String, PortNo As Short, PassiveMode As Boolean, UserName As String, Password As String)
[C#.NET] [ bool = ]imagekitcontrolname.File.FTPConnect(string ServerName, string ProxyName, short PortNo, bool PassiveMode, string UserName, string Password)

Parameters

Name | Explanation
ServerName | The name of the FTP server or IPAddress
ProxyName | The Proxy Server IP Address
PortNo | Port Number (default is 21)
PassiveMode | Enables passive mode connectivity: False(0) = Active Mode Connection; True(nonzero) = Passive Mode Connection
UserName | The username needed to access the FTP server
Password | The password needed to access the FTP server

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FTPConnect method connects to the FTP server. This method can only be executed from the client computer. It does not operate on the server. After this method has connected to the FTP server, it is possible to use the FTPDeleteFileEx, FTPGetFileEx, FTPPutFileEx, and FTPRenameFileEx methods.

When not using a proxy server set the ProxyName to an empty string, to vbNullString(Visual Basic), to NULL(Visual C++), to Nothing(VB.NET), or null(C#.NET).


FTPDeleteFile (ImageKit Control/File Method)

This method deletes an existing file from the FTP server. (It includes connecting to and disconnecting from the server.)

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FTPDeleteFile(ServerName As String, ProxyName As String, PortNo As Integer, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FTPDeleteFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL PassiveMode, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FTPDeleteFile(ServerName As String, ProxyName As String, PortNo As Short, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String)
[C#.NET] [ bool = ]imagekitcontrolname.File.FTPDeleteFile(string ServerName, string ProxyName, short PortNo, bool PassiveMode, string RemoteFilePath, string UserName, string Password)

Parameters

Name | Explanation
ServerName | The name of the FTP server or IPAddress
ProxyName | The Proxy Server IP Address
PortNo | Port Number (default is 21)
PassiveMode | Enables passive mode connectivity: False(0) = Active Mode Connection; True(nonzero) = Passive Mode Connection
RemoteFilePath | The name and path of the file to be deleted
UserName | The username needed to access the FTP server
Password | The password needed to access the FTP server

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FTPDeleteFile method deletes an existing file from the FTP server. (It includes connecting to and disconnecting from the server.) This method can only be executed from the client computer. It does not operate on the server.

When not using a proxy server set the ProxyName to an empty string, to vbNullString(Visual Basic), to NULL(Visual C++), to Nothing(VB.NET), or null(C#.NET).


FTPDeleteFileEx (ImageKit Control/File Method)

This method deletes an existing file from the FTP server

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FTPDeleteFile(RemoteFilePath As String)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FTPDeleteFile(LPCTSTR RemoteFilePath)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FTPDeleteFile(RemoteFilePath As String)
[C#.NET] [ bool = ]imagekitcontrolname.File.FTPDeleteFile(string RemoteFilePath)

Parameters

Name | Explanation
RemoteFilePath | The name and path of the file to be deleted

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FTPDeleteFileEx method deletes an existing file from the FTP server. This method can only be used after the FTPConnect method has connected to the FTP server. This method can only be executed from the client computer. It does not operate on the server.

Example Code:

Visual Basic
If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub
Call ImageKit1.File.FTPDeleteFileEx("images/001.jpg")
Call ImageKit1.File.FTPDisconnect()

Visual C++
if (ImageKit1.GetFile().FTPConnect("www.newtone.co.jp", "", 21, TRUE, "User",
                "Password") == FALSE) return;
ImageKit1.GetFile().FTPDeleteFileEx("images/001.jpg");
ImageKit1.GetFile().FTPDisconnect();

VB.NET
If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub
ImageKit1.File.FTPDeleteFileEx("images/001.jpg")
ImageKit1.File.FTPDisconnect()

C#.NET
if(ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") == false) return;
ImageKit1.File.FTPDeleteFileEx("images/001.jpg");
ImageKit1.File.FTPDisconnect();


FTPDisconnect (ImageKit Control/File Method)

This method disconnects to the FTP server.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FTPDisconnect
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FTPDisconnect()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FTPDisconnect()
[C#.NET] [ bool = ]imagekitcontrolname.File.FTPDisconnect()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FTPDisconnect method disconnects from the FTP server connected by the FTPConnect method. This method can only be executed from the client computer. It does not operate on the server.


FTPGetFile (ImageKit Control/File Method)

This method retrieves an existing file from the FTP server. (It includes connecting to and disconnecting from the server.)

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FTPGetFile(ServerName As String, ProxyName As String, PortNo As Integer, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FTPGetFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL PassiveMode, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FTPGetFile(ServerName As String, ProxyName As String, PortNo As Short, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.File.FTPGetFile(string ServerName, string ProxyName, short PortNo, bool PassiveMode, string RemoteFilePath, string UserName, string Password, int TransPercent)

Parameters

Name | Explanation
ServerName | The name of the FTP server or IPAddress
ProxyName | The Proxy Server IP Address
PortNo | Port Number (default is 21)
PassiveMode | Enables passive mode connectivity: False(0) = Active Mode Connection; True(nonzero) = Passive Mode Connection
RemoteFilePath | The name and path of the file to be retrieved
UserName | The username needed to access the FTP server
Password | The password needed to access the FTP server
TransPercent | The percentage of the file that is tranferred before the ImageKit Progress event is generated

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FTPGetFile method retrieves an existing file from the FTP server. (It includes connecting to and disconnecting from the server.) This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the amount of transfer in percentage before the ImageKit Progress event fires. For example, if the TransPercent = 10, the ImageKit Progress event will fire 10 times, 1 time for each 10% of file transferred.

The retrieved file is saved in the location specified by the FileName property.

When not using a proxy server set the ProxyName to an empty string, to vbNullString(Visual Basic), to NULL(Visual C++), to Nothing(VB.NET), or null(C#.NET).


FTPGetFileEx (ImageKit Control/File Method)

This method retrieves an existing file from the FTP server.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FTPGetFileEx(RemoteFilePath As String, TransPercent As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FTPGetFileEx(LPCTSTR RemoteFilePath, long TransPercent)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FTPGetFileEx(RemoteFilePath As String, TransPercent As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.File.FTPGetFileEx(string RemoteFilePath, int TransPercent)

Parameters

Name | Explanation
RemoteFilePath | The name and path of the file to be retrieved
TransPercent | The percentage of the file that is tranferred before the ImageKit Progress event is generated

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FTPGetFileEx method retrieves an existing file from the FTP server. This method can only be used after the FTPConnect method has connected to the FTP server. This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the amount of transfer in percentage before the ImageKit Progress event fires. For example, if the TransPercent = 10, the ImageKit Progress event will fire 10 times, 1 time for each 10% of file transferred.

The transferred file is saved according to the FileName property value.

Example Code:

Visual Basic
If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub
ImageKit1.File.FileName = "C:\Images\001.jpg"
Call ImageKit1.File.FTPGetFileEx("images/001.jpg", 10)
Call ImageKit1.File.FTPDisconnect()

Visual C++
if (ImageKit1.GetFile().FTPConnect("www.newtone.co.jp", "", 21, TRUE, "User",
                "Password") == FALSE) return;
ImageKit1.GetFile().SetFileName("C:\\Images\\001.jpg");
ImageKit1.GetFile().FTPGetFileEx("images/001.jpg", 10);
ImageKit1.GetFile().FTPDisconnect();

VB.NET
If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub
ImageKit1.File.FileName = "C:\Images\001.jpg"
ImageKit1.File.FTPGetFileEx("images/001.jpg", 10)
ImageKit1.File.FTPDisconnect()

C#.NET
if(ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = false) return;
ImageKit1.File.FileName = @"C:\Images\001.jpg";
ImageKit1.File.FTPGetFileEx("images/001.jpg", 10);
ImageKit1.File.FTPDisconnect();


FTPPutFile (ImageKit Control/File Method)

This method transfers a file to the FTP server. (It includes connecting to and disconnecting from the server.)

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FTPPutFile(ServerName As String, ProxyName As String, PortNo As Integer, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FTPPutFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL PassiveMode, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FTPPutFile(ServerName As String, ProxyName As String, PortNo As Short, PassiveMode As Boolean, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.File.FTPPutFile(string ServerName, string ProxyName, short PortNo, bool PassiveMode, string RemoteFilePath, string UserName, string Password, int TransPercent)

Parameters

Name | Explanation
ServerName | The name of the FTP server or IPAddress
ProxyName | The Proxy Server IP Address
PortNo | Port Number (default is 21)
PassiveMode | Enables passive mode connectivity: False(0) = Active Mode Connection; True(nonzero) = Passive Mode Connection
RemoteFilePath | The destination on the FTP server where the file is to be saved. Includes path and file name
UserName | The username needed to access the FTP server
Password | The password needed to access the FTP server
TransPercent | The percentage of the file that is tranferred before the ImageKit Progress event is generated

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FTPPutFile method transfers a file to the FTP server. (It includes connecting to and disconnecting from the server.) This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the amount of transfer in percentage before the ImageKit Progress event fires. For example, if the TransPercent = 10, the ImageKit Progress event will fire 10 times, 1 time for each 10% of file transferred.

The file to be transferred is specified by the FileName property.

When not using a proxy server set the ProxyName to an empty string, to vbNullString(Visual Basic), to NULL(Visual C++), to Nothing(VB.NET), or null(C#.NET).


FTPPutFileEx (ImageKit Control/File Method)

This method transfers a file to the FTP server.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FTPPutFileEx(RemoteFilePath As String, TransPercent As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FTPPutFileEx(LPCTSTR RemoteFilePath, long TransPercent)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FTPPutFileEx(RemoteFilePath As String, TransPercent As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.File.FTPPutFileEx(string RemoteFilePath, int TransPercent)

Parameters

Name | Explanation
RemoteFilePath | The destination on the FTP server where the file is to be saved. Includes path and file name
TransPercent | The percentage of the file that is tranferred before the ImageKit Progress event is generated

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FTPPutFileEx method transfers a file to the FTP server. The file transfered is the file specified by the FileName property.

This method can only be used after the FTPConnect method has connected to the FTP server. This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the amount of transfer in percentage before the ImageKit Progress event fires. For example, if the TransPercent = 10, the ImageKit Progress event will fire 10 times, 1 time for each 10% of file transferred.

Example Code:

Visual Basic
If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub
ImageKit1.File.FileName = "C:\Images\001.jpg"
Call ImageKit1.File.FTPPutFileEx("images/001.jpg", 10)
Call ImageKit1.File.FTPDisconnect()

Visual C++
if (ImageKit1.GetFile().FTPConnect("www.newtone.co.jp", "", 21, TRUE, "User",
                "Password") == FALSE) return;
ImageKit1.GetFile().SetFileName("C:\\Images\\001.jpg");
ImageKit1.GetFile().FTPPutFileEx("images/001.jpg", 10);
ImageKit1.GetFile().FTPDisconnect();

VB.NET
If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub
ImageKit1.File.FileName = "C:\Images\001.jpg"
ImageKit1.File.FTPPutFileEx("images/001.jpg", 10)
ImageKit1.File.FTPDisconnect()

C#.NET
if(ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = false) return;
ImageKit1.File.FileName = @"C:\Images\001.jpg"
ImageKit1.File.FTPPutFileEx("images/001.jpg", 10);
ImageKit1.File.FTPDisconnect();


FTPRenameFile (ImageKit Control/File Method)

This method renames a file that exists on the FTP server. (It includes connecting to and disconnecting from the server.)

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FTPRenameFile(ServerName As String, ProxyName As String, PortNo As Integer, PassiveMode As Boolean, RemoteOldFilePath As String, RemoteNewFile As String, UserName As String, Password As String)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FTPRenameFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL PassiveMode, LPCTSTR RemoteOldFilePath, LPCTSTR RemoteNewFile, LPCTSTR UserName, LPCTSTR Password)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FTPRenameFile(ServerName As String, ProxyName As String, PortNo As Short, PassiveMode As Boolean, RemoteOldFilePath As String, RemoteNewFile As String, UserName As String, Password As String)
[C#.NET] [ bool = ]imagekitcontrolname.File.FTPRenameFile(string ServerName, string ProxyName, short PortNo, bool PassiveMode, string RemoteOldFilePath, string RemoteNewFile, string UserName, string Password)

Parameters

Name | Explanation
ServerName | The name of the FTP server or IPAddress
ProxyName | The Proxy Server IP Address
PortNo | Port Number (default is 21)
PassiveMode | Enables passive mode connectivity: False(0) = Active Mode Connection; True(nonzero) = Passive Mode Connection
RemoteOldFilePath | The old name of the file (The name and path of the file prior to renaming)
RemoteNewFile | The new name of the file (DOES NOT INCLUDE PATH)
UserName | The username needed to access the FTP server
Password | The password needed to access the FTP server

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FTPRenameFile method renames a file that exists on the FTP server. (It includes connecting to and disconnecting from the server.) This method can only be executed from the client computer. It does not operate on the server.

When not using a proxy server set the ProxyName to an empty string, to vbNullString(Visual Basic), to NULL(Visual C++), to Nothing(VB.NET), or null(C#.NET).


FTPRenameFileEx (ImageKit Control/File Method)

This method renames a file that exists on the FTP server.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.FTPRenameFileEx(RemoteOldFilePath As String, RemoteNewFile As String)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().FTPRenameFileEx(LPCTSTR RemoteOldFilePath, LPCTSTR RemoteNewFile)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.FTPRenameFileEx(RemoteOldFilePath As String, RemoteNewFile As String)
[C#.NET] [ bool = ]imagekitcontrolname.File.FTPRenameFileEx(string RemoteOldFilePath, string RemoteNewFile)

Parameters

Name | Explanation
RemoteOldFilePath | The old name of the file (The name and path of the file prior to renaming)
RemoteNewFile | The new name of the file (DOES NOT INCLUDE PATH)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

the FTPRenameFileEx method renames a file that exists on the FTP server. This method can only be used after the FTPConnect method has connected to the FTP server. This method can only be executed from the client computer. It does not operate on the server.

Example Code:

Visual Basic
If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub
Call ImageKit1.File.FTPRenameFileEx("images/001.jpg", "002.jpg")
Call ImageKit1.File.FTPDisconnect()

Visual C++
if (ImageKit1.GetFile().FTPConnect("www.newtone.co.jp", "", 21, TRUE, "User", "Password") == FALSE) return;
ImageKit1.GetFile().FTPRenameFileEx("images/001.jpg", "002.jpg");
ImageKit1.GetFile().FTPDisconnect();

VB.NET
If ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = False Then Exit Sub
ImageKit1.File.FTPRenameFileEx("images/001.jpg", "002.jpg")
ImageKit1.File.FTPDisconnect()

C#.NET
if(ImageKit1.File.FTPConnect("www.newtone.co.jp", "", 21, True, "User", "Password") = false) return;
ImageKit1.File.FTPRenameFileEx("images/001.jpg", "002.jpg");
ImageKit1.File.FTPDisconnect();


GetImageFileType (ImageKit Control/File Method)

This method retrieves information about the image and sets this into the following properties:
Comment, CreationTimeDay, CreationTimeHour, CreationTimeMinute, CreationTimeMonth, CreationTimeSecond, CreationTimeYear,
Exif, FileBitCount, FileHeight, FileImageSize, FileMaxPage, FileSize, FileType, FileWidth, FileWidthByte, FileXdpi, FileYdpi, Interlace,
LastAccessTimeDay, LastAccessTimeHour, LastAccessTimeMinute, LastAccessTimeMonth, LastAccessTimeSecond, LastAccessTimeYear,
LastWriteTimeDay, LastWriteTimeHour, LastWriteTimeMinute, LastWriteTimeMonth, LastWriteTimeSecond, LastWriteTimeYear

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.GetImageFileType
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetImageFileType()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.GetImageFileType()
[C#.NET] [ bool = ]imagekitcontrolname.File.GetImageFileType()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The GetImageFileType method retrieves information about the image and sets this into the following properties:
Comment, CreationTimeDay, CreationTimeHour, CreationTimeMinute, CreationTimeMonth, CreationTimeSecond, CreationTimeYear,
Exif, FileBitCount, FileHeight, FileImageSize, FileMaxPage, FileSize, FileType, FileWidth, FileWidthByte, FileXdpi, FileYdpi, Interlace,
LastAccessTimeDay, LastAccessTimeHour, LastAccessTimeMinute, LastAccessTimeMonth, LastAccessTimeSecond, LastAccessTimeYear,
LastWriteTimeDay, LastWriteTimeHour, LastWriteTimeMinute, LastWriteTimeMonth, LastWriteTimeSecond, LastWriteTimeYear

To execute this method the appropriate value must first be set into the FileName property. If the image is a multi-page image file then the LoadPage property must also be set. If the image is a multi-page image file then properties other than FileMaxPage and FileSize will relate to the page specified in the LoadPage property. For all image file formats except TIFF, the Comment property relates to the whole image file, regardless of whether it is a multi-page image file or not. For more details, please refer to the specific property information.

Note: Even if the file format is supported, if no value has been set then that property will return a 0 or an empty string.


GetImageFileTypeMem (ImageKit Control/File Method)

This method retrieves information from the raw image data and sets that information into the following properties:
Comment, Exif, FileBitCount, FileHeight, FileImageSize, FileMaxPage, FileSize, FileType, FileWidth, FileWidthByte, FileXdpi, FileYdpi, Interlace

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.GetImageFileTypeMem
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetImageFileTypeMem()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.GetImageFileTypeMem()
[C#.NET] [ bool = ]imagekitcontrolname.File.GetImageFileTypeMem()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The GetImageFileTypeMem method retrieves information from the raw image data and sets that information into the following properties:
Comment, Exif, FileBitCount, FileHeight, FileImageSize, FileMaxPage, FileSize, FileType, FileWidth, FileWidthByte, FileXdpi, FileYdpi, Interlace

To execute this method the appropriate value must first be set into the ImageHandleRawData and LoadPage property. If the image is a multi-page image file then properties other than FileMaxPage and FileSize will relate to the page specified in the LoadPage property. For all image file formats except TIFF, the Comment property relates to the whole image file, regardless of whether it is a multi-page image file or not. For more details, please refer to the specific property information.

Note: Even if the file format is supported, if no value has been set then that property will return a 0 or an empty string.

This method is the same as retrieving information from the image file using the GetImageFileType, however the properties related to "File Created", "File Accessed", and "File Modified" will have a value of 0.


HTTPConnect (ImageKit Control/File Method)

This method connects to the HTTP(S) server

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.HTTPConnect(ServerName As String, ProxyName As String, PortNo As Integer, HTTPS As Boolean, UserName As String, Password As String)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().HTTPConnect(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, BOOL HTTPS, LPCTSTR UserName, LPCTSTR Password)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.HTTPConnect(ServerName As String, ProxyName As String, PortNo As Short, HTTPS As Boolean, UserName As String, Password As String)
[C#.NET] [ bool = ]imagekitcontrolname.File.HTTPConnect(string ServerName, string ProxyName, short PortNo, bool HTTPS, string UserName, string Password)

Parameters

Name | Explanation
ServerName | The name of the HTTP(S) server or IPAddress
ProxyName | The Proxy Server IP Address
PortNo | Port Number (default HTTP port is 80; default HTTPS port is 443)
HTTPS | Sets the type of server [False (zero): HTTP, True (nonzero): HTTPS]
UserName | The username needed to access the HTTP(S) server
Password | The password needed to access the HTTP(S) server

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The HTTPConnect method connects to the HTTP(S) server. This method can only be executed from the client computer. It does not operate on the server. After this method has connected to the HTTP(S) server, it is possible to use the HTTPGetFileEx and the HTTPPutFileEx methods.

When not using a proxy server set the ProxyName to an empty string, to vbNullString(Visual Basic), to NULL(Visual C++), to Nothing(VB.NET), or null(C#.NET).


HTTPDisconnect (ImageKit Control/File Method)

This method disconnects to the HTTP(S) server.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.HTTPDisconnect
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().HTTPDisconnect()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.HTTPDisconnect()
[C#.NET] [ bool = ]imagekitcontrolname.File.HTTPDisconnect()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The HTTPDisconnect method disconnects from the HTTP(S) server connected by the HTTPConnect method. This method can only be executed from the client computer. It does not operate on the server.


HTTPGetFile (ImageKit Control/File Method)

This method retrieves a file from the HTTP server. (It includes connecting to and disconnecting from the server.)

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.HTTPGetFile(ServerName As String, ProxyName As String, PortNo As Integer, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().HTTPGetFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.HTTPGetFile(ServerName As String, ProxyName As String, PortNo As Short, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.File.HTTPGetFile(string ServerName, string ProxyName, short PortNo, string RemoteFilePath, string UserName, string Password, int TransPercent)

Parameters

Name | Explanation
ServerName | The name of the HTTP server or IPAddress
ProxyName | The Proxy Server IP Address
PortNo | Port Number (default is 80)
RemoteFilePath | The name and path of the file to be retrieved
UserName | The username needed to access the HTTP server
Password | The password needed to access the HTTP server
TransPercent | The percentage of the file that is tranferred before the ImageKit Progress event is generated

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The HTTPGetFile method retrieves a file from the HTTP server. (It includes connecting to and disconnecting from the server.) This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the amount of transfer in percentage before the ImageKit Progress event fires. For example, if the TransPercent = 10, the ImageKit Progress event will fire 10 times, 1 time for each 10% of file transferred.

The retrieved file is saved in the location specified by the FileName property.

When not using a proxy server set the ProxyName to an empty string, to vbNullString(Visual Basic), to NULL(Visual C++), to Nothing(VB.NET), or null(C#.NET).


HTTPGetFileEx (ImageKit Control/File Method)

This method retrieves a file from the HTTP(S) server.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.HTTPGetFileEx(RemoteFilePath As String, TransPercent As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().HTTPGetFileEx(LPCTSTR RemoteFilePath, long TransPercent)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.HTTPGetFileEx(RemoteFilePath As String, TransPercent As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.File.HTTPGetFileEx(string RemoteFilePath, int TransPercent)

Parameters

Name | Explanation
RemoteFilePath | The name and path of the file to be retrieved
TransPercent | The percentage of the file that is tranferred before the ImageKit Progress event is generated

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The HTTPGetFileEx method retrieves a file from the HTTP(S) server. This method can only be used after the HTTPConnect method has connected to the HTTP(S) server.This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the amount of transfer in percentage before the ImageKit Progress event fires. For example, if the TransPercent = 10, the ImageKit Progress event will fire 10 times, 1 time for each 10% of file transferred.

The retrieved file is saved in the location specified by the FileName property.

Example Code:

Visual Basic
If ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, True, "User", "Password") = False Then Exit Sub
ImageKit1.File.FileName = "C:\Images\001.jpg"
Call ImageKit1.File.HTTPGetFileEx("images/001.jpg", 10)
Call ImageKit1.File.HTTPDisconnect()

Visual C++
if (ImageKit1.GetFile().HTTPConnect("www.newtone.co.jp", "", 443, TRUE, "User",
                "Password") == FALSE) return;
ImageKit1.GetFile().SetFileName("C:\\Images\\001.jpg");
ImageKit1.GetFile().HTTPGetFileEx("images/001.jpg", 10);
ImageKit1.GetFile().HTTPDisconnect();

VB.NET
If ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, True, "User", "Password") = False Then Exit Sub
ImageKit1.File.FileName = "C:\Images\001.jpg"
ImageKit1.File.HTTPGetFileEx("images/001.jpg", 10)
ImageKit1.File.HTTPDisconnect()

C#.NET
if(ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, True, "User", "Password") = false) return;
ImageKit1.File.FileName = @"C:\Images\001.jpg";
ImageKit1.File.HTTPGetFileEx("images/001.jpg", 10);
ImageKit1.File.HTTPDisconnect();


HTTPPutFile (ImageKit Control/File Method)

This method transfers a file to the HTTP server. (It includes connecting to and disconnecting from the server.)

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.HTTPPutFile(ServerName As String, ProxyName As String, PortNo As Integer, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().HTTPPutFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.HTTPPutFile(ServerName As String, ProxyName As String, PortNo As Short, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.File.HTTPPutFile(string ServerName, string ProxyName, short PortNo, string RemoteFilePath, string UserName, string Password, int TransPercent)

Parameters

Name | Explanation
ServerName | The name of the HTTP server or IPAddress
ProxyName | The Proxy Server IP Address
PortNo | Port Number (default is 80)
RemoteFilePath | The destination on the HTTP server where the file is to be saved. Includes path and file name
UserName | The username needed to access the HTTP server
Password | The password needed to access the HTTP server
TransPercent | The percentage of the file that is tranferred before the ImageKit Progress event is generated

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The HTTPPutFile method transfers a file to the HTTP server. (It includes connecting to and disconnecting from the server.) This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the amount of transfer in percentage before the ImageKit Progress event fires. For example, if the TransPercent = 10, the ImageKit Progress event will fire 10 times, 1 time for each 10% of file transferred.

The file to be transferred is specified by the FileName property.

When not using a proxy server set the ProxyName to an empty string, to vbNullString(Visual Basic), to NULL(Visual C++), to Nothing(VB.NET), or null(C#.NET).


HTTPPutFileEx (ImageKit Control/File Method)

This method transfers a file to the HTTP(S) server.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.HTTPPutFileEx(RemoteFilePath As String, TransPercent As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().HTTPPutFileEx(LPCTSTR RemoteFilePath, long TransPercent)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.HTTPPutFileEx(RemoteFilePath As String, TransPercent As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.File.HTTPPutFileEx(string RemoteFilePath, int TransPercent)

Parameters

Name | Explanation
RemoteFilePath | The destination on the HTTP(S) server where the file is to be saved. Includes path and file name
TransPercent | The percentage of the file that is tranferred before the ImageKit Progress event is generated

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The HTTPPutFileEx method transfers a file to the HTTP(S) server. This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the amount of transfer in percentage before the ImageKit Progress event fires. For example, if the TransPercent = 10, the ImageKit Progress event will fire 10 times, 1 time for each 10% of file transferred.

The file to be transferred is specified by the FileName property.

Example Code:

Visual Basic
If ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, True, "User", "Password") = False Then Exit Sub
ImageKit1.File.FileName = "C:\Images\001.jpg"
Call ImageKit1.File.HTTPPutFileEx("images/001.jpg", 10)
Call ImageKit1.File.HTTPDisconnect()

Visual C++
if (ImageKit1.GetFile().HTTPConnect("www.newtone.co.jp", "", 443, TRUE, "User",
                "Password") == FALSE) return;
ImageKit1.GetFile().SetFileName("C:\\Images\\001.jpg");
ImageKit1.GetFile().HTTPPutFileEx("images/001.jpg", 10);
ImageKit1.GetFile().HTTPDisconnect();

VB.NET
If ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, True, "User", "Password") = False Then Exit Sub
ImageKit1.File.FileName = "C:\Images\001.jpg"
ImageKit1.File.HTTPPutFileEx("images/001.jpg", 10)
ImageKit1.File.HTTPDisconnect()

C#.NET
if(ImageKit1.File.HTTPConnect("www.newtone.co.jp", "", 443, True, "User", "Password") = false) return;
ImageKit1.File.FileName = @"C:\Images\001.jpg";
ImageKit1.File.HTTPPutFileEx("images/001.jpg", 10);
ImageKit1.File.HTTPDisconnect();


HTTPSGetFile (ImageKit Control/File Method)

This method retrieves a file from the HTTPS server. (It includes connecting to and disconnecting from the server.)

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.HTTPSGetFile(ServerName As String, ProxyName As String, PortNo As Integer, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().HTTPSGetFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.HTTPSGetFile(ServerName As String, ProxyName As String, PortNo As Short, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.File.HTTPSGetFile(string ServerName, string ProxyName, short PortNo, string RemoteFilePath, string UserName, string Password, int TransPercent)

Parameters

Name | Explanation
ServerName | The name of the HTTPS server or IPAddress
ProxyName | The Proxy Server IP Address
PortNo | Port Number (default is 443)
RemoteFilePath | The name and path of the file to be retrieved
UserName | The username needed to access the HTTPS server
Password | The password needed to access the HTTPS server
TransPercent | The percentage of the file that is tranferred before the ImageKit Progress event is generated

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The HTTPSGetFile method retrieves a file from the HTTPS server. (It includes connecting to and disconnecting from the server.) This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the amount of transfer in percentage before the ImageKit Progress event fires. For example, if the TransPercent = 10, the ImageKit Progress event will fire 10 times, 1 time for each 10% of file transferred.

The retrieved file is saved in the location specified by the FileName property.

When not using a proxy server set the ProxyName to an empty string, to vbNullString(Visual Basic), to NULL(Visual C++), to Nothing(VB.NET), or null(C#.NET).


HTTPSPutFile (ImageKit Control/File Method)

This method transfers a file to the HTTPS server. (It includes connecting to and disconnecting from the server.)

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.HTTPSPutFile(ServerName As String, ProxyName As String, PortNo As Integer, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().HTTPSPutFile(LPCTSTR ServerName, LPCTSTR ProxyName, short PortNo, LPCTSTR RemoteFilePath, LPCTSTR UserName, LPCTSTR Password, long TransPercent)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.HTTPSPutFile(ServerName As String, ProxyName As String, PortNo As Short, RemoteFilePath As String, UserName As String, Password As String, TransPercent As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.File.HTTPSPutFile(string ServerName, string ProxyName, short PortNo, string RemoteFilePath, string UserName, string Password, int TransPercent)

Parameters

Name | Explanation
ServerName | The name of the HTTPS server or IPAddress
ProxyName | The Proxy Server IP Address
PortNo | Port Number (default is 443)
RemoteFilePath | The destination on the HTTPS server where the file is to be saved. Includes path and file name
UserName | The username needed to access the HTTPS server
Password | The password needed to access the HTTPS server
TransPercent | The percentage of the file that is tranferred before the ImageKit Progress event is generated

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The HTTPSPutFile method transfers a file to the HTTPS server. (It includes connecting to and disconnecting from the server.) This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the amount of transfer in percentage before the ImageKit Progress event fires. For example, if the TransPercent = 10, the ImageKit Progress event will fire 10 times, 1 time for each 10% of file transferred.

The file to be transferred is specified by the FileName property.

When not using a proxy server set the ProxyName to an empty string, to vbNullString(Visual Basic), to NULL(Visual C++), to Nothing(VB.NET), or null(C#.NET).


LoadFile (ImageKit Control/File Method)

This method loads image data from a file

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.LoadFile(Val As LoadFileConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().LoadFile(long Val)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.LoadFile(Val As ImageKit10(A)Lib.LoadFileConstants)
[C#.NET] [ bool = ]imagekitcontrolname.File.LoadFile(ImageKit10(A)Lib.LoadFileConstants Val)

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Val | 0 (All supported files), 1 (BMP), 2(JPEG/Exif), 3(GIF), 4(TIFF), 5(PNG), 6(FPX), 7(PCX), 8(WMF), 9(EMF), 10(DXF), 11(SVG), 12(JPEG2000), 13(SXF p21), 14(SXF sfc)

The following constants can also be used: (ikLoad = 0, ikLoadBMP
                = 1, ikLoadJPEG = 2, ikLoadGIF = 3, ikLoadTIFF = 4,
ikLoadPNG = 5, ikLoadFPX = 6, ikLoadPCX = 7, ikLoadWMF = 8, ikLoadEMF = 9,
                ikLoadDXF = 10, ikLoadSVG = 11, ikLoadJPEG2000 = 12, ikLoadSXFP21 = 13,
                ikLoadSXFSFC = 14)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The LoadFile method loads image data from a file. The FileName property sets the file to be loaded. If successful, the image data is set in either the ImageHandle property or the Layer(LayerNo).ImageHandle property as determined by the value set in the LayerNo property. If the image is a multi-page image file, the LoadFile method loads the page specified by the LoadPage property. When loading a PNG image, please set the PngAlphaChannel property. If the image is a DXF, EMF, SVG, SXF, or WMF image file, please set the VectorHeight and VectorWidth properties. NOTE: For TIFF(JPEG Compression), some TIFF(JPEG) images cannot be loaded by the ImageKit.

To display a caption, message, and button in the Progress dialog box when loading files, set the Caption, Message and ButtonName properties.

Note: Although the LoadFile method can load the primary image in an Exif(JPEG) image file, to retrieve the thumbnail image or image information, please use the GetImageFileType method. The ImageKit10 supports a portion of the tags from Exif version 2.3

Regarding FlashPix:

Flashpix image files are multi-resolution image files with a tiled composition. Flashpix files store image data in a hierarchy from the original image at the highest level. Each subsequent level contains the same image with horizontal and vertical resolution half that of the image in the level above. This allows editing and printing at the optimum resolution. Each resolution image is divided in to 64x64 tiles Each tiled image can be uncompressed, JPEG compression, or single color compression.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded. Please refer to the FileName property for details.


LoadFileMem (ImageKit Control/File Method)

This method loads DIB image data from raw data.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.LoadFileMem(Val As LoadFileConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().LoadFileMem(long Val)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.LoadFileMem(Val As ImageKit10(A)Lib.LoadFileConstants)
[C#.NET] [ bool = ]imagekitcontrolname.File.LoadFileMem(ImageKit10(A)Lib.LoadFileConstants Val)

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Val | 0 (All supported files), 1 (BMP), 2(JPEG/Exif), 3(GIF), 4(TIFF), 5(PNG), 6(FPX), 7(PCX), 8(WMF), 9(EMF), 10(DXF), 11(SVG), 12(JPEG2000), 13(SXF p21), 14(SXF sfc)

The following constants can also be used: (ikLoad = 0, ikLoadBMP
                = 1, ikLoadJPEG = 2, ikLoadGIF = 3, ikLoadTIFF = 4,
ikLoadPNG = 5, ikLoadFPX = 6, ikLoadPCX = 7, ikLoadWMF = 8, ikLoadEMF = 9,
                ikLoadDXF = 10, ikLoadSVG = 11, ikLoadJPEG2000 = 12, ikLoadSXFP21 = 13,
                ikLoadSXFSFC = 14)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The LoadFileMem method uses the raw image data set into the ImageHandleRawData property and converts it to DIB image data. This DIB image data is then set into either the ImageHandle or the Layer(LayerNo).ImageHandle property depending on the value of the LayerNo property.

When the raw image data is a multipage image, set the page to be loaded in the LoadPage property.

When the raw image data is PNG data, please set the PngAlphaChannel property.

If the image is a DXF, EMF, SVG, SXF, or WMF image file, please set the VectorHeight and VectorWidth properties.

NOTE: For TIFF(JPEG Compression), some TIFF(JPEG) images cannot be loaded by the ImageKit.

To display a caption, message, and button in the Progress dialog box when loading files, set the Caption, Message and ButtonName properties.

Note: With FPX and SXF formats, the ImageKit must create a temporary file which it does internally.

Although the LoadFileMem method can load the primary image in an Exif(JPEG) image file, to retrieve the thumbnail image or image information, please use the GetImageFileTypeMem method. The ImageKit10 supports a portion of the tags from Exif version 2.3


LoadFromStream (ImageKit Control/File Method)

This method loads image data from a stream.

[Visual Basic] imagekitcontrolname.File.LoadFromStream(Data as Variant)
[VB.NET] imagekitcontrolname.File.LoadFromStream(Data as Object)
[C#.NET] imagekitcontrolname.File.LoadFromStream(object Data)

Parameters

Name | Explanation
Data | Stream

Return Value

None

Explanation

This method loads image data from a stream. The raw data is set into the ImageHandleRawData property.

Example code:

Dim ArrayData() As Byte

' File -> Rawdata

ImageKit1.File.FileName = "c:\001.jpg"

ImageKit1.File.FileLoadAsRawData

' Rawdata -> Array

ArrayData = ImageKit1.File.SaveToStream

' Array -> Rawdata

ImageKit1.File.LoadFromStream ArrayData

' Rawdata -> File

ImageKit1.File.FileName = "c:\abc.jpg"

ImageKit1.File.FileSaveAsRawData


OpenFileDialog (ImageKit Control/File Method)

This method displays the "Open" dialog which includes the file preview and information functions. This dialog is used to select an image file to be opened.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.OpenFileDialog
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().OpenFileDialog()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.OpenFileDialog()
[C#.NET] [ bool = ]imagekitcontrolname.File.OpenFileDialog()

Parameters

None

Return Value

Returns True(nonzero) if "Open" is selected. Returns False(0) if "Cancel" is selected.

Explanation

The OpenFileDialog method displays the "Open" dialog which includes the file preview and information functions. This dialog is used to select an image file to be opened.

By setting the FilePath and FileExt properties it is possible to control the directory and types of files that are listed when the "Open" dialog is displayed. For details, please refer to the explanation for those properties.

Prior to executing this method, if the ExtendedDialog property is set to true, when the dialog is displayed the preview and file information checkboxes are displayed. Even if the Preview and Information properties are False, these checkboxes will be displayed.

If the Open button is clicked, then the file name and path are set into the FileName property.


RGBBmpPlaneFileLoad (ImageKit Control/File Method)

This method loads a bmp file that has been saved in seperate RGB planes

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.RGBBmpPlaneFileLoad(RedFileName As String, GreenFileName As String, BlueFileName As String)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().RGBBmpPlaneFileLoad(LPCTSTR RedFileName, LPCTSTR GreenFileName, LPCTSTR BlueFileName)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.RGBBmpPlaneFileLoad(RedFileName As String, GreenFileName As String, BlueFileName As String)
[C#.NET] [ Boolean = ]imagekitcontrolname.File.RGBBmpPlaneFileLoad(string RedFileName, string GreenFileName, string BlueFileName)

Parameters

Name | Explanation
RedFileName | The filename of the R plane image to be loaded
GreenFileName | The filename of the G plane image to be loaded
BlueFileName | The filename of the B plane image to be loaded

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The RGBBmpPlaneFileLoad method loads a bmp file that has been saved in seperate RGB planes. The individual RGB plane images are 8 bit grayscale and the output image is 24 bit color.

If successful, the output image will be set in the ImageHandle property or the Layer(LayerNo).ImageHandle property according to the value set in the LayerNo property.


RGBBmpPlaneFileLoad (ImageKit Control/File Method)

ImageKit10 ActiveX

RGBBmpPlaneFileSave (ImageKit Control/File Method)

This method saves a raster image into seperate RGB planes. The saved images are in BMP format

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.RGBBmpPlaneFileSave(RedFileName As String, GreenFileName As String, BlueFileName As String, ImageHandle As LONG_PTR)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().RGBBmpPlaneFileSave(LPCTSTR RedFileName, LPCTSTR GreenFileName, LPCTSTR BlueFileName, LONG_PTR ImageHandle)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.RGBBmpPlaneFileSave(RedFileName As String, GreenFileName As String, BlueFileName As String, ImageHandle As Integer(x86) or Long(x64))
[C#.NET] [ bool = ]imagekitcontrolname.File.RGBBmpPlaneFileSave(string RedFileName, string GreenFileName, string BlueFileName, int(X86) or long(x64) ImageHandle)

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
RedFileName | The filename of the saved R plane image
GreenFileName | The filename of the saved G plane image
BlueFileName | The filename of the saved B plane image
ImageHandle | The image handle of the image to be saved in 3 seperate RGB planes

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The RGBBmpPlaneFileSave method saves a raster image into seperate RGB planes. The saved images are in BMP format.

When the ImageHandle parameter contains a valid image handle

The image set in the ImageHandle parameter will be saved as three seperate images each corresponding to the various RGB planes.

When the ImageHandle parameter contains 0

The image referred to by the LayerNo property (either the image set in the ImageHandle property or the image set in the Layer(LayerNo).ImageHandle property as the case may be) will be saved as three seperate images each corresponding to the various RGB planes.

Note: When the LayerNo property is -1, the image set in the ImageHandle property is enabled. When the LayerNo property has values from 0 to 99, the image set in the Layer(LayerNo).ImageHandle property is enabled.

The input image (that image set in the ImageHandle parameter) must be 24 bit color. The output images (corresponding to the various RGB planes) will be 8 bit grayscale.

Differences between ImageKit7/8

The ImageHandle argument type has changed.


SaveFile (ImageKit Control/File Method)

This method saves image data to a file.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.SaveFile(Val As SaveFileConstants, ImageHandle As LONG_PTR)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().SaveFile(long Val, LONG_PTR ImageHandle)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.SaveFile(Val As ImageKit10(A)Lib.SaveFileConstants, ImageHandle As Integer(x86) or Long(x64))
[C#.NET] [ bool = ]imagekitcontrolname.File.SaveFile(ImageKit10(A)Lib.SaveFileConstants Val, int(x86) or long(x64) ImageHandle)

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
Val | 0 (BMP - Uncompressed), 1 (BMP - Compressed), 2 (JPEG - Standard DCT), 3 (JPEG - Progressive DCT), 4 (GIF), 5 (TIFF - Uncompressed), 6 (TIFF - CCITTRLE), 7 (TIFF - GROUP3-1D), 8 (TIFF - GROUP3-2D), 9 (TIFF - GROUP4), 10 (TIFF - PACKBITS), 11 (TIFF - LZW), 12 (PNG), 13 (FPX - Uncompressed), 14 (FPX - Single Color Compressed), 15 (FPX - JPEG Compression), 16 (PCX), 17 (WMF), 18 (EMF), 19 (DXF), 20(SVG), 21(JPEG2000 Part1), 22(JPEG2000 Code Stream), 23(SXF p21), 24(SXF sfc), 25(TIFF JPEG), 26 (Exif - JPEG Standard DCT), 27 (Exif - JPEG Progressive DCT)
ImageHandle | The image handle of the image data to be saved

The following constants can also be used: (ikSaveBMP = 0,
                ikSaveBMPRLE = 1, ikSaveJPEG = 2, ikSaveJPEGProgress = 3, ikSaveGIF = 4,
                ikSaveTIFFNoncompressed = 5, ikSaveTIFFCcittrle = 6, ikSaveTIFFGroup3_1D = 7,
                ikSaveTIFFGroup3_2D = 8, ikSaveTIFFGroup4 = 9, ikSaveTIFFPackbits = 10,
                ikSaveTIFFLZW = 11, ikSavePNG = 12, ikSaveFPXNoncompressed = 13,
                ikSaveFPXSingleColor = 14, ikSaveFPXJpeg = 15, ikSavePCX = 16, ikSaveWMF = 17,
                ikSaveEMF = 18, ikSaveDXF = 19, ikSaveSVG = 20, ikSaveJPEG2000 = 21,
                ikSaveJPEG2000Stream = 22, ikSaveSXF P21 = 23, ikSaveSXFSFC = 24,
                ikSaveTIFFJPEG = 25, ikSaveJPEGExif = 26, ikSaveJPEFProgressExif = 27)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The SaveFile method saves image data to a file.

When the ImageHandle parameter contains a valid image handle

The image set in the ImageHandle parameter will be saved in the location specified by the FileName property.

When the ImageHandle parameter contains 0

The image referred to by the LayerNo property (either the image set in the ImageHandle property or the image set in the Layer(LayerNo).ImageHandle property as the case may be) will be saved in the location specified by the FileName property.

Below is a list of other properties that should be set when saving files in the these formats...

FPX | The Comment property should be set. If the Val parameter is 15 then the JpegQuality property should also be set.
GIF | The Comment, GifAnime, GifAnimeDelay, Interlace, PalBlue, PalGreen, PalRed, and Transparent properties should be set.
JPEG | The Comment, JpegQuality, and JpegSubsamp properties should be set.
JPEG2000 | The Comment, JPEG2000CodeBlockHeight, JPEG2000CodeBlockWidth, JPEG2000NumrResLevel, JPEG2000PrecinctHeight, JPEG2000PrecinctWidth, JPEG2000Reversible, JPEG2000Size, JPEG2000TileHeight, and JPEG2000TileWidth properties should be set.
PNG | The Comment, Interlace, PalBlue, PalGreen, PalRed, PngAlphaChannel, and Transparent properties should be set. When the PngAlphaChannel property is True, pass the image handle of the 32 bit RGBA image to the ImageHandle property.
TIFF | The Comment and TiffAppend properties should be set. If the Val parameter is 5, 10, or 11 then the TiffColorSpace property should be set. If the Val parameter is 25, then the JpegQuality should be set. For all Tiff images other than GROUP4, the TiffSaveOneStrip property should be set.
Exif | Exif

In order to save vector image data as raster image data, the Vector.VectorToRaster method must be executed PRIOR to executing the SaveFile method. In other words, the vector image data must be converted to DIB image data before it can be saved in a raster image format.

To display a caption, message, and button in the Progress dialog box when loading or saving files, set the Caption, Message and ButtonName properties.

With certain raster image formats, it is only possible to save images of a particular bitcount. Errors can be generated if an image of unsupported bitcount is saved. Below is a list of supported bitcounts when saving each type of raster image.

Name | Explanation
BMP (Uncompressed) | 1, 4, 8, 16, 24, 32 (Does not include 16 bit grayscale)
BMP (Compressed) | 4,8
JPEG (Standard DCT) | 8 bit grayscale, 24
JPEG (Progressive DCT) | 8 bit grayscale, 24
GIF | 1, 4, 8
TIFF (Uncompressed) | 1, 4, 8, 16, 24, 32 (Does not include 16 bit grayscale)
TIFF (CCITTRLE) | 1
TIFF (GROUP3-1D) | 1
TIFF(GROUP3-2D) | 1
TIFF (GROUP4) | 1
TIFF (LZW) | 1, 4, 8, 16, 24, 32 (Does not include 16 bit grayscale)
TIFF (PACKBITS) | 1, 4, 8, 16, 24, 32 (Does not include 16 bit grayscale)
TIFF (JPEG) | 8 bit grayscale, 24
PNG | 1,4,8,24
FPX (Uncompressed) | 8 bit grayscale, 24
FPX (Single Color Compressed) | 8 bit grayscale, 24
FPX (JPEG Compression) | 8 bit grayscale, 24
PCX | 1,4,8,24
JPEG2000(Part1) | 8 bit grayscale, 24
JPEG2000(Code Stream) | 8 bit grayscale, 24
Exif (Standard DCT) | 8 bit grayscale, 24
Exif (Progressive DCT) | 8 bit grayscale, 24

Note: TIFF GROUP3-1D is the same as MH. TIFF GROUP3-2D is the same as MR. TIFF GROUP4 is the same as MMR. If images are saved in uncompressed TIFF, TIFF PACKBITS, or TIFF LZW formats as 16 bit images, they will be converted to 24 bit.

Sample code for converting a BMP image file into a 24 bit JPEG image file:

Visual Basic

ImageKit1.File.FileName = "Newtone.bmp"

ImageKit1.LayerNo = -1

If ImageKit1.File.LoadFile(ikLoadBMP) = False Then Exit Sub

If ImageKit1.GetImageType() = False Then Exit Sub

If ImageKit1.BitCount <> 24 Then

If ImageKit1.Effect.ConvertColor(24, False, False, 0) = False Then Exit Sub

End If

ImageKit1.File.JpegQuality = 75

ImageKit1.File.JpegSubsamp = ik411

ImageKit1.File.FileName = "Newtone.jpg"

ImageKit1.File.SaveFile(ikSaveJPEG, 0)

Differences from the ImageKit7 ActiveX

Files could only be saved to local or network drives. In the ImageKit10 ActiveX files can be saved to FTP servers or HTTP(S) servers.

Exif (JPEG) files could not be saved in the ImageKit7 ActiveX. The ImageKit10 can save Exif (JPEG) files

The ImageHandle argument type has changed.

Differences from the ImageKit8 ActiveX

The ImageHandle argument type has changed.


SaveFileDialog (ImageKit Control/File Method)

This method displays the "Save" dialog which includes the file preview function. This dialog is used to select an image file to be saved.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.SaveFileDialog
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().SaveFileDialog()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.SaveFileDialog()
[C#.NET] [ bool = ]imagekitcontrolname.File.SaveFileDialog()

Parameters

None

Return Value

Returns True(nonzero) if "Save" is selected. Returns False(0) if "Cancel" is selected.

Explanation

The SaveFile method displays the "Save" dialog which includes the file preview function. This dialog is used to select a directory and file name into which the image date is to be saved.

By setting the FilePath and FileExt properties it is possible to control the directory and types of files that are listed when the "Save" dialog is displayed. For details, please refer to the explanation for those properties.

However, if the FileName property contains a full path, the FilePath property will be ignored.

Prior to executing this method, if the ExtendedDialog property is set to true, when the dialog is displayed the preview and file information checkboxes are displayed. Even if the Preview and Information properties are False, these checkboxes will be displayed.

When the "Save" button is clicked the file name and path are set into the FileName property and the type of file is set into the SaveFileDlgFileType property.

Example:

Visual Basic

Dim Ret As Boolean

ImageKit1.File.FileExt = "*;BMP;JPG;"

ImageKit1.File.FilePath = "C:\My Pictures"

ImageKit1.File.FileName = "" 'By setting a blank string here, the FilePath property is enabled.

'if the full path is set into the FileName property then the FilePath property is disabled.

' ImageKit1.File.FileName = "C:\Images\001.jpg"

ImageKit1.File.ExtendedDialog = True

ImageKit1.File.Preview = False

ImageKit1.File.Information = False

Ret = ImageKit1.File.SaveFileDialog()


SaveFileMem (ImageKit Control/File Method)

This method saves image data as raw data.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.SaveFileMem(Val As SaveFileConstants, ImageHandle As LONG_PTR)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().SaveFileMem(long Val, LONG_PTR ImageHandle)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.SaveFileMem(Val As ImageKit10(A)Lib.SaveFileConstants, ImageHandle As Integer(x86) or Long(x64))
[C#.NET] [ Boolean = ]imagekitcontrolname.File.SaveFileMem(ImageKit10(A)Lib.SaveFileConstants Val, int(x86) or long(x64) ImageHandle)

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
Val | 0 (BMP - Uncompressed), 1 (BMP - Compressed), 2 (JPEG - Standard DCT), 3 (JPEG - Progressive DCT), 4 (GIF), 5 (TIFF - Uncompressed), 6 (TIFF - CCITTRLE), 7 (TIFF - GROUP3-1D), 8 (TIFF - GROUP3-2D), 9 (TIFF - GROUP4), 10 (TIFF - PACKBITS), 11 (TIFF - LZW), 12 (PNG), 13 (FPX - Uncompressed), 14 (FPX - Single Color Compressed), 15 (FPX - JPEG Compression), 16 (PCX), 17 (WMF), 18 (EMF), 19 (DXF), 20(SVG), 21(JPEG2000 Part1), 22(JPEG2000 Code Stream), 23(SXF p21), 24(SXF sfc), 25(TIFF JPEG), 26 (Exif - JPEG Standard DCT), 27 (Exif - JPEG Progressive DCT)
ImageHandle | The image handle of the image data to be saved

The following constants can also be used: (ikSaveBMP = 0,
                ikSaveBMPRLE = 1, ikSaveJPEG = 2, ikSaveJPEGProgress = 3, ikSaveGIF = 4,
                ikSaveTIFFNoncompressed = 5, ikSaveTIFFCcittrle = 6, ikSaveTIFFGroup3_1D = 7,
                ikSaveTIFFGroup3_2D = 8, ikSaveTIFFGroup4 = 9, ikSaveTIFFPackbits = 10,
                ikSaveTIFFLZW = 11, ikSavePNG = 12, ikSaveFPXNoncompressed = 13,
                ikSaveFPXSingleColor = 14, ikSaveFPXJpeg = 15, ikSavePCX = 16, ikSaveWMF = 17,
                ikSaveEMF = 18, ikSaveDXF = 19, ikSaveSVG = 20, ikSaveJPEG2000 = 21,
                ikSaveJPEG2000Stream = 22, ikSaveSXF P21 = 23, ikSaveSXFSFC = 24,
                ikSaveTIFFJPEG = 25, ikSaveJPEGExif = 26, ikSaveJPEFProgressExif = 27)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The SaveFileMem method saves image data as raw data.

When the ImageHandle parameter contains a valid image handle

The image set in the ImageHandle parameter will be saved as raw data and set into the ImageHandleRawData property.

When the ImageHandle parameter contains 0

The image referred to by the LayerNo property (either the image set in the ImageHandle property or the image set in the Layer(LayerNo).ImageHandle property as the case may be) will be saved as raw data and set into the ImageHandleRawData property.

Below is a list of other properties that should be set when saving files in the these formats...

FPX | The Comment property should be set. If the Val parameter is 15 then the JpegQuality property should also be set.
GIF | The Comment, GifAnime, GifAnimeDelay, Interlace, PalBlue, PalGreen, PalRed, and Transparent properties should be set.
JPEG | The Comment, JpegQuality, and JpegSubsamp properties should be set.
JPEG2000 | The Comment, JPEG2000CodeBlockHeight, JPEG2000CodeBlockWidth, JPEG2000NumrResLevel, JPEG2000PrecinctHeight, JPEG2000PrecinctWidth, JPEG2000Reversible, JPEG2000Size, JPEG2000TileHeight, and JPEG2000TileWidth properties should be set.
PNG | The Comment, Interlace, PalBlue, PalGreen, PalRed, PngAlphaChannel, and Transparent properties should be set. When the PngAlphaChannel property is True, pass the image handle of the 32 bit RGBA image to the ImageHandle property.
TIFF | The Comment and TiffAppend properties should be set. If the Val parameter is 5, 10, or 11 then the TiffColorSpace property should be set. If the Val parameter is 25, then the JpegQuality should be set. For all Tiff images other than GROUP4, the TiffSaveOneStrip property should be set.
Exif | Exif

In order to save vector image data as raster image data, the Vector.VectorToRaster method must be executed PRIOR to executing the SaveFileMem method. In other words, the vector image data must be converted to DIB image data before it can be saved in a raster image format.

To display a caption, message, and button in the Progress dialog box when loading or saving files, the Caption, Message and ButtonName properties can be set.

With certain raster image formats, it is only possible to save images of a particular bitcount. Errors can be generated if an image of unsupported bitcount is saved in an image format. Below is a list of supported bitcounts when save each type of raster image.

Name | Explanation
BMP (Uncompressed) | 1, 4, 8, 16, 24, 32 (Does not include 16 bit grayscale)
BMP (Compressed) | 4,8
JPEG (Standard DCT) | 8 bit grayscale, 24
JPEG (Progressive DCT) | 8 bit grayscale, 24
GIF | 1, 4, 8
TIFF (Uncompressed) | 1, 4, 8, 16, 24, 32 (Does not include 16 bit grayscale)
TIFF (CCITTRLE) | 1
TIFF (GROUP3-1D) | 1
TIFF(GROUP3-2D) | 1
TIFF (GROUP4) | 1
TIFF (LZW) | 1, 4, 8, 16, 24, 32 (Does not include 16 bit grayscale)
TIFF (PACKBITS) | 1, 4, 8, 16, 24, 32 (Does not include 16 bit grayscale)
TIFF (JPEG) | 8 bit grayscale, 24
PNG | 1,4,8,24
FPX (Uncompressed) | 8 bit grayscale, 24
FPX (Single Color Compressed) | 8 bit grayscale, 24
FPX (JPEG Compression) | 8 bit grayscale, 24
PCX | 1,4,8,24
JPEG2000(Part1) | 8 bit grayscale, 24
JPEG2000(Code Stream) | 8 bit grayscale, 24
Exif (Standard DCT) | 8 bit grayscale, 24
Exif (Progressive DCT) | 8 bit grayscale, 24

Note: TIFF GROUP3-1D is the same as MH. TIFF GROUP3-2D is the same as MR. TIFF GROUP4 is the same as MMR.

If images are saved in uncompressed TIFF, TIFF PACKBITS, or TIFF LZW formats as 16 bit images, they will be converted to 24 bit.

Sample code for converting a BMP image file into a 24 bit JPEG image file:

Visual Basic

ImageKit1.File.FileName = "Newtone.bmp"

ImageKit1.LayerNo = -1

If ImageKit1.File.LoadFile(ikLoadBMP) = False Then Exit Sub

If ImageKit1.GetImageType() = False Then Exit Sub

If ImageKit1.BitCount <> 24 Then

If ImageKit1.Effect.ConvertColor(24, False, False, 0) = False Then Exit Sub

End If

ImageKit1.File.JpegQuality = 75

ImageKit1.File.JpegSubsamp = ik411

ImageKit1.File.SaveFileMem(ikSaveJPEG, 0)

Differences from the ImageKit7 ActiveX

Exif (JPEG) files could not be saved in the ImageKit7 ActiveX. The ImageKit10 can save Exif (JPEG) files

Differences from the ImageKit8 ActiveX

The ImageHandle argument type has changed.


SaveToStream (ImageKit Control/File Method)

This method saves image data to a stream.

[Visual Basic] [ Variant = ]iimagekitcontrolname.File.SaveToStream()
[VB.NET] [ Object = ]iimagekitcontrolname.File.SaveToStream()
[C#.NET] [ object = ]iimagekitcontrolname.File.SaveToStream()

Parameters

None

Return Value

Stream

Explanation

The SaveToStream method saves image data to a stream. The raw image data is set into the ImageHandleRawData property.

Example code:

Dim ArrayData() As Byte

' File -> Rawdata

ImageKit1.File.FileName = "c:\001.jpg"

ImageKit1.File.FileLoadAsRawData

' Rawdata -> Array

ArrayData = ImageKit1.File.SaveToStream

' Array -> Rawdata

ImageKit1.File.LoadFromStream ArrayData

' Rawdata -> File

ImageKit1.File.FileName = "c:\abc.jpg"

ImageKit1.File.FileSaveAsRawData


YCCBmpPlaneFileLoad (ImageKit Control/File Method)

This method loads a bmp file that has been saved in seperate YCrCb planes

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.YCCBmpPlaneFileLoad(YFileName As String, CrFileName As String, CbFileName As String)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().YCCBmpPlaneFileLoad(LPCTSTR YFileName, LPCTSTR CrFileName, LPCTSTR CbFileName)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.YCCBmpPlaneFileLoad(YFileName As String, CrFileName As String, CbFileName As String)
[C#.NET] [ bool = ]imagekitcontrolname.File.YCCBmpPlaneFileLoad(string YFileName, string CrFileName, string CbFileName)

Parameters

Name | Explanation
YFileName | The filename of the Y plane image to be loaded
CrFileName | The filename of the Cr plane image to be loaded
CbFileName | The filename of the Cb plane image to be loaded

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The YCCBmpPlaneFileLoad method loads a bmp file that has been saved in seperate YCrCb planes. The individual YCrCb plane images are 8 bit grayscale and the output image is 24 bit color.

If successful, the output image will be set in the ImageHandle property or the Layer(LayerNo).ImageHandle property according to the value set in the LayerNo property.


YCCBmpPlaneFileSave (ImageKit Control/File Method)

This method saves a raster image into seperate YCrCb planes. The saved images are in BMP format

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.YCCBmpPlaneFileSave(YFileName As String, CrFileName As String, CbFileName As String, ImageHandle As LONG_PTR)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().YCCBmpPlaneFileSave(LPCTSTR YFileName, LPCTSTR CrFileName, LPCTSTR CbFileName, LONG_PTR ImageHandle)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.YCCBmpPlaneFileSave(YFileName As String, CrFileName As String, CbFileName As String, ImageHandle As Integer(x86) or Long(x64))
[C#.NET] [ bool = ]imagekitcontrolname.File.YCCBmpPlaneFileSave(string YFileName, string CrFileName, string CbFileName, int(x86) or long(x64) ImageHandle)

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
YFileName | The filename of the saved Y plane image
CrFileName | The filename of the saved Cr plane image
CbFileName | The filename of the saved Cb plane image
ImageHandle | The image handle of the image to be saved in 4 seperate YCrCb planes

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The YCCBmpPlaneFileSave method saves a raster image into seperate YCrCb planes. The saved images are in BMP format.

When the ImageHandle parameter contains a valid image handle

The image set in the ImageHandle parameter will be saved as three seperate images each corresponding to the various YCrCb planes.

When the ImageHandle parameter contains 0

The image referred to by the LayerNo property (either the image set in the ImageHandle property or the image set in the Layer(LayerNo).ImageHandle property as the case may be) will be saved as three seperate images each corresponding to the various YCrCb planes.

Note: When the LayerNo property is -1, the image set in the ImageHandle property is enabled. When the LayerNo property has values from 0 to 99, the image set in the Layer(LayerNo).ImageHandle property is enabled.

The input image (that image set in the ImageHandle parameter) must be 24 bit color. The output images (corresponding to the various YCrCb planes) will be 8 bit grayscale.

Differences from the ImageKit7/8 ActiveX

The ImageHandle argument type has changed.


ImageKit File Exif Interface

The ImageKit File Exif interface exposes properties of Exif(JPEG) images, both main images and thumbnail images. The Exif version supported is 2.3. The ImageKit supports many, but not all, tags from Exif v2.3.

Retrieving Exif information:
In general, executing the File.GetImageFileType or File.GetImageFileTypeMem methods will retrieve the infromation from the Exif file and set it into the various properties listed below. However, not all item information can be retrieved in this way. Depending on the capture device and image characteristic, some Exif item information may not have been set. For detailed information please refer to the Exif file format developed by JEIDA, the Japan Electronics Industry Development Association.

[Main Image Structure]

Property List

Custom Properties | Explanation
Altitude0 | The altitude in meters where the image was taken. This is the numerator.
Altitude1 | The altitude in meters where the image was taken. This is the denominator.
AltitudeRef | The reference altitude
ApertureValue0 | The numerator for the lens aperature value
ApertureValue1 | The denominator for the lens aperature value
BrightnessValue0 | The numerator for the brightness value
BrightnessValue1 | The denominator for the brightness value
ColorSpace | Color space information
ComponentsConfiguration | Refers to the color of each color plane in the Exif image arranged in order from the 1st plane to the 4th plane
CompressedBitsPerPixel0 | The numerator for the compression mode used for a compressed image. (bits/pixel)
CompressedBitsPerPixel1 | The denominator for the compression mode used for a compressed image. (bits/pixel)
Contrast | Contrast when image was captured
DateStame | GPS datetime
DateTimeDigitized | The date and time of digital data generation
DateTimeOriginal | The date and time of original data generation
ExposureBiasValue0 | The numerator for the exposure bias value
ExposureBiasValue1 | The denominator for the exposure bias value
ExposureIndex0 | The numerator for the exposure index selected on the camera or input device at the time the image was captured
ExposureIndex1 | The denominator for the exposure index selected on the camera or input device at the time the image was captured
ExposureProgram | Refers to the class of the program used by the camera to set exposure when the image was taken
ExposureTime0 | The numerator for the exposure time
ExposureTime1 | The denominator for the exposure time
FileSource | Indicates the image source
Flash | Indicates the flash firing status and the flash return status
FlashEnergy0 | The numerator for the strobe energy at the time the image was captured
FlashEnergy1 | The denominator for the strobe energy at the time the image was captured
FlashPixVersion | Refers to the version of the FlashPix format supported
FNumber0 | The numerator for the F number value
FNumber1 | The denominator for the F number value
FocalLength0 | The numerator for the focal length of the lens
FocalLength1 | The denominator for the focal length of the lens
FocalPlaneResolutionUnit | The units of measurement of the local plane
FocalPlaneXResolution0 | The numerator of the horizontal focal plane resolution
FocalPlaneXResolution1 | The denominator of the horizontal focal plane resolution
FocalPlaneYResolution0 | The numerator of the vertical focal plane resolution
FocalPlaneYResolution1 | The denominator of the vertical focal plane resolution
GPSVersion | Refers to the GPS tag version (i.e. "2000")
InteroperabilityIndex | The identification of the Interoperability rule
InteroperabilityVersion | Interoperability version
ISOSpeedRatings | Indicates the ISO Speed and ISO Latitude of the camera or input device
Latitude | Refers to the latitude direction where the image was taken. (i.e. "N" or "S")
LatitudeD0 | The latitude in degrees where the image was taken. This is the numerator
LatitudeD1 | The latitude in degrees where the image was taken. This is the denominator
LatitudeM0 | The latitude in minutes where the image was taken. This is the numerator
LatitudeM1 | The latitude in minutes where the image was taken. This is the denominator
LatitudeS0 | The latitude in seconds where the image was taken. This is the numerator
LatitudeS1 | The latitude in seconds where the image was taken. This is the denominator
LightSource | Refers to the type of light source
Longitude | Refers to the longitude direction where the image was taken. (i.e. "E" or "W")
LongitudeD0 | The longitude in degrees where the image was taken. This is the numerator
LongitudeD1 | The longitude in degrees where the image was taken. This is the denominator
LongitudeM0 | The longitude in minutes where the image was taken. This is the numerator
LongitudeM1 | The longitude in minutes where the image was taken. This is the denominator
LongitudeS0 | The longitude in seconds where the image was taken. This is the numerator
LongitudeS1 | The longitude in seconds where the image was taken. This is the denominator
MainArtist | Refers to the camera owner, photographer, or creator of the primary image
MainCopyright | Refers to the copyright information for the primary image
MainDateTime | Refers to the date and time that the primary image was created
MainImageDescription | Refers to the character string giving the title of the primary image
MainMake | Refers to the manufacturer of the recording equipment that generated the primary image
MainModel | Refers to the model name or model number of the equipment that generated the primary image
MainOrientation | Refers to the image orientation of the primary image as viewed in terms of rows and columns
MainResolutionUnit | The unit for measuring XResolution and YResolution in the primary image
MainSoftware | Refers to the name and version of the software used to generate the primary image
MainXResolution0 | Refers to the number of pixels per MainResolutionUnit in the primary image in the horizontal direction. (This value is the numerator)
MainXResolution1 | Refers to the number of pixels per MainResolutionUnit in the primary image in the horizontal direction. (This value is the denominator)
MainYCbCrPositioning | Refers to the position of chrominance components (CbCr) in relation to the luminance component (Y) in the primary image
MainYResolution0 | Refers to the number of pixels per MainResolutionUnit in the primary image in the vertical direction. (This value is the numerator)
MainYResolution1 | Refers to the number of pixels per MainResolutionUnit in the primary image in the vertical direction. (This value is the denominator)
MakerNote | Comments of the manufacturer of the Exif writer
MapDatum | Refers to the name of the map data used
MaxApertureValue0 | The numerator for the smallest F value of the lens
MaxApertureValue1 | The denominator for the smallest F value of the lens
MeteringMode | Refers to the metering mode
PixelXDimension | Refers to the width of the image
PixelYDimension | Refers to the height of the image
ProcessingMethod | The name of the method used for location finding
ProcessingMethodID | Identification code for the processing method
Saturation | Saturation when image was captured
SceneCaptureType | Indicates the type of scene when image was captured
SceneType | Indicates the type of scene of the image
SensingMethod | Refers to the image sensor type on the camera or input device
Sharpness | Sharpness when image was captured
ShutterSpeedValue0 | The numerator for the shutter speed
ShutterSpeedValue1 | The denominator for the shutter speed
SpectralSensitivity | Refers to the spectral sensitivity of each channel of the camera used
SubjectDistance0 | The numerator for the distance to the subject
SubjectDistance1 | The denominator for the distance to the subject
SubjectLocationX | Refers to the horizontal location of the main subject in the scene
SubjectLocationY | Refers to the vertical location of the main subject in the scene
SubSecTime | Records fractions of a second for the MainDateTime property
SubSecTimeDigitized | Records fractions of a second for the DateTimeDigitized property
SubSecTimeOriginal | Records fractions of a second for the DateTimeOriginal property
ThumbArtist | Refers to the camera owner, photographer, or creator of the thumbnail image
ThumbCompression | Refers to the compression method for the thumbnail image
ThumbCopyright | Refers to the copyright information for the thumbnail image
ThumbDateTime | Refers to the date and time that the thumbnail image was created
ThumbImageDescription | Refers to the character string giving the title of the thumbnail image
ThumbImageHandle | The image handle (address) to the thumbnail image
ThumbMake | Refers to the manufacturer of the recording equipment that generated the thumbnail image
ThumbModel | Refers to the model name or model number of the equipment that generated the thumbnail image
ThumbOrientation | Refers to the image orientation of the thumbnail image as viewed in terms of rows and columns
ThumbResolutionUnit | The unit for measuring XResolution and YResolution in the thumbnail image
ThumbSoftware | Refers to the name and version of the software used to generate the thumbnail image
ThumbXResolution0 | Refers to the number of pixels per ThumbResolutionUnit in the thumbnail image in the horizontal direction. (This value is the numerator)
ThumbXResolution1 | Refers to the number of pixels per ThumbResolutionUnit in the thumbnail image in the horizontal direction. (This value is the denominator)
ThumbYCbCrPositioning | Refers to the position of chrominance components (CbCr) in relation to the luminance component (Y) in the thumbnail image
ThumbYResolution0 | Refers to the number of pixels per ThumbResolutionUnit in the thumbnail image in the vertical direction. (This value is the numerator)
ThumbYResolution1 | Refers to the number of pixels per ThumbResolutionUnit in the thumbnail image in the vertical direction. (This value is the denominator)
TimeStampH0 | Indicates the GPS time stamp in hours. This is the numerator.
TimeStampH1 | Indicates the GPS time stamp in hours. This is the denominator.
TimeStampM0 | Indicates the GPS time stamp in minutes. This is the numerator.
TimeStampM1 | Indicates the GPS time stamp in minutes. This is the denominator.
TimeStampS0 | Indicates the GPS time stamp in seconds. This is the numerator.
TimeStampS1 | Indicates the GPS time stamp in seconds. This is the denominator.
UserComment | Comments or keywords that the Exif user can place on the image
UserCommentID | An identification code (8 bytes) that occurs at the start of the UserComment tag
Version | Refers to the version of the Exif Standard supported
WhiteBalance | Indicates the white balance mode


ImageKit File Exif Interface Properties

Custom Properties | Explanation
Altitude0 | The altitude in meters where the image was taken. This is the numerator.
Altitude1 | The altitude in meters where the image was taken. This is the denominator.
AltitudeRef | The reference altitude
ApertureValue0 | The numerator for the lens aperature value
ApertureValue1 | The denominator for the lens aperature value
BrightnessValue0 | The numerator for the brightness value
BrightnessValue1 | The denominator for the brightness value
ColorSpace | Color space information
ComponentsConfiguration | Refers to the color of each color plane in the Exif image arranged in order from the 1st plane to the 4th plane
CompressedBitsPerPixel0 | The numerator for the compression mode used for a compressed image. (bits/pixel)
CompressedBitsPerPixel1 | The denominator for the compression mode used for a compressed image. (bits/pixel)
Contrast | Contrast when image was captured
DateStame | GPS datetime
DateTimeDigitized | The date and time of digital data generation
DateTimeOriginal | The date and time of original data generation
ExposureBiasValue0 | The numerator for the exposure bias value
ExposureBiasValue1 | The denominator for the exposure bias value
ExposureIndex0 | The numerator for the exposure index selected on the camera or input device at the time the image was captured
ExposureIndex1 | The denominator for the exposure index selected on the camera or input device at the time the image was captured
ExposureProgram | Refers to the class of the program used by the camera to set exposure when the image was taken
ExposureTime0 | The numerator for the exposure time
ExposureTime1 | The denominator for the exposure time
FileSource | Indicates the image source
Flash | Indicates the flash firing status and the flash return status
FlashEnergy0 | The numerator for the strobe energy at the time the image was captured
FlashEnergy1 | The denominator for the strobe energy at the time the image was captured
FlashPixVersion | Refers to the version of the FlashPix format supported
FNumber0 | The numerator for the F number value
FNumber1 | The denominator for the F number value
FocalLength0 | The numerator for the focal length of the lens
FocalLength1 | The denominator for the focal length of the lens
FocalPlaneResolutionUnit | The units of measurement of the local plane
FocalPlaneXResolution0 | The numerator of the horizontal focal plane resolution
FocalPlaneXResolution1 | The denominator of the horizontal focal plane resolution
FocalPlaneYResolution0 | The numerator of the vertical focal plane resolution
FocalPlaneYResolution1 | The denominator of the vertical focal plane resolution
GPSVersion | Refers to the GPS tag version (i.e. "2000")
InteroperabilityIndex | The identification of the Interoperability rule
InteroperabilityVersion | Interoperability version
ISOSpeedRatings | Indicates the ISO Speed and ISO Latitude of the camera or input device
Latitude | Refers to the latitude direction where the image was taken. (i.e. "N" or "S")
LatitudeD0 | The latitude in degrees where the image was taken. This is the numerator
LatitudeD1 | The latitude in degrees where the image was taken. This is the denominator
LatitudeM0 | The latitude in minutes where the image was taken. This is the numerator
LatitudeM1 | The latitude in minutes where the image was taken. This is the denominator
LatitudeS0 | The latitude in seconds where the image was taken. This is the numerator
LatitudeS1 | The latitude in seconds where the image was taken. This is the denominator
LightSource | Refers to the type of light source
Longitude | Refers to the longitude direction where the image was taken. (i.e. "E" or "W")
LongitudeD0 | The longitude in degrees where the image was taken. This is the numerator
LongitudeD1 | The longitude in degrees where the image was taken. This is the denominator
LongitudeM0 | The longitude in minutes where the image was taken. This is the numerator
LongitudeM1 | The longitude in minutes where the image was taken. This is the denominator
LongitudeS0 | The longitude in seconds where the image was taken. This is the numerator
LongitudeS1 | The longitude in seconds where the image was taken. This is the denominator
MainArtist | Refers to the camera owner, photographer, or creator of the primary image
MainCopyright | Refers to the copyright information for the primary image
MainDateTime | Refers to the date and time that the primary image was created
MainImageDescription | Refers to the character string giving the title of the primary image
MainMake | Refers to the manufacturer of the recording equipment that generated the primary image
MainModel | Refers to the model name or model number of the equipment that generated the primary image
MainOrientation | Refers to the image orientation of the primary image as viewed in terms of rows and columns
MainResolutionUnit | The unit for measuring XResolution and YResolution in the primary image
MainSoftware | Refers to the name and version of the software used to generate the primary image
MainXResolution0 | Refers to the number of pixels per MainResolutionUnit in the primary image in the horizontal direction. (This value is the numerator)
MainXResolution1 | Refers to the number of pixels per MainResolutionUnit in the primary image in the horizontal direction. (This value is the denominator)
MainYCbCrPositioning | Refers to the position of chrominance components (CbCr) in relation to the luminance component (Y) in the primary image
MainYResolution0 | Refers to the number of pixels per MainResolutionUnit in the primary image in the vertical direction. (This value is the numerator)
MainYResolution1 | Refers to the number of pixels per MainResolutionUnit in the primary image in the vertical direction. (This value is the denominator)
MakerNote | Comments of the manufacturer of the Exif writer
MapDatum | Refers to the name of the map data used
MaxApertureValue0 | The numerator for the smallest F value of the lens
MaxApertureValue1 | The denominator for the smallest F value of the lens
MeteringMode | Refers to the metering mode
PixelXDimension | Refers to the width of the image
PixelYDimension | Refers to the height of the image
ProcessingMethod | The name of the method used for location finding
ProcessingMethodID | Identification code for the processing method
Saturation | Saturation when image was captured
SceneCaptureType | Indicates the type of scene when image was captured
SceneType | Indicates the type of scene of the image
SensingMethod | Refers to the image sensor type on the camera or input device
Sharpness | Sharpness when image was captured
ShutterSpeedValue0 | The numerator for the shutter speed
ShutterSpeedValue1 | The denominator for the shutter speed
SpectralSensitivity | Refers to the spectral sensitivity of each channel of the camera used
SubjectDistance0 | The numerator for the distance to the subject
SubjectDistance1 | The denominator for the distance to the subject
SubjectLocationX | Refers to the horizontal location of the main subject in the scene
SubjectLocationY | Refers to the vertical location of the main subject in the scene
SubSecTime | Records fractions of a second for the MainDateTime property
SubSecTimeDigitized | Records fractions of a second for the DateTimeDigitized property
SubSecTimeOriginal | Records fractions of a second for the DateTimeOriginal property
ThumbArtist | Refers to the camera owner, photographer, or creator of the thumbnail image
ThumbCompression | Refers to the compression method for the thumbnail image
ThumbCopyright | Refers to the copyright information for the thumbnail image
ThumbDateTime | Refers to the date and time that the thumbnail image was created
ThumbImageDescription | Refers to the character string giving the title of the thumbnail image
ThumbImageHandle | The image handle (address) to the thumbnail image
ThumbMake | Refers to the manufacturer of the recording equipment that generated the thumbnail image
ThumbModel | Refers to the model name or model number of the equipment that generated the thumbnail image
ThumbOrientation | Refers to the image orientation of the thumbnail image as viewed in terms of rows and columns
ThumbResolutionUnit | The unit for measuring XResolution and YResolution in the thumbnail image
ThumbSoftware | Refers to the name and version of the software used to generate the thumbnail image
ThumbXResolution0 | Refers to the number of pixels per ThumbResolutionUnit in the thumbnail image in the horizontal direction. (This value is the numerator)
ThumbXResolution1 | Refers to the number of pixels per ThumbResolutionUnit in the thumbnail image in the horizontal direction. (This value is the denominator)
ThumbYCbCrPositioning | Refers to the position of chrominance components (CbCr) in relation to the luminance component (Y) in the thumbnail image
ThumbYResolution0 | Refers to the number of pixels per ThumbResolutionUnit in the thumbnail image in the vertical direction. (This value is the numerator)
ThumbYResolution1 | Refers to the number of pixels per ThumbResolutionUnit in the thumbnail image in the vertical direction. (This value is the denominator)
TimeStampH0 | Indicates the GPS time stamp in hours. This is the numerator.
TimeStampH1 | Indicates the GPS time stamp in hours. This is the denominator.
TimeStampM0 | Indicates the GPS time stamp in minutes. This is the numerator.
TimeStampM1 | Indicates the GPS time stamp in minutes. This is the denominator.
TimeStampS0 | Indicates the GPS time stamp in seconds. This is the numerator.
TimeStampS1 | Indicates the GPS time stamp in seconds. This is the denominator.
UserComment | Comments or keywords that the Exif user can place on the image
UserCommentID | An identification code (8 bytes) that occurs at the start of the UserComment tag
Version | Refers to the version of the Exif Standard supported
WhiteBalance | Indicates the white balance mode


Altitude0 (ImageKit Control/ Exif Property)

The altitude in meters where the image was taken. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.Altitude0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetAltitude0()
imagekitcontrolname.GetFile().GetExif().SetAltitude0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.Altitude0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.Altitude0[ = int ]

Reference

Altitude0 is the numerator for altitude in meters

Altitude1 is the denominator for altitude in meters

Altitude = Altitude0 / Altitude1

Explanation

The Altitude0 property refers to the altitude in meters where the image was taken. This is the numerator. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property is related to the Exif GPS tag.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


Altitude1 (ImageKit Control/ Exif Property)

The altitude in meters where the image was taken. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.Altitude1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetAltitude1()
imagekitcontrolname.GetFile().GetExif().SetAltitude1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.Altitude1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.Altitude1[ = int ]

Reference

Altitude0 is the numerator for altitude in meters

Altitude1 is the denominator for altitude in meters

Altitude = Altitude0 / Altitude1

Explanation

The Altitude1 property refers to the altitude in meters where the image was taken. This is the denominator. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property is related to the Exif GPS tag.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


AltitudeRef (ImageKit Control/ Exif Property)

This property indicates the altitude reference or standard.

[Visual Basic] imagekitcontrolname.File.Exif.AltitudeRef[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetAltitudeRef()
imagekitcontrolname.GetFile().GetExif().SetAltitudeRef(short Val)
[VB.NET] imagekitcontrolname.File.Exif.AltitudeRef[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.AltitudeRef[ = short ]

Reference

The reference altitude

Explanation

The AltitudeRef property indicates the altitude used as the reference altitude. If the reference is sea level and the altitude is above sea level, 0 is given. If the altitude is below sea level, a value of 1 is given. The reference unit is meters.The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property is related to the Exif GPS tag.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ApertureValue0 (ImageKit Control/ Exif Property)

This property refers to the lens aperature value. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.ApertureValue0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetApertureValue0()
imagekitcontrolname.GetFile().GetExif().SetApertureValue0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ApertureValue0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ApertureValue0[ = int ]

Reference

ApertureValue0 is the numerator for the lens aperature value

ApertureValue1 is the denominator for the lens aperature value

The lens aperature value (unit is the APEX value) = ApertureValue0 / ApertureValue1

*APEX is the Additive System of Photographic Exposure, a standard unit for expressing exposure.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ApertureValue1 (ImageKit Control/ Exif Property)

This property refers to the lens aperature value. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.ApertureValue1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetApertureValue1()
imagekitcontrolname.GetFile().GetExif().SetApertureValue1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ApertureValue1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ApertureValue1[ = int ]

Reference

ApertureValue0 is the numerator for the lens aperature value

ApertureValue1 is the denominator for the lens aperature value

The lens aperature value (unit is the APEX value) = ApertureValue0 / ApertureValue1

*APEX is the Additive System of Photographic Exposure, a standard unit for expressing exposure.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


BrightnessValue0 (ImageKit Control/ Exif Property)

This property refers to the brightness value. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.BrightnessValue0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetBrightnessValue0()
imagekitcontrolname.GetFile().GetExif().SetBrightnessValue0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.BrightnessValue0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.BrightnessValue0[ = int ]

Reference

BrightnessValue0 is the numerator for the brightness value

BrightnessValue1 is the denominator for the brightness value

The brightness value (unit is the APEX value) = BrightnessValue0 / BrightnessValue1

Ordinarily brightness is given in the range from -99.99 to 99.99

*APEX is the Additive System of Photographic Exposure, a standard unit for expressing exposure.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


BrightnessValue1 (ImageKit Control/ Exif Property)

This property refers to the brightness value. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.BrightnessValue1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetBrightnessValue1()
imagekitcontrolname.GetFile().GetExif().SetBrightnessValue1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.BrightnessValue1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.BrightnessValue1[ = int ]

Reference

BrightnessValue0 is the numerator for the brightness value

BrightnessValue1 is the denominator for the brightness value

The brightness value (unit is the APEX value) = BrightnessValue0 / BrightnessValue1

Ordinarily brightness is given in the range from -99.99 to 99.99

*APEX is the Additive System of Photographic Exposure, a standard unit for expressing exposure.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ColorSpace (ImageKit Control/ Exif Property)

This property refers to the color space information in the Exif image.

[Visual Basic] imagekitcontrolname.File.Exif.ColorSpace[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetColorSpace()
imagekitcontrolname.GetFile().GetExif().SetColorSpace(short Val)
[VB.NET] imagekitcontrolname.File.Exif.ColorSpace[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.ColorSpace[ = short ]

Reference

Value | Explanation
1 | sRGB

Explanation

The ColorSpace property refers to the color space information in the Exif image.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to the special characteristics of the image.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ComponentsConfiguration (ImageKit Control/ Exif Property)

This property refers to the color of each color plane in the Exif image arranged in order from the 1st plane to the 4th plane.

[Visual Basic] imagekitcontrolname.File.Exif.ComponentsConfiguration[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetComponentsConfiguration()
imagekitcontrolname.GetFile().GetExif().SetComponentsConfiguration(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.ComponentsConfiguration[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.ComponentsConfiguration[ = string ]

Reference

Value | Explanation
0 | does not exist
1 | Y
2 | Cb
3 | Cr
4 | R
5 | G
6 | B

The default value for RGB is 4560 , for JPEG is 1230.

Explanation

This property refers to the color of each color plane in the Exif image arranged in order from the 1st plane to the 4th plane.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to the image color planes. This tag is provided for cases when image data uses plane other the Y,Cr,Cb and to enable support of other sequences.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


CompressedBitsPerPixel0 (ImageKit Control/ Exif Property)

This property refers to the compression mode used for a compressed Exif image. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.CompressedBitsPerPixel0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetCompressedBitsPerPixel0()
imagekitcontrolname.GetFile().GetExif().SetCompressedBitsPerPixel0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.CompressedBitsPerPixel0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.CompressedBitsPerPixel0[ = int ]

Reference

CompressedBitsPerPixel0 is the numerator for the compression mode

CompressedBitsPerPixel1 is the denominator for the compression mode

The compression mode = CompressedBitsPerPixel0 / CompressedBitsPerPixel1 (bit/pixel units)

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property refers to the compression mode used for a compressed Exif image.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


CompressedBitsPerPixel1 (ImageKit Control/ Exif Property)

This property refers to the compression mode used for a compressed Exif image. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.CompressedBitsPerPixel1[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetCompressedBitsPerPixel1()
imagekitcontrolname.GetFile().GetExif().SetCompressedBitsPerPixel1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.CompressedBitsPerPixel1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.CompressedBitsPerPixel1[ = int ]

Reference

CompressedBitsPerPixel0 is the numerator for the compression mode

CompressedBitsPerPixel1 is the denominator for the compression mode

The compression mode = CompressedBitsPerPixel0 / CompressedBitsPerPixel1 (bit/pixel units)

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property refers to the compression mode used for a compressed Exif image.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


Contrast (ImageKit Control/ Exif Property)

This property refers to the contrast used by the camera when image was captured.

[Visual Basic] imagekitcontrolname.File.Exif.Contrast [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetContrast()
imagekitcontrolname.GetFile().GetExif().SetContrast(short Val)
[VB.NET] imagekitcontrolname.File.Exif.Contrast[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.Contrast[ = short ]

Explanation

The Contrast property refers to the contrast used by the camera when image was captured.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to the photographic conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


DateStamp (ImageKit Control/ Exif Property)

This property refers to the GPS date information in the Exif image.

[Visual Basic] imagekitcontrolname.File.Exif.DateStamp[ = Integer ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetDateStamp()
imagekitcontrolname.GetFile().GetExif().SetDateStamp(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.DateStamp[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.DateStamp[ = short ]

Reference

GPS date information is based on UTC (Coordinated Universal Time). Format "YYYY:MM:DD"

Explanation

The DateStamp property refers to the GPS date information in the Exif image. The Value is based on UTC format, "YYYY:MM:DD".

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to GPS information of the Exif image.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


DateTimeDigitized (ImageKit Control/ Exif Property)

This property refers to the time when the image data was stored as digital data.

[Visual Basic] imagekitcontrolname.File.Exif.DateTimeDigitized [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetDateTimeDigitized()
imagekitcontrolname.GetFile().GetExif().SetDateTimeDigitized(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.DateTimeDigitized[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.DateTimeDigitized[ = string ]

Reference

DateTimeDigitized is the date and time when the image was stored as digital data.

The format is "YYYY:MM:DD HH:MM:SS" with the time shown in 24 hour format, and the date and time separated by one blank character.

Example: "1996:09:01 09:15:30"

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to the date and time.

the DateTimeDigitized and the DateTimeOriginal properties refer to the time when the original image data was generated and when this data was stored as digital data. If, for example, an image was captured by a DSC (Digital Still Camera) and at the same the the file was recorded, then the DateTimeDigitized and the DateTimeOriginal will have the same contents.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


DateTimeOriginal (ImageKit Control/ Exif Property)

This property refers to the time when the original image data was generated.

[Visual Basic] imagekitcontrolname.File.Exif.DateTimeOriginal[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetDateTimeOriginal()
imagekitcontrolname.GetFile().GetExif().SetDateTimeOriginal(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.DateTimeOriginal[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.DateTimeOriginal[ = string ]

Reference

DateTimeOriginal is the data and time when the original image data was generated.

The format is "YYYY:MM:DD HH:MM:SS" with the time shown in 24 hour format, and the date and time separated by one blank character.

Example: "1996:09:01 09:15:30"

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to the date and time.

the DateTimeDigitized and the DateTimeOriginal properties refer to the time when the original image data was generated and when this data was stored as digital data. If, for example, an image was captured by a DSC (Digital Still Camera) and at the same the the file was recorded, then the DateTimeDigitized and the DateTimeOriginal will have the same contents.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ExposureBiasValue0 (ImageKit Control/ Exif Property)

This property relates to the exposure bias. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.ExposureBiasValue0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetExposureBiasValue0()
imagekitcontrolname.GetFile().GetExif().SetExposureBiasValue0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ExposureBiasValue0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ExposureBiasValue0[ = int ]

Reference

ExposureBiasValue0 is the numerator for the exposure bias value

ExposureBiasValue1 is the denominator for the exposure bias value

The exposure bias value (unit is the APEX value) = ExposureBiasValue0 / ExposureBiasValue1

Ordinarily exposure bias is given in the range from -99.99 to 99.99

*APEX is the Additive System of Photographic Exposure, a standard unit for expressing exposure.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ExposureBiasValue1 (ImageKit Control/ Exif Property)

This property relates to the exposure bias. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.ExposureBiasValue1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetExposureBiasValue1()
imagekitcontrolname.GetFile().GetExif().SetExposureBiasValue1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ExposureBiasValue1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ExposureBiasValue1[ = int ]

Reference

ExposureBiasValue0 is the numerator for the exposure bias value

ExposureBiasValue1 is the denominator for the exposure bias value

The exposure bias value (unit is the APEX value) = ExposureBiasValue0 / ExposureBiasValue1

Ordinarily exposure bias is given in the range from -99.99 to 99.99

*APEX is the Additive System of Photographic Exposure, a standard unit for expressing exposure.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ExposureIndex0 (ImageKit Control/ Exif Property)

This property relates to the exposure index selected on the camera or input device at the time the image was captured. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.ExposureIndex0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetExposureIndex0()
imagekitcontrolname.GetFile().GetExif().SetExposureIndex0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ExposureIndex0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ExposureIndex0[ = int ]

Reference

ExposureIndex0 is the numerator for the exposure index.

ExposureIndex1 is the denominator for the exposure index.

The exposure index = ExposureIndex0 / ExposureIndex1. This indicates the exposure index selected on the camera or input device at the time the image was captured.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ExposureIndex1 (ImageKit Control/ Exif Property)

This property relates to the exposure index selected on the camera or input device at the time the image was captured. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.ExposureIndex1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetExposureIndex1()
imagekitcontrolname.GetFile().GetExif().SetExposureIndex1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ExposureIndex1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ExposureIndex1[ = int ]

Reference

ExposureIndex0 is the numerator for the exposure index.

ExposureIndex1 is the denominator for the exposure index.

The exposure index = ExposureIndex0 / ExposureIndex1. This indicates the exposure index selected on the camera or input device at the time the image was captured.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ExposureProgram (ImageKit Control/ Exif Property)

This property refers to the class of the program used by the camera to set exposure when the image was taken.

[Visual Basic] imagekitcontrolname.File.Exif.ExposureProgram[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetExposureProgram()
imagekitcontrolname.GetFile().GetExif().SetExposureProgram(short Val)
[VB.NET] imagekitcontrolname.File.Exif.ExposureProgram[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.ExposureProgram[ = short ]

Reference

Value | Explanation
0 | Not defined
1 | Manual
2 | Normal program
3 | Aperture priority
4 | Shutter priority
5 | Creative program (biased toward depth of field)
6 | Action program (biased toward fast shutter speed)
7 | Portrait mode (for clsoeup photos with the background out of focus)
8 | Landscape mode (for landscapes with the background in focus

Explanation

The ExposureProgram property refers to the class of the program used by the camera to set exposure when the image was taken.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ExposureTime0 (ImageKit Control/ Exif Property)

This property is the numerator for the exposure time.

[Visual Basic] imagekitcontrolname.File.Exif.ExposureTime0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetExposureTime0()
imagekitcontrolname.GetFile().GetExif().SetExposureTime0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ExposureTime0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ExposureTime0[ = int ]

Reference

ExposureTime0 is the numerator for the exposure time.

ExposureTime1 is the denominator for the exposure time.

Exposure time (in seconds) = ExposureTime0 / ExposureTime1.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ExposureTime1 (ImageKit Control/ Exif Property)

This property is the denominator for the exposure time.

[Visual Basic] imagekitcontrolname.File.Exif.ExposureTime1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetExposureTime1()
imagekitcontrolname.GetFile().GetExif().SetExposureTime1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ExposureTime1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ExposureTime1[ = int ]

Reference

ExposureTime0 is the numerator for the exposure time.

ExposureTime1 is the denominator for the exposure time.

Exposure time (in seconds) = ExposureTime0 / ExposureIndex1.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FileSource (ImageKit Control/ Exif Property)

This property refers to the image source.

[Visual Basic] imagekitcontrolname.File.Exif.FileSource[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetFileSource()
imagekitcontrolname.GetFile().GetExif().SetFileSource(short Val)
[VB.NET] imagekitcontrolname.File.Exif.FileSource[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.FileSource[ = short ]

Reference

FileSource indicates the image source. If a DSC (Digital Still Camera) recorded the image, this value must be set to 3 indicating that the image was recorded on a DSC.

Value | Explanation
0 | Other
1 | Transmissive scanner
2 | Reflective scanner
3 | Digital Camera

Explanation

The FileSource property refers to the image source.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the photographic conditions.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


Flash (ImageKit Control/ Exif Property)

This property indicates the flash conditions at the time the image was captured.

[Visual Basic] imagekitcontrolname.File.Exif.Flash[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetFlash()
imagekitcontrolname.GetFile().GetExif().SetFlash(short Val)
[VB.NET] imagekitcontrolname.File.Exif.Flash[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.Flash[ = short ]

Reference

This property value is recorded when the image is taken with a flash.

Bit 0 indicates the flash firing status, and bits 1 and 2 indicate the flash return status, bits 3 and 4 indicate the camera flash mode, bit 5 indicates the presence of flash function, bit 6 indicates red-eye mode.

For a visual representation of the bit coding for the flash tag, please refer to this image:

Values for bit 0 indicate whether the flash fired

0b = Flash did not fire

1b = Flash fired

Values for bits 1 and 2 indicate the return status

00b = No flash return detection function

01b = Reserved

10b = Flash return light not detected

11b = Flash return light detected

Values for bits 3 and 4 indicate the flash mode

00b = Unknown flash mode

01b = Compulsory flash firing

10b = Compulsory flash supression

11b = Auto mode

Values for bit 5 indicate the presence of flash function

0b = Flash function is present

1b = Flash function is not present

Values for bit 6 indicate red-eye mode

0b = No red-eye reduction mode or unknown

1b = Red-eye reduction supported

Resulting flash tag values (in hexadecimal notation)

0x0000 = Flash did not fire

0x0001 = Flash fired

0x0005 = Flash return light not detected

0x0007 = Flash return light detected

* In Visual Basic, VB.NET, or C#.NET an &H is used.

Explanation

The Flash property indicates the flash conditions at the time the image was captured.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the photographic conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FlashEnergy0 (ImageKit Control/ Exif Property)

This property is the numerator for the strobe energy at the time the image was captured.

[Visual Basic] imagekitcontrolname.File.Exif.FlashEnergy0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetFlashEnergy0()
imagekitcontrolname.GetFile().GetExif().SetFlashEnergy0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.FlashEnergy0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.FlashEnergy0[ = int ]

Reference

FlashEnergy0 is the numerator for the flash energy.

FlashEnergy1 is the denominator for the flash energy.

Flash energy (in BCPS) = FlashEnergy0 / FlashEnergy1. This indicates the strobe energy at the time the image was captured as measured in Beam Candle Power Seconds.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FlashEnergy1 (ImageKit Control/ Exif Property)

This property is the denominator for the strobe energy at the time the image was captured.

[Visual Basic] imagekitcontrolname.File.Exif.FlashEnergy1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetFlashEnergy1()
imagekitcontrolname.GetFile().GetExif().SetFlashEnergy1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.FlashEnergy1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.FlashEnergy1[ = int ]

Reference

FlashEnergy0 is the numerator for the flash energy.

FlashEnergy1 is the denominator for the flash energy.

Flash energy (in BCPS) = FlashEnergy0 / FlashEnergy1. This indicates the strobe energy at the time the image was captured as measured in Beam Candle Power Seconds.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FlashPixVersion (ImageKit Control/ Exif Property)

This property refers to the version of the FlashPix format supported.

[Visual Basic] imagekitcontrolname.File.Exif.FlashPixVersion [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetFlashPixVersion()
imagekitcontrolname.GetFile().GetExif().SetFlashPixVersion(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.FlashPixVersion[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.FlashPixVersion[ = string ]

Reference

FlashPixVersion is the FlashPix format version supported by a FPRX file. (Example: "0100" indicates FlashPix version 1.0)

Explanation

The FlashPixVersion property refers to the version of the FlashPix format supported.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the version information.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.

.


FNumber0 (ImageKit Control/ Exif Property)

This property is the numerator for the F number value

[Visual Basic] imagekitcontrolname.File.Exif.FNumber0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetFNumber0()
imagekitcontrolname.GetFile().GetExif().SetFNumber0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.FNumber0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.FNumber0[ = int ]

Reference

FNumber0 is the numerator for the FNumber

FNumber1 is the denominator for the FNumber

The FNumber = FNumber0 / FNumber1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FNumber1 (ImageKit Control/ Exif Property)

This property is the denominator for the F number value

[Visual Basic] imagekitcontrolname.File.Exif.FNumber1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetFNumber1()
imagekitcontrolname.GetFile().GetExif().SetFNumber1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.FNumber1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.FNumber1[ = int ]

Reference

FNumber0 is the numerator for the FNumber

FNumber1 is the denominator for the FNumber

The FNumber = FNumber0 / FNumber1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FocalLength0 (ImageKit Control/ Exif Property)

This property is the numerator for the focal length of the lens

[Visual Basic] imagekitcontrolname.File.Exif.FocalLength0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetFocalLength0()
imagekitcontrolname.GetFile().GetExif().SetFocalLength0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.FocalLength0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.FocalLength0[ = int ]

Reference

FocalLength0 is the numerator for the focal length of the lens

FocalLength1 is the denominator for the focal length of the lens

The actual focal length of the lens (in mm) = FocalLength0 / FocalLength1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FocalLength1 (ImageKit Control/ Exif Property)

This property is the denominator for the focal length of the lens

[Visual Basic] imagekitcontrolname.File.Exif.FocalLength1[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetFocalLength1()
imagekitcontrolname.GetFile().GetExif().SetFocalLength1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.FocalLength1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.FocalLength1[ = int ]

Reference

FocalLength0 is the numerator for the focal length of the lens

FocalLength1 is the denominator for the focal length of the lens

The actual focal length of the lens (in mm) = FocalLength0 / FocalLength1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FocalPlaneResolutionUnit (ImageKit Control/ Exif Property)

This property refers to the units of measurement for focal plane resolution in the primary and thumbnail images.

[Visual Basic] imagekitcontrolname.File.Exif.FocalPlaneResolutionUnit [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetFocalPlaneResolutionUnit()
imagekitcontrolname.GetFile().GetExif().SetFocalPlaneResolutionUnit(short Val)
[VB.NET] imagekitcontrolname.File.Exif.FocalPlaneResolutionUnit[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.FocalPlaneResolutionUnit[ = short ]

Reference

The FocalPlaneResolutionUnit is the unit of measurement for FocalPlaneXResolution and FocalPlaneYResolution.

The FocalPlaneResolutionUnit is FocalPlaneResolutionUnit0 / FocalPlaneXResolution1 and FocalPlaneYResolution0 / FocalPlaneYResolution1.

Value | Explanation
2 | Inches
3 | Centimeters

Explanation

The FocalPlaneResolutionUnit property refers to the units of measurement for focal plane resolution and the units of measurement for resolution in the primary and thumbnail images.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FocalPlaneXResolution0 (ImageKit Control/ Exif Property)

This property refers to the horizontal focal plane resolution. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.FocalPlaneXResolution0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetFocalPlaneXResolution0()
imagekitcontrolname.GetFile().GetExif().SetFocalPlaneXResolution0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.FocalPlaneXResolution0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.FocalPlaneXResolution0[ = int ]

Reference

The FocalPlaneXResolution is the number of pixels in the image horizontal direction per FocalPlaneResolutionUnit on the camera focal plane.

The FocalPlaneXResolution0 is the numerator for the FocalPlaneXResolution.

The FocalPlaneXResolution1 is the denominator for the FocalPlaneXResolution.

The FocalPlaneResolutionUnit = FocalPlaneXResolution0 / FocalPlaneXResolution1

Explanation

The FocalPlaneXResolution0 property refers to the horizontal focal plane resolution.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FocalPlaneXResolution1 (ImageKit Control/ Exif Property)

This property refers to the horizontal focal plane resolution. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.FocalPlaneXResolution1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetFocalPlaneXResolution1()
imagekitcontrolname.GetFile().GetExif().SetFocalPlaneXResolution1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.FocalPlaneXResolution1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.FocalPlaneXResolution1[ = int ]

Reference

The FocalPlaneXResolution is the number of pixels in the image horizontal direction per FocalPlaneResolutionUnit on the camera focal plane.

The FocalPlaneXResolution0 is the numerator for the FocalPlaneXResolution.

The FocalPlaneXResolution1 is the denominator for the FocalPlaneXResolution.

The FocalPlaneResolutionUnit = FocalPlaneXResolution0 / FocalPlaneXResolution1

Explanation

The FocalPlaneXResolution1 property refers to the horizontal focal plane resolution.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FocalPlaneYResolution0 (ImageKit Control/ Exif Property)

This property refers to the vertical focal plane resolution. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.FocalPlaneYResolution0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetFocalPlaneYResolution0()
imagekitcontrolname.GetFile().GetExif().SetFocalPlaneYResolution0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.FocalPlaneYResolution0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.FocalPlaneYResolution0[ = int ]

Reference

The FocalPlaneYResolution is the number of pixels in the image vertical direction per FocalPlaneResolutionUnit on the camera focal plane.

The FocalPlaneYResolution0 is the numerator for the FocalPlaneYResolution.

The FocalPlaneYResolution1 is the denominator for the FocalPlaneYResolution.

The FocalPlaneResolutionUnit = FocalPlaneYResolution0 / FocalPlaneYResolution1

Explanation

The FocalPlaneYResolution0 property refers to the vertical focal plane resolution.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


FocalPlaneYResolution1 (ImageKit Control/ Exif Property)

This property refers to the vertical focal plane resolution. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.FocalPlaneYResolution1[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetFocalPlaneYResolution1()
imagekitcontrolname.GetFile().GetExif().SetFocalPlaneYResolution1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.FocalPlaneYResolution1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.FocalPlaneYResolution1[ = int ]

Reference

The FocalPlaneYResolution is the number of pixels in the image vertical direction per FocalPlaneResolutionUnit on the camera focal plane.

The FocalPlaneYResolution0 is the numerator for the FocalPlaneYResolution.

The FocalPlaneYResolution1 is the denominator for the FocalPlaneYResolution.

The FocalPlaneResolutionUnit = FocalPlaneYResolution0 / FocalPlaneYResolution1

Explanation

The FocalPlaneYResolution1 property refers to the vertical focal plane resolution.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


GPSVersion (ImageKit Control/ Exif Property)

This property refers to the GPS tag version (i.e. "2000")

[Visual Basic] imagekitcontrolname.File.Exif.GPSVersion[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetGPSVersion()
imagekitcontrolname.GetFile().GetExif().SetGPSVersion(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.GPSVersion[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.GPSVersion[ = string ]

Reference

The GPS tag version (i.e. "2000")

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the version information.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


InteroperabilityIndex (ImageKit Control/ Exif Property)

This property refers to the identification of the Interoperability rule

[Visual Basic] imagekitcontrolname.File.Exif.InteroperabilityIndex [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().InteroperabilityIndex()
imagekitcontrolname.GetFile().GetExif().SetInteroperabilityIndex(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.InteroperabilityIndex[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.InteroperabilityIndex[ = string ]

Reference

The interoperability index

"R98" The R98 file as prescribed by Exif98 or the standard DCF file as prescribed by the Design Rule for Camera File System.
"THM" The standard DCF thumbnail file as prescribed by the Design Rule for Camera File System.
"R03" The standard DCF option file as prescribed by the Design Rule for Camera File System.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the interoperability.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


InteroperabilityVersion (ImageKit Control/ Exif Property)

This property refers to the interoperability version

[Visual Basic] imagekitcontrolname.File.Exif.InteroperabilityVersion[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().InteroperabilityVersion()
imagekitcontrolname.GetFile().GetExif().SetInteroperabilityVersion(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.InteroperabilityVersion[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.InteroperabilityVersion[ = string ]

Reference

The interoperability Version (i.e. "0100")

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the interoperability.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


IsExif (ImageKit Control/ Exif Property)

This property refers to whether or not the image is Exif.

[Visual Basic] imagekitcontrolname.File.Exif.IsExif[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetExif().IsExif()
[VB.NET] imagekitcontrolname.File.Exif.IsExif[ = Boolean ]
[C#.NET] imagekitcontrolname.File.Exif.IsExif[ = bool ]

Reference

Value | Explanation
True | The file is an Exif file
False | The file is not an Exif file

Explanation

The IsExif property refers to whether or not the image file is an exif file. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ISOSpeedRatings (ImageKit Control/ Exif Property)

This property indicates the ISO Speed and ISO Latitude of the camera or input device.

[Visual Basic] imagekitcontrolname.File.Exif.ISOSpeedRatings[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetISOSpeedRatings()
imagekitcontrolname.GetFile().GetExif().SetISOSpeedRatings(short Val)
[VB.NET] imagekitcontrolname.File.Exif.ISOSpeedRatings[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.ISOSpeedRatings[ = short ]

Reference

Indicates the ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232xiv

Explanation

The ISOSpeedRatings property indicates the ISO Speed and ISO Latitude of the camera or input device

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


Latitude (ImageKit Control/ Exif Property)

This property refers to the latitude direction where the image was taken. (i.e. "N" or "S")

[Visual Basic] imagekitcontrolname.File.Exif.Latitude [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetLatitude()
imagekitcontrolname.GetFile().GetExif().SetLatitude(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.Latitude[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.Latitude[ = string ]

Reference

Latitude is the latitude direction where the image was taken. (i.e. "N" or "S")

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.

.


LatitudeD0 (ImageKit Control/ Exif Property)

This property refers to latitude in degrees where the image was taken. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.LatitudeD0[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLatitudeD0()
imagekitcontrolname.GetFile().GetExif().SetLatitudeD0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LatitudeD0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LatitudeD0[ = int ]

Reference

LatitudeD0 is the latitude in degrees where the image was taken. This is the numerator.

LatitudeD1 is the latitude in degrees where the image was taken. This is the denominator.

The latitude in degrees = LatitudeD0 / LatitudeD1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


LatitudeD1 (ImageKit Control/ Exif Property)

This property refers to latitude in degrees where the image was taken. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.LatitudeD1[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLatitudeD1()
imagekitcontrolname.GetFile().GetExif().SetLatitudeD1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LatitudeD1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LatitudeD1[ = int ]

Reference

LatitudeD0 is the latitude in degrees where the image was taken. This is the numerator.

LatitudeD1 is the latitude in degrees where the image was taken. This is the denominator.

The latitude in degrees = LatitudeD0 / LatitudeD1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


LatitudeM0 (ImageKit Control/ Exif Property)

This property refers to latitude in minutes where the image was taken. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.LatitudeM0[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLatitudeM0()
imagekitcontrolname.GetFile().GetExif().SetLatitudeM0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LatitudeM0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LatitudeM0[ = int ]

Reference

LatitudeM0 is the latitude in minutes where the image was taken. This is the numerator.

LatitudeM1 is the latitude in minutes where the image was taken. This is the denominator.

The latitude in minutes = LatitudeM0 / LatitudeM1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


LatitudeM1 (ImageKit Control/ Exif Property)

This property refers to latitude in minutes where the image was taken. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.LatitudeM1[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLatitudeM1()
imagekitcontrolname.GetFile().GetExif().SetLatitudeM1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LatitudeM1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LatitudeM1[ = int ]

Reference

LatitudeM0 is the latitude in minutes where the image was taken. This is the numerator.

LatitudeM1 is the latitude in minutes where the image was taken. This is the denominator.

The latitude in minutes = LatitudeM0 / LatitudeM1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


LatitudeS0 (ImageKit Control/ Exif Property)

This property refers to latitude in seconds where the image was taken. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.LatitudeS0[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLatitudeS0()
imagekitcontrolname.GetFile().GetExif().SetLatitudeS0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LatitudeS0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LatitudeS0[ = int ]

Reference

LatitudeS0 is the latitude in seconds where the image was taken. This is the numerator.

LatitudeS1 is the latitude in seconds where the image was taken. This is the denominator.

The latitude in seconds = LatitudeS0 / LatitudeS1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


LatitudeS1 (ImageKit Control/ Exif Property)

This property refers to latitude in seconds where the image was taken. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.LatitudeS1[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLatitudeS1()
imagekitcontrolname.GetFile().GetExif().SetLatitudeS1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LatitudeS1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LatitudeS1[ = int ]

Reference

LatitudeS0 is the latitude in seconds where the image was taken. This is the numerator.

LatitudeS1 is the latitude in seconds where the image was taken. This is the denominator.

The latitude in seconds = LatitudeS0 / LatitudeS1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


LightSource (ImageKit Control/ Exif Property)

This property refers to the type of light source.

[Visual Basic] imagekitcontrolname.File.Exif.LightSource[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetLightSource()
imagekitcontrolname.GetFile().GetExif().SetLightSource(short Val)
[VB.NET] imagekitcontrolname.File.Exif.LightSource[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.LightSource[ = short ]

Reference

Value | Explanation
0 | Unknown
1 | Daylight
2 | Fluorescent
3 | Tungsten (incandescent light)
4 | Flash
9 | Clear Weather
10 | Cloudy Day
11 | Shadow
12 | Daylight color fluorescent light (D: 5700 - 7100K)
13 | Mid-day white fluorescent light (N: 4600 - 5500K)
14 | White fluorescent light (W: 3800 - 4500K)
15 | White fluorescent light (WW: 3250 - 3800K)
16 | Florescent light bulb (L:2600 - 3250K)
17 | Standard light A
18 | Standard light B
19 | Standard light C
20 | D55
21 | D65
22 | D75
23 | D50
24 | ISO Studio Tungsten
255 | Other

Explanation

The LightSource property refers to the type of light source.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


Longitude (ImageKit Control/ Exif Property)

This property refers to the longitude direction where the image was taken. (i.e. "E" or "W")

[Visual Basic] imagekitcontrolname.File.Exif.Longitude[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetLongitude()
imagekitcontrolname.GetFile().GetExif().SetLongitude(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.Longitude[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.Longitude[ = string ]

Reference

Longitude is the longitude direction where the image was taken. (i.e. "E" or "W")

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.

.


LongitudeD0 (ImageKit Control/ Exif Property)

This property refers to longitude in degrees where the image was taken. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.LongitudeD0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLongitudeD0()
imagekitcontrolname.GetFile().GetExif().SetLongitudeD0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LongitudeD0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LongitudeD0[ = int ]

Reference

LongitudeD0 is the longitude in degrees where the image was taken. This is the numerator.

LongitudeD1 is the latitude in degrees where the image was taken. This is the denominator.

The longitude in degrees = LongitudeD0 / LongitudeD1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


LongitudeD1 (ImageKit Control/ Exif Property)

This property refers to longitude in degrees where the image was taken. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.LongitudeD1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLongitudeD1()
imagekitcontrolname.GetFile().GetExif().SetLongitudeD1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LongitudeD1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LongitudeD1[ = int ]

Reference

LongitudeD0 is the longitude in degrees where the image was taken. This is the denominator.

LongitudeD1 is the longitude in degrees where the image was taken. This is the denominator.

The longitude in degrees = LongitudeD0 / LongitudeD1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


LongitudeM0 (ImageKit Control/ Exif Property)

This property refers to longitude in minutes where the image was taken. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.LongitudeM0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLongitudeM0()
imagekitcontrolname.GetFile().GetExif().SetLongitudeM0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LongitudeM0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LongitudeM0[ = int ]

Reference

LongitudeM0 is the longitude in minutes where the image was taken. This is the numerator.

LongitudeM1 is the latitude in minutes where the image was taken. This is the denominator.

The longitude in minutes = LongitudeM0 / LongitudeM1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


LongitudeM1 (ImageKit Control/ Exif Property)

This property refers to longitude in minutes where the image was taken. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.LongitudeM1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLongitudeM1()
imagekitcontrolname.GetFile().GetExif().SetLongitudeM1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LongitudeM1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LongitudeM1[ = int ]

Reference

LongitudeM0 is the longitude in minutes where the image was taken. This is the denominator.

LongitudeM1 is the longitude in minutes where the image was taken. This is the denominator.

The longitude in minutes = LongitudeM0 / LongitudeM1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


LongitudeS0 (ImageKit Control/ Exif Property)

This property refers to longitude in seconds where the image was taken. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.LongitudeS0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLongitudeS0()
imagekitcontrolname.GetFile().GetExif().SetLongitudeS0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LongitudeS0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LongitudeS0[ = int ]

Reference

LongitudeS0 is the longitude in seconds where the image was taken. This is the numerator.

LongitudeS1 is the latitude in seconds where the image was taken. This is the denominator.

The longitude in seconds = LongitudeS0 / LongitudeS1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


LongitudeS1 (ImageKit Control/ Exif Property)

This property refers to longitude in seconds where the image was taken. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.LongitudeS1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetLongitudeS1()
imagekitcontrolname.GetFile().GetExif().SetLongitudeS1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.LongitudeS1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.LongitudeS1[ = int ]

Reference

LongitudeS0 is the longitude in seconds where the image was taken. This is the denominator.

LongitudeS1 is the longitude in seconds where the image was taken. This is the denominator.

The longitude in seconds = LongitudeS0 / LongitudeS1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.

.


MainArtist (ImageKit Control/ Exif Property)

This property refers to the information about the artist's name.

[Visual Basic] imagekitcontrolname.File.Exif.MainArtist [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetMainArtist()
imagekitcontrolname.GetFile().GetExif().SetThumbSoftware(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.MainArtist[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.MainArtist[ = string ]

Reference

MainArtist refers to the camera owner, photographer, or creator of the primary image

Explanation

The MainArtist property refers to the information about the artist's name.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainCopyright (ImageKit Control/ Exif Property)

This property refers to the information about the copyright.

[Visual Basic] imagekitcontrolname.File.Exif.MainCopyright [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetMainCopyright()
imagekitcontrolname.GetFile().GetExif().SetMainCopyright(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.MainCopyright[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.MainCopyright[ = string ]

Reference

MainCopyright refers to the copyright information for the primary image

Explanation

The MainCopyright property refers to the information about the copyright.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainDateTime (ImageKit Control/ Exif Property)

This property refers to the information about the date and time.

[Visual Basic] imagekitcontrolname.File.Exif.MainDateTime [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetMainDateTime()
imagekitcontrolname.GetFile().GetExif().SetMainDateTime(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.MainDateTime[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.MainDateTime[ = string ]

Reference

MainDateTime refers to the date and time that the primary image was created. The format is "YYYY:MM:DD HH:MM:SS" with the time shown in 24-hour format and the date and time separated by one blank character

Example: "1996:09:01 09:15:30"

Explanation

The MainDateTime property refers to the information about the date and time.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainImageDescription (ImageKit Control/ Exif Property)

This property refers to the information about the image description.

[Visual Basic] imagekitcontrolname.File.Exif.MainImageDescription [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetMainImageDescription()
imagekitcontrolname.GetFile().GetExif().SetMainImageDescription(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.MainImageDescription[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.MainImageDescription[ = string ]

Reference

MainImageDescription refers to the character string giving the title of the primary image

Explanation

The MainImageDescription property refers to the information about the image description.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainMake (ImageKit Control/ Exif Property)

This property refers to the information about the manufacturer's name.

[Visual Basic] imagekitcontrolname.File.Exif.MainMake [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetMainMake()
imagekitcontrolname.GetFile().GetExif().SetMainMake(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.MainMake[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.MainMake[ = string ]

Reference

MainMake refers to the manufacturer of the recording equipment that generated the primary image

Explanation

The MainMake property refers to the information about the manufacturer's name.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainModel (ImageKit Control/ Exif Property)

This property refers to the information about the model name or model number of the equipment.

[Visual Basic] imagekitcontrolname.File.Exif.MainModel [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetMainModel()
imagekitcontrolname.GetFile().GetExif().SetMainModel(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.MainModel[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.MainModel[ = string ]

Reference

MainModel refers to the model name or model number of the equipment that generated the primary image

Explanation

The MainModel property refers to the information about the model name or model number of the equipment.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainOrientation (ImageKit Control/ Exif Property)

This property refers to the image orientation viewed in terms of rows and columns.

[Visual Basic] imagekitcontrolname.File.Exif.MainOrientation[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetMainOrientation()
imagekitcontrolname.GetFile().GetExif().SetMainOrientation(short Val)
[VB.NET] imagekitcontrolname.File.Exif.MainOrientation[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.MainOrientation[ = short ]

Reference

Value | Explanation
1 | Row 0 is at the visual top of the image, and column 0 is the visual left hand side
2 | Row 0 is at the visual top of the image, and column 0 is the visual right hand side
3 | Row 0 is at the visual bottom of the image, and column 0 is the visual right hand side
4 | Row 0 is at the visual bottom of the image, and column 0 is the visual left hand side
5 | Row 0 is at the visual left hand side of the image, and column 0 is the visual top
6 | Row 0 is at the visual right hand side of the image, and column 0 is the visual top
7 | Row 0 is at the visual right hand side of the image, and column 0 is the visual bottom
8 | Row 0 is at the visual left hand side of the image, and column 0 is the visual bottom

Explanation

The MainOrientation property refers to the image orientation viewed in terms of rows and columns.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags relating to primary image data structure.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainResolutionUnit (ImageKit Control/ Exif Property)

This property refers to the units of measurement for focal plane resolution and the units of measurement for resolution in the primary and thumbnail images.

[Visual Basic] imagekitcontrolname.File.Exif.MainResolutionUnit[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetMainResolutionUnit()
imagekitcontrolname.GetFile().GetExif().SetMainResolutionUnit(short Val)
[VB.NET] imagekitcontrolname.File.Exif.MainResolutionUnit[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.MainResolutionUnit[ = short ]

Reference

The MainResolutionUnit is the unit for measuring XResolution and YResolution in the primary image.

The MainResolutionUnit is MainXResolution0 / MainXResolution1 and MainYResolution0 / MainYResolution1

Value | Explanation
2 | Inches
3 | Centimeters

Explanation

The MainResolutionUnit property refers to the units of measurement for focal plane resolution and the units of measurement for resolution in the primary and thumbnail images.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainSoftware (ImageKit Control/ Exif Property)

This property refers to the information about the software.

[Visual Basic] imagekitcontrolname.File.Exif.MainSoftware [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetMainSoftware()
imagekitcontrolname.GetFile().GetExif().SetMainSoftware(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.MainSoftware[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.MainSoftware[ = string ]

Reference

MainSoftware refers to the name and version of the software used to generate the primary image

Explanation

The MainSoftware property refers to the information about the software.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainXResolution0 (ImageKit Control/ Exif Property)

This property refers to the number of pixels per resolution unit in the primary images.

[Visual Basic] imagekitcontrolname.File.Exif.MainXResolution0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetMainXResolution0()
imagekitcontrolname.GetFile().GetExif().SetMainXResolution0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.MainXResolution0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.MainXResolution0[ = int ]

Reference

The MainXResolution is the number of pixels per MainResolutionUnit in the primary image in the horizontal direction.

The MainXResolution0 is the numerator for the MainResolutionUnit.

The MainXResolution1 is the denominator for the MainResolutionUnit.

The MainResolutionUnit = MainXResolution0 / MainXResolution1

Explanation

The MainXResolution0 property refers to the number of pixels per resolution unit in the primary images. The property value is derived from the image tags relating to image data structure. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainXResolution1 (ImageKit Control/ Exif Property)

This property refers to the number of pixels per resolution unit in the primary images.

[Visual Basic] imagekitcontrolname.File.Exif.MainXResolution1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetMainXResolution1()
imagekitcontrolname.GetFile().GetExif().SetMainXResolution1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.MainXResolution1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.MainXResolution1[ = int ]

Reference

The MainXResolution is the number of pixels per MainResolutionUnit in the primary image in the horizontal direction.

The MainXResolution0 is the numerator for the MainResolutionUnit.

The MainXResolution1 is the denominator for the MainResolutionUnit.

The MainResolutionUnit = MainXResolution0 / MainXResolution1

Explanation

The MainXResolution1 property refers to the number of pixels per resolution unit in the primary images. The property value is derived from the image tags relating to image data structure.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainYCbCrPositioning (ImageKit Control/ Exif Property)

This property refers to the position of chrominance components (CbCr) in relation to the luminance component (Y).

[Visual Basic] imagekitcontrolname.File.Exif.MainYCbCrPositioning[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetMainYCbCrPositioning()
imagekitcontrolname.GetFile().GetExif().SetMainYCbCrPositioning(short Val)
[VB.NET] imagekitcontrolname.File.Exif.MainYCbCrPositioning[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.MainYCbCrPositioning[ = short ]

Reference

Value | Explanation
1 | Centered
2 | Co-sited

Explanation

The MainYCbCrPositioning property refers to the position of chrominance components (CbCr) in relation to the luminance component (Y).

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags relating to primary image data structure.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainYResolution0 (ImageKit Control/ Exif Property)

This property refers to the number of pixels per resolution unit in the primary images.

[Visual Basic] imagekitcontrolname.File.Exif.MainYResolution0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetMainYResolution0()
imagekitcontrolname.GetFile().GetExif().SetMainYResolution0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.MainYResolution0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.MainYResolution0[ = int ]

Reference

The MainYResolution is the number of pixels per MainResolutionUnit in the primary image in the vertical direction.

The MainYResolution0 is the numerator for the MainResolutionUnit.

The MainYResolution1 is the denominator for the MainResolutionUnit.

The MainResolutionUnit = MainYResolution0 / MainYResolution1

Explanation

The MainYResolution0 property refers to the number of pixels per resolution unit in the primary images. The property value is derived from the image tags relating to image data structure.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainYResolution1 (ImageKit Control/ Exif Property)

This property refers to the number of pixels per resolution unit in the primary images.

[Visual Basic] imagekitcontrolname.File.Exif.MainYResolution1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetMainYResolution1()
imagekitcontrolname.GetFile().GetExif().SetMainYResolution1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.MainYResolution1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.MainYResolution1[ = int ]

Reference

The MainYResolution is the number of pixels per MainResolutionUnit in the primary image in the vertical direction.

The MainYResolution0 is the numerator for the MainResolutionUnit.

The MainYResolution1 is the denominator for the MainResolutionUnit.

The MainResolutionUnit = MainYResolution0 / MainYResolution1

Explanation

The MainYResolution1 property refers to the number of pixels per resolution unit in the primary images. The property value is derived from the image tags relating to image data structure.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MakerNote (ImageKit Control/ Exif Property)

The property value is derived from the image tags relating to user information.

[Visual Basic] imagekitcontrolname.File.Exif.MakerNote[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetMakerNote()
imagekitcontrolname.GetFile().GetExif().SetMakerNote(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.MakerNote[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.MakerNote[ = string ]

Reference

The MakerNote property value is derived from the image tag for manufacturers of Exif writers to record any desired information.

Explanation

The MakerNote property value is derived from the image tags relating to user information.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MapDatum (ImageKit Control/ Exif Property)

This property refers to the name of the map data used.

[Visual Basic] imagekitcontrolname.File.Exif.MapDatum [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetMapDatum()
imagekitcontrolname.GetFile().GetExif().SetMapDatum(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.MapDatum[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.MapDatum[ = string ]

Reference

MapDatum is the name of the map data used and refers to the reference system used by the GPS receiver.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.

.


MaxApertureValue0 (ImageKit Control/ Exif Property)

This property refers to the smallest F value of the lens. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.MaxApertureValue0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetMaxApertureValue0()
imagekitcontrolname.GetFile().GetExif().SetMaxApertureValue0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.MaxApertureValue0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.MaxApertureValue0[ = int ]

Reference

MaxApertureValue0 is the numerator for the smallest F value of the lens

MaxApertureValue1 is the denominator for the smallest F value of the lens

The smallest F value of the lens (unit is the APEX value) = MaxApertureValue0 / MaxApertureValue1

Ordinarily the smallest F value of the lens is given in the range from 00.00 to 99.99

*APEX is the Additive System of Photographic Exposure, a standard unit for expressing exposure.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MaxApertureValue1 (ImageKit Control/ Exif Property)

This property refers to the smallest F value of the lens. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.MaxApertureValue1[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetMaxApertureValue1()
imagekitcontrolname.GetFile().GetExif().SetMaxApertureValue1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.MaxApertureValue1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.MaxApertureValue1[ = int ]

Reference

MaxApertureValue0 is the numerator for the smallest F value of the lens

MaxApertureValue1 is the denominator for the smallest F value of the lens

The smallest F value of the lens (unit is the APEX value) = MaxApertureValue0 / MaxApertureValue1

Ordinarily the smallest F value of the lens is given in the range from 00.00 to 99.99

*APEX is the Additive System of Photographic Exposure, a standard unit for expressing exposure.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MeteringMode (ImageKit Control/ Exif Property)

This property refers to the metering mode.

[Visual Basic] imagekitcontrolname.File.Exif.MeteringMode[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetMeteringMode()
imagekitcontrolname.GetFile().GetExif().SetMeteringMode(short Val)
[VB.NET] imagekitcontrolname.File.Exif.MeteringMode[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.MeteringMode[ = short ]

Reference

Value | Explanation
0 | Unknown
1 | Average
2 | CounterWeightedAverage
3 | Spot
4 | MultiSpot
5 | Pattern
6 | Partial
255 | Other

Explanation

The MeteringMode property refers to the metering mode. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods. This property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


PixelXDimension (ImageKit Control/ Exif Property)

This property refers to the width of the image.

[Visual Basic] imagekitcontrolname.File.Exif.PixelXDimension [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetPixelXDimension()
imagekitcontrolname.GetFile().GetExif().SetPixelXDimension(long Val)
[VB.NET] imagekitcontrolname.File.Exif.PixelXDimension[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.PixelXDimension[ = int ]

Reference

PixcelXDimension is the valid width of the image

PixelYDimension is the valid height of the image

Explanation

The PixcelXDimension property refers to the width of the image. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags relating to the image configuration.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


PixelYDimension (ImageKit Control/ Exif Property)

This property refers to the height of the image.

[Visual Basic] imagekitcontrolname.File.Exif.PixelYDimension[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetPixelYDimension()
imagekitcontrolname.GetFile().GetExif().SetPixelYDimension(long Val)
[VB.NET] imagekitcontrolname.File.Exif.PixelYDimension[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.PixelYDimension[ = int ]

Reference

PixcelXDimension is the valid width of the image

PixelYDimension is the valid height of the image

Explanation

The PixcelYDimension property refers to the height of the image. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags relating to the image configuration.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ProcessingMethod (ImageKit Control/ Exif Property)

This property refers to the name of the method used for location finding.

[Visual Basic] imagekitcontrolname.File.Exif.ProcessingMethod[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetProcessingMethod()
imagekitcontrolname.GetFile().GetExif().SetProcessingMethod(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.ProcessingMethod[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.ProcessingMethod[ = string ]

Reference

The name of the formula used for positioning (i.e. "CELLID", "WLAN", "GPS", etc.)

Explanation

The ProcessingMethod property refers to the name of the method used for location finding. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The ProcessingMethod property are related to Exif GPS information tags.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


ProcessingMethodID (ImageKit Control/ Exif Property)

This property refers to the identification code for the processing method.

[Visual Basic] imagekitcontrolname.File.Exif.ProcessingMethodID[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetProcessingMethodID()
imagekitcontrolname.GetFile().GetExif().SetProcessingMethodID(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.ProcessingMethodID[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.ProcessingMethodID[ = string ]

Reference

The identification code for the processing method. This code is an 8 byte constant with any unused bytes padded with NULL (0x00)

String Code | Code Entry Method (8 bytes) | Reference
ASCII | 0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00 | ITU-T T.50 IA5
JIS | 0x4A,0x49,0x53,0x00,0x00,0x00,0x00,0x00 | JIS X0208-1990
Unicode | 0x55,0x4E,0x49,0x43,0x4F,0x44,0x45,0x00 | Unicode Standard
Undefined | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | Undefined

For hexidecimals in Visual Basic and .NET, replace 0x with &H

Explanation

The ProcessingMethodID property refers to the identification code for the processing method. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The ProcessingMethod property are related to Exif GPS information tags.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Saturation (ImageKit Control/ Exif Property)

This property refers to the saturation used by the camera when image was captured.

[Visual Basic] imagekitcontrolname.File.Exif.Saturation[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetSaturation()
imagekitcontrolname.GetFile().GetExif().SetSaturation(short Val)
[VB.NET] imagekitcontrolname.File.Exif.Saturation[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.Saturation[ = short ]

Explanation

The Saturation property refers to the saturation used by the camera when image was captured.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to the photographic conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


SceneCaptureType (ImageKit Control/ Exif Property)

This property indicates the type of scene when image was captured.

[Visual Basic] imagekitcontrolname.File.Exif.SceneCaptureType[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetSceneCaptureType()
imagekitcontrolname.GetFile().GetExif().SetSceneCaptureType(short Val)
[VB.NET] imagekitcontrolname.File.Exif.SceneCaptureType[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.SceneCaptureType[ = short ]

Reference

Value | Explanation
0 | Standard
1 | Landscape
2 | Protrait
3 | Nightscape

Explanation

The SceneCaptureType property indicates the type of scene when image was captured. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the photographic conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


SceneType (ImageKit Control/ Exif Property)

This property refers to the type of scene.

[Visual Basic] imagekitcontrolname.File.Exif.SceneType [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetSceneType()
imagekitcontrolname.GetFile().GetExif().SetSceneType(short Val)
[VB.NET] imagekitcontrolname.File.Exif.SceneType[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.SceneType[ = short ]

Reference

SceneType indicates the type of scene. If a DSC recorded the image, this value must be set to 1 indicating that the image was directly photographed.

Explanation

The SceneType property refers to the type of scene. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


SensingMethod (ImageKit Control/ Exif Property)

This property refers to the image sensor type on the camera or input device.

[Visual Basic] imagekitcontrolname.File.Exif.SensingMethod[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetSensingMethod()
imagekitcontrolname.GetFile().GetExif().SetSensingMethod(short Val)
[VB.NET] imagekitcontrolname.File.Exif.SensingMethod[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.SensingMethod[ = short ]

Reference

Value | Explanation
1 | Not defined
2 | One-chip color area sensor
3 | Two-chip color area sensor
4 | Three-chip color area sensor
5 | Color sequential area sensor
7 | Trilinear sensor
8 | Color sequential linear sensor

Explanation

The SensingMethod property refers to the image sensor type on the camera or input device. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


Sharpness (ImageKit Control/ Exif Property)

This property refers to the sharpness used by the camera when image was captured.

[Visual Basic] imagekitcontrolname.File.Exif.Sharpness [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetSharpness()
imagekitcontrolname.GetFile().GetExif().SetSharpness(short Val)
[VB.NET] imagekitcontrolname.File.Exif.Sharpness[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.Sharpness[ = short ]

Explanation

The Sharpness property refers to the sharpness used by the camera when image was captured.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to the photographic conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


ShutterSpeedValue0 (ImageKit Control/ Exif Property)

This property is the numerator for the shutter speed

[Visual Basic] imagekitcontrolname.File.Exif.ShutterSpeedValue0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetShutterSpeedValue0()
imagekitcontrolname.GetFile().GetExif().SetShutterSpeedValue0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ShutterSpeedValue0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ShutterSpeedValue0[ = int ]

Reference

ShutterSpeedValue0 is the numerator for the shutter speed

ShutterSpeedValue1 is the denominator for the shutter speed

The shutter speed (unit is the APEX value) = ShutterSpeedValue0 / ShutterSpeedValue1

*APEX is the Additive System of Photographic Exposure, a standard unit for expressing exposure.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ShutterSpeedValue1 (ImageKit Control/ Exif Property)

This property is the denominator for the shutter speed

[Visual Basic] imagekitcontrolname.File.Exif.ShutterSpeedValue1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetShutterSpeedValue1()
imagekitcontrolname.GetFile().GetExif().SetShutterSpeedValue1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ShutterSpeedValue1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ShutterSpeedValue1[ = int ]

Reference

ShutterSpeedValue0 is the numerator for the shutter speed

ShutterSpeedValue1 is the denominator for the shutter speed

The shutter speed (unit is the APEX value) = ShutterSpeedValue0 / ShutterSpeedValue1

*APEX is the Additive System of Photographic Exposure, a standard unit for expressing exposure.

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


SpectralSensitivity (ImageKit Control/ Exif Property)

The property referes to the spectral sensitivity of each channel of the camera used.

[Visual Basic] imagekitcontrolname.File.Exif.SpectralSensitivity[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetSpectralSensitivity()
imagekitcontrolname.GetFile().GetExif().SetSpectralSensitivity(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.SpectralSensitivity[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.SpectralSensitivity[ = string ]

Reference

The value is an ASCII string commpatible with the standard developed by the ASTM Technical committee.

Explanation

The SpectralSensitivity property referes to the spectral sensitivity of each channel of the camera used. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


SubjectDistance0 (ImageKit Control/ Exif Property)

This property is the numerator for the distance to the subject

[Visual Basic] imagekitcontrolname.File.Exif.SubjectDistance0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetSubjectDistance0()
imagekitcontrolname.GetFile().GetExif().SetSubjectDistance0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.SubjectDistance0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.SubjectDistance0[ = int ]

Reference

SubjectDistance0 is the numerator for the distance to the subject.

SubjectDistance1 is the denominator for the distance to the subject.

The distance to the subject (in meters) = SubjectDistance0 / SubjectDistance1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


SubjectDistance1 (ImageKit Control/ Exif Property)

This property is the denominator for the distance to the subject

[Visual Basic] imagekitcontrolname.File.Exif.SubjectDistance1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetSubjectDistance1()
imagekitcontrolname.GetFile().GetExif().SetSubjectDistance1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.SubjectDistance1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.SubjectDistance1[ = int ]

Reference

SubjectDistance0 is the numerator for the distance to the subject.

SubjectDistance1 is the denominator for the distance to the subject.

The distance to the subject (in meters) = SubjectDistance0 / SubjectDistance1

Explanation

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


SubjectLocationX (ImageKit Control/ Exif Property)

This property refers to the location of the main subject in the scene.

[Visual Basic] imagekitcontrolname.File.Exif.SubjectLocationX [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetSubjectLocationX()
imagekitcontrolname.GetFile().GetExif().SetSubjectLocationX(short Val)
[VB.NET] imagekitcontrolname.File.Exif.SubjectLocationX[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.SubjectLocationX[ = short ]

Reference

The SubjectLocationX is the horizontal coordinate of the center of the main subject of the scene

The SubjectLocationY is the vertical coordinate of the center of the main subject of the scene

Explanation

The SubjectLocationX refers to the location of the main subject in the scene. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


SubjectLocationY (ImageKit Control/ Exif Property)

This property refers to the location of the main subject in the scene.

[Visual Basic] imagekitcontrolname.File.Exif.SubjectLocationY[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetSubjectLocationY()
imagekitcontrolname.GetFile().GetExif().SetSubjectLocationY(short Val)
[VB.NET] imagekitcontrolname.File.Exif.SubjectLocationY[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.SubjectLocationY[ = short ]

Reference

The SubjectLocationX is the horizontal coordinate of the center of the main subject of the scene

The SubjectLocationY is the vertical coordinate of the center of the main subject of the scene

Explanation

The SubjectLocationY refers to the location of the main subject in the scene. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


SubSecTime (ImageKit Control/ Exif Property)

This property records fractions of seconds for the related date time properties.

[Visual Basic] imagekitcontrolname.File.Exif.SubSecTime [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetSubSecTime()
imagekitcontrolname.GetFile().GetExif().SetSubSecTime(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.SubSecTime[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.SubSecTime[ = string ]

Reference

The SubSecTime property records fractions of seconds for the MainDateTime property.

For example, if the subsecond data is 0.130 then

SubSecTime = "130"

Explanation

The SubSecTime property records fractions of seconds for the related date time properties. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags relating to date and time.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


SubSecTimeDigitized (ImageKit Control/ Exif Property)

This property records fractions of seconds for the related date time properties.

[Visual Basic] imagekitcontrolname.File.Exif.SubSecTimeDigitized [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetSubSecTimeDigitized()
imagekitcontrolname.GetFile().GetExif().SetSubSecTimeDigitized(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.SubSecTimeDigitized[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.SubSecTimeDigitized[ = string ]

Reference

The SubSecTimeDigitized property records fractions of seconds for the DateTimeDigitized property.

For example, if the subsecond data is 0.130 then

SubSecTimeDigitized = "130"

Explanation

The SubSecTimeDigitized property records fractions of seconds for the related date time properties. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

This property value is derived from the image tags relating to date and time.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


SubSecTimeOriginal (ImageKit Control/ Exif Property)

This property records fractions of seconds for the related date time properties.

[Visual Basic] imagekitcontrolname.File.Exif.SubSecTimeOriginal[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetSubSecTimeOriginal()
imagekitcontrolname.GetFile().GetExif().SetSubSecTimeOriginal(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.SubSecTimeOriginal[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.SubSecTimeOriginal[ = string ]

Reference

The SubSecTimeOriginal property records fractions of seconds for the DateTimeOriginal property.

For example, if the subsecond data is 0.130 then

SubSecTimeOriginal = "130"

Explanation

The SubSecTimeOriginal property records fractions of seconds for the related date time properties. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods. This property value is derived from the image tags relating to date and time.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbArtist (ImageKit Control/ Exif Property)

This property refers to the information about the artist's name.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbArtist [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetThumbArtist()
imagekitcontrolname.GetFile().GetExif().SetThumbArtist(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbArtist[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbArtist[ = string ]

Reference

ThumbArtist refers to the camera owner, photographer, or creator of the Thumbnail image

Explanation

The ThumbArtist property refers to the information about the artist's name. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbCompression (ImageKit Control/ Exif Property)

This property refers to the compression method for the thumbnail image.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbCompression[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetThumbCompression()
imagekitcontrolname.GetFile().GetExif().SetThumbCompression(short Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbCompression[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbCompression[ = short ]

Reference

Value | Explanation
1 | Uncompressed
6 | JPEG compression

Explanation

The ThumbCompression property refers to the compression method for the thumbnail image.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

When the thumbnail is Jpeg compression data, the return value will be 6.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbCopyright (ImageKit Control/ Exif Property)

This property refers to the information about the copyright.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbCopyright [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetThumbCopyright()
imagekitcontrolname.GetFile().GetExif().SetThumbCopyright(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbCopyright[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbCopyright[ = string ]

Reference

ThumbCopyright refers to the copyright information for the Thumbnail image

Explanation

The ThumbCopyright property refers to the information about the copyright. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


MainDateTime (ImageKit Control/ Exif Property)

ImageKit10 ActiveX

ThumbDateTime (ImageKit Control/ Exif Property)

This property refers to the information about the date and time.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbDateTime [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetThumbDateTime()
imagekitcontrolname.GetFile().GetExif().SetThumbDateTime(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbDateTime[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbDateTime[ = string ]

Reference

ThumbDateTime refers to the date and time that the Thumbnail image was created. The format is "YYYY:MM:DD HH:MM:SS" with the time shown in 24-hour format and the date and time separated by one blank character

Example: "1996:09:01 09:15:30"

Explanation

The ThumbDateTime property refers to the information about the date and time. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbImageDescription (ImageKit Control/ Exif Property)

This property refers to the information about the image description.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbImageDescription [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetThumbImageDescription()
imagekitcontrolname.GetFile().GetExif().SetThumbImageDescription(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbImageDescription[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbImageDescription[ = string ]

Reference

ThumbImageDescription refers to the character string giving the title of the Thumbnail image

Explanation

The ThumbImageDescription property refers to the information about the image description. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbImageHandle (ImageKit Control/ Exif Property)

This property holds the image handle (or address) to the thumbnail image data stored in the memory (The image handle for the primary image is stored in the the ImageHandle property).

[Visual Basic] imagekitcontrolname.File.Exif.ThumbImageHandle[ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]imagekitcontrolname.GetFile().GetExif().GetThumbImageHandle()
[VB.NET] imagekitcontrolname.File.Exif.ThumbImageHandle[ = Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbImageHandle[ = int(x86) or long(x64) ]

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Reference

The image handle of the thumbnail image

Explanation

The ThumbImageHandle property holds the image handle (or address) to the thumbnail image data stored in the memory (The image handle for the primary image is stored in the the ImageHandle property). The property value can be retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.

Differences between ImageKit7/8

This property type has changed.


ThumbMake (ImageKit Control/ Exif Property)

This property refers to the information about the manufacturer's name.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbMake[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetThumbMake()
imagekitcontrolname.GetFile().GetExif().SetThumbMake(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbMake[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbMake[ = string ]

Reference

ThumbMake refers to the manufacturer of the recording equipment that generated the Thumbnail image

Explanation

The ThumbMake property refers to the information about the manufacturer's name. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbModel (ImageKit Control/ Exif Property)

This property refers to the information about the model name or model number of the equipment.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbModel [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetThumbModel()
imagekitcontrolname.GetFile().GetExif().SetThumbModel(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbModel[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbModel[ = string ]

Reference

ThumbModel refers to the model name or model number of the equipment that generated the Thumbnail image

Explanation

The ThumbModel property refers to the information about the model name or model number of the equipment. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbOrientation (ImageKit Control/ Exif Property)

This property refers to the image orientation viewed in terms of rows and columns.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbOrientation [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetThumbOrientation()
imagekitcontrolname.GetFile().GetExif().SetThumbOrientation(short Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbOrientation[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbOrientation[ = short ]

Reference

Value | Explanation
1 | Row 0 is at the visual top of the image, and column 0 is the visual left hand side
2 | Row 0 is at the visual top of the image, and column 0 is the visual right hand side
3 | Row 0 is at the visual bottom of the image, and column 0 is the visual right hand side
4 | Row 0 is at the visual bottom of the image, and column 0 is the visual left hand side
5 | Row 0 is at the visual left hand side of the image, and column 0 is the visual top
6 | Row 0 is at the visual right hand side of the image, and column 0 is the visual top
7 | Row 0 is at the visual right hand side of the image, and column 0 is the visual bottom
8 | Row 0 is at the visual left hand side of the image, and column 0 is the visual bottom

Explanation

The ThumbOrientation property refers to the image orientation viewed in terms of rows and columns.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags relating to thumbnail image data structure.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbResolutionUnit (ImageKit Control/ Exif Property)

This property refers to the units of measurement for focal plane resolution and the units of measurement for resolution in the primary and thumbnail images.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbResolutionUnit [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetThumbResolutionUnit()
imagekitcontrolname.GetFile().GetExif().SetThumbResolutionUnit(short Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbResolutionUnit[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbResolutionUnit[ = short ]

Reference

The ThumbResolutionUnit is the unit for measuring XResolution and YResolution in the thumbnail image.

The ThumbResolutionUnit is ThumbXResolution0 / ThumbXResolution1 and ThumbYResolution0 / ThumbYResolution1

Value | Explanation
2 | Inches
3 | Centimeters

Explanation

The ThumbResolutionUnit property refers to the units of measurement for focal plane resolution and the units of measurement for resolution in the primary and thumbnail images.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the picture taking conditions.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbSoftware (ImageKit Control/ Exif Property)

This property refers to the information about the software.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbSoftware [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetThumbSoftware()
imagekitcontrolname.GetFile().GetExif().SetThumbSoftware(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbSoftware[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbSoftware[ = string ]

Reference

ThumbSoftware refers to the name and version of the software used to generate the Thumbnail image

Explanation

The ThumbSoftware property refers to the information about the software. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbXResolution0 (ImageKit Control/ Exif Property)

This property refers to the number of pixels per resolution unit in the thumbnail images.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbXResolution0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetThumbXResolution0()
imagekitcontrolname.GetFile().GetExif().SetThumbXResolution0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbXResolution0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbXResolution0[ = int ]

Reference

The ThumbXResolution is the number of pixels per ThumbResolutionUnit in the thumbnail image in the horizontal direction.

The ThumbXResolution0 is the numerator for the ThumbResolutionUnit.

The ThumbXResolution1 is the denominator for the ThumbResolutionUnit.

The ThumbResolutionUnit = ThumbXResolution0 / ThumbXResolution1.

Explanation

The ThumbXResolution0 property refers to the number of pixels per resolution unit in the thumbnail images. The property value is derived from the image tags relating to image data structure. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbXResolution1 (ImageKit Control/ Exif Property)

This property refers to the number of pixels per resolution unit in the thumbnail images.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbXResolution1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetThumbXResolution1()
imagekitcontrolname.GetFile().GetExif().SetThumbXResolution1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbXResolution1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbXResolution1[ = int ]

Reference

The ThumbXResolution is the number of pixels per ThumbResolutionUnit in the thumbnail image in the horizontal direction.

The ThumbXResolution0 is the numerator for the ThumbResolutionUnit.

The ThumbXResolution1 is the denominator for the ThumbResolutionUnit.

The ThumbResolutionUnit = ThumbXResolution0 / ThumbXResolution1

Explanation

The ThumbXResolution1 property refers to the number of pixels per resolution unit in the thumbnail images. The property value is derived from the image tags relating to image data structure. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbYCbCrPositioning (ImageKit Control/ Exif Property)

This property refers to the position of chrominance components (CbCr) in relation to the luminance component (Y).

[Visual Basic] imagekitcontrolname.File.Exif.ThumbYCbCrPositioning [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetThumbYCbCrPositioning()
imagekitcontrolname.GetFile().GetExif().SetThumbYCbCrPositioning(short Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbYCbCrPositioning[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbYCbCrPositioning[ = short ]

Reference

Value | Explanation
1 | Centered
2 | Co-sited

Explanation

The ThumbYCbCrPositioning property refers to the position of chrominance components (CbCr) in relation to the luminance component (Y).

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags relating to thumbnail image data structure.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbYResolution0 (ImageKit Control/ Exif Property)

This property refers to the number of pixels per resolution unit in the thumbnail images.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbYResolution0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetThumbYResolution0()
imagekitcontrolname.GetFile().GetExif().SetThumbYResolution0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbYResolution0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbYResolution0[ = int ]

Reference

The ThumbYResolution is the number of pixels per ThumbResolutionUnit in the thumbnail image in the vertical direction.

The ThumbYResolution0 is the numerator for the ThumbResolutionUnit.

The ThumbYResolution1 is the denominator for the ThumbResolutionUnit.

The ThumbResolutionUnit = ThumbYResolution0 / ThumbYResolution1.

Explanation

The ThumbYResolution0 property refers to the number of pixels per resolution unit in the thumbnail images. The property value is derived from the image tags relating to image data structure. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


ThumbYResolution1 (ImageKit Control/ Exif Property)

This property refers to the number of pixels per resolution unit in the thumbnail images.

[Visual Basic] imagekitcontrolname.File.Exif.ThumbYResolution1[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetThumbYResolution1()
imagekitcontrolname.GetFile().GetExif().SetThumbYResolution1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.ThumbYResolution1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.ThumbYResolution1[ = int ]

Reference

The ThumbYResolution is the number of pixels per ThumbResolutionUnit in the thumbnail image in the vertical direction.

The ThumbYResolution0 is the numerator for the ThumbResolutionUnit.

The ThumbYResolution1 is the denominator for the ThumbResolutionUnit.

The ThumbResolutionUnit = ThumbYResolution0 / ThumbYResolution1

Explanation

The ThumbYResolution1 property refers to the number of pixels per resolution unit in the thumbnail images. The property value is derived from the image tags relating to image data structure. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


TimeStampH0 (ImageKit Control/ Exif Property)

This property indicates the GPS time stamp in hours. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.TimeStampH0[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetTimeStampH0()
imagekitcontrolname.GetFile().GetExif().SetTimeStampH0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.TimeStampH0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.TimeStampH0[ = int ]

Reference

TimeStampH0 is the GPS time stamp in hours. This is the numerator.

TimeStampH1 is the GPS time stamp in hours. This is the denominator.

The time stamp in hours = TimeStampH0 / TimeStampH1

Explanation

The TimeStampH0 property indicates the GPS time stamp in hours. This is the numerator.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


TimeStampH1 (ImageKit Control/ Exif Property)

This property indicates the GPS time stamp in hours. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.TimeStampH1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetTimeStampH1()
imagekitcontrolname.GetFile().GetExif().SetTimeStampH1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.TimeStampH1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.TimeStampH1[ = int ]

Reference

TimeStampH1 is the GPS time stamp in hours. This is the denominator.

TimeStampH0 is the GPS time stamp in hours. This is the numerator.

The time stamp in hours = TimeStampH0 / TimeStampH1

Explanation

The TimeStampH1 property indicates the GPS time stamp in hours. This is the denominator.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


TimeStampM0 (ImageKit Control/ Exif Property)

This property indicates the GPS time stamp in minutes. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.TimeStampM0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetTimeStampM0()
imagekitcontrolname.GetFile().GetExif().SetTimeStampM0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.TimeStampM0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.TimeStampM0[ = int ]

Reference

TimeStampM0 is the GPS time stamp in minutes. This is the numerator.

TimeStampM1 is the GPS time stamp in minutes. This is the denominator.

The time stamp in minutes = TimeStampM0 / TimeStampM1

Explanation

The TimeStampM0 property indicates the GPS time stamp in minutes. This is the numerator.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


TimeStampM1 (ImageKit Control/ Exif Property)

This property indicates the GPS time stamp in minutes. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.TimeStampM1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetTimeStampM1()
imagekitcontrolname.GetFile().GetExif().SetTimeStampM1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.TimeStampM1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.TimeStampM1[ = int ]

Reference

TimeStampM1 is the GPS time stamp in minutes. This is the denominator.

TimeStampM0 is the GPS time stamp in minutes. This is the numerator.

The time stamp in minutes = TimeStampM0 / TimeStampM1

Explanation

The TimeStampM1 property indicates the GPS time stamp in minutes. This is the denominator.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


TimeStampS0 (ImageKit Control/ Exif Property)

This property indicates the GPS time stamp in seconds. This is the numerator.

[Visual Basic] imagekitcontrolname.File.Exif.TimeStampS0 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetTimeStampS0()
imagekitcontrolname.GetFile().GetExif().SetTimeStampS0(long Val)
[VB.NET] imagekitcontrolname.File.Exif.TimeStampS0[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.TimeStampS0[ = int ]

Reference

TimeStampS0 is the GPS time stamp in minutes. This is the numerator.

TimeStampS1 is the GPS time stamp in seconds. This is the denominator.

The time stamp in minutes = TimeStampS0 / TimeStampS1

Explanation

The TimeStampS0 property indicates the GPS time stamp in seconds. This is the numerator.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


TimeStampS1 (ImageKit Control/ Exif Property)

This property indicates the GPS time stamp in seconds. This is the denominator.

[Visual Basic] imagekitcontrolname.File.Exif.TimeStampS1 [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetFile().GetExif().GetTimeStampS1()
imagekitcontrolname.GetFile().GetExif().SetTimeStampS1(long Val)
[VB.NET] imagekitcontrolname.File.Exif.TimeStampS1[ = Integer ]
[C#.NET] imagekitcontrolname.File.Exif.TimeStampS1[ = int ]

Reference

TimeStampS1 is the GPS time stamp in seconds. This is the denominator.

TimeStampS0 is the GPS time stamp in seconds. This is the numerator.

The time stamp in minutes = TimeStampS0 / TimeStampS1

Explanation

The TimeStampS1 property indicates the GPS time stamp in seconds. This is the denominator.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif GPS tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


UserComment (ImageKit Control/ Exif Property)

The property value is derived from the image tags relating to user information.

[Visual Basic] imagekitcontrolname.File.Exif.UserComment [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetUserComment()
imagekitcontrolname.GetFile().GetExif().SetUserComment(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.UserComment[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.UserComment[ = string ]

Reference

The UserComment property value is derived from the image tag for Exif users to write keywords or comments on the image.

The UserComment tag is identified based on an UserCommentID code in a fixed 8-byte area at the start of the tag data area. The unused portion of the area is padded with NULL("00.H").

Character Code | Code Designation (8 Bytes) | References
ASCII | 0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00 | ITU-T T.50 IA5
JIS | 0x4A,0x49,0x53,0x00,0x00,0x00,0x00,0x00 | JIS X0208-1990
Unicode | 0x55,0x4E,0x49,0x43,0x4F,0x44,0x45,0x00 | Unicode Standard
Undefined | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | Undefined

In Visual Basic and in .NET, please replace 0x with &H

Explanation

The UserComment property value is derived from the image tags relating to user information. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


UserCommentID (ImageKit Control/ Exif Property)

The property value is derived from the image tags relating to user information.

[Visual Basic] imagekitcontrolname.File.Exif.UserCommentID [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetUserCommentID()
imagekitcontrolname.GetFile().GetExif().SetUserCommentID(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.UserCommentID[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.UserCommentID[ = string ]

Reference

The UserCommentID property value is derived from the image tag for Exif users to write keywords or comments on the image.

The UserComment tag is identified based on an UserCommentID code in a fixed 8-byte area at the start of the tag data area. The unused portion of the area is padded with NULL("00.H").

Character Code | Code Designation (8 Bytes) | References
ASCII | 0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00 | ITU-T T.50 IA5
JIS | 0x4A,0x49,0x53,0x00,0x00,0x00,0x00,0x00 | JIS X0208-1990
Unicode | 0x55,0x4E,0x49,0x43,0x4F,0x44,0x45,0x00 | Unicode Standard
Undefined | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | Undefined

In Visual Basic and in .NET, please replace 0x with &H

Explanation

The UserCommentID property value is derived from the image tags relating to user information. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


Version (ImageKit Control/ Exif Property)

This property refers to the version of the Exif Standard supported.

[Visual Basic] imagekitcontrolname.File.Exif.Version [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetExif().GetVersion()
imagekitcontrolname.GetFile().GetExif().SetVersion(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.Exif.Version[ = String ]
[C#.NET] imagekitcontrolname.File.Exif.Version[ = string ]

Reference

Version is the Exif version supported. (Example: "0210")

Explanation

This property refers to the version of the Exif Standard supported. The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the version information.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

In the IK7 this was a read only property. It can now be set.


WhiteBalance (ImageKit Control/ Exif Property)

This property indicates the white balancemode when the image was taken.

[Visual Basic] imagekitcontrolname.File.Exif.WhiteBalance[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetExif().GetWhiteBalance()
imagekitcontrolname.GetFile().GetExif().SetWhiteBalance(short Val)
[VB.NET] imagekitcontrolname.File.Exif.WhiteBalance[ = Short ]
[C#.NET] imagekitcontrolname.File.Exif.WhiteBalance[ = short ]

Reference

Value | Explanation
0 | Automatic white balance
1 | Manual white balance

Explanation

The WhiteBalance property indicates the white balancemode when the image was taken.

The property value can be set or retrieved by executing the File.GetImageFileType or the File.GetImageFileTypeMem methods.

The property value is derived from the image tags related to the Exif photographic conditions tag

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


ImageKit File PDF Interface

The ImageKit File PDF interface exposes properties and methods to save files in PDF format.

Property List

Custom Properties | Explanation
Application | Sets the application name
Author | Sets the name of the author of the PDF document
DocumentHeight | Sets the height of the PDF document
DocumentSize | Sets the size of the PDF document
DocumentWidth | Sets the width of the PDF document
EnableCopy | Sets whether the PDF document's contents can be copied
EnableEdit | Sets whether or not the PDF document's content can be edited
EnableEditAll | Sets whether to allow full editing of the PDF document
EnablePrint | Sets whether or not the PDF document can be printed
Keywords | Sets keywords for the PDF document
Landscape | Sets the orientation of the PDF document
OwnerPassword | Sets the owner password for the PDF document
SavePDFFileName | Sets the filename when saving the PDF document
Subject | Sets the subnject of the PDF document
Title | Sets the title of the PDF document
UserPassword | Sets the user password for the PDF document

Method List

Custom Methods | Explanation
AddImage | Adds an image to the PDF document
AddPage | Adds a page to the PDF document
End | Specifies the end of the document when a PDF file is created
EndPage | Specifies the end of a page in the document when PDF document
Start | Specifies the start of the document when a PDF file is created


ImageKit File PDF Interface

The ImageKit File PDF interface exposes properties and methods to save files in PDF format.

Property List

Custom Properties | Explanation
Application | Sets the application name
Author | Sets the name of the author of the PDF document
DocumentHeight | Sets the height of the PDF document
DocumentSize | Sets the size of the PDF document
DocumentWidth | Sets the width of the PDF document
EnableCopy | Sets whether the PDF document's contents can be copied
EnableEdit | Sets whether or not the PDF document's content can be edited
EnableEditAll | Sets whether to allow full editing of the PDF document
EnablePrint | Sets whether or not the PDF document can be printed
Keywords | Sets keywords for the PDF document
Landscape | Sets the orientation of the PDF document
OwnerPassword | Sets the owner password for the PDF document
SavePDFFileName | Sets the filename when saving the PDF document
Subject | Sets the subnject of the PDF document
Title | Sets the title of the PDF document
UserPassword | Sets the user password for the PDF document


Application (ImageKit Control/ PDF Property)

This property sets the application name.

[Visual Basic] imagekitcontrolname.File.PDF.Application [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetApplication()
[CString =]imagekitcontrolname.GetFile().GetPDF().SetApplication(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.PDF.Application[ = String ]
[C#.NET] imagekitcontrolname.File.PDF.Application[ = String ]

Value

The PDF document's application name
Default value is an empty string.

Explanation

The Application property sets the application name. The value set in this property is shown in the "Application" entry in the PDF document summary. This property is referenced when the Start method is executed, so set an appropriate value before executing the Start method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


Author (ImageKit Control/ PDF Property)

This property sets the PDF document's author name.

[Visual Basic] imagekitcontrolname.File.PDF.Author [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetAuthor()
[CString =]imagekitcontrolname.GetFile().GetPDF().SetAuthor(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.PDF.Author[ = String ]
[C#.NET] imagekitcontrolname.File.PDF.Author[ = String ]

Value

The PDF document's author name
Default value is an empty string.

Explanation

The Author property sets the author's name. The value set in this property is shown in the "Author" entry in the PDF document summary. This property is referenced when the Start method is executed, so set an appropriate value before executing the Start method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


DocumentHeight (ImageKit Control/ PDF Property)

This property sets the height of the PDF document.

[Visual Basic] imagekitcontrolname.File.PDF.DocumentHeight [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetPDF().GetDocumentHeight()
imagekitcontrolname.GetFile().GetPDF().SetDocumentHeight(short Val)
[VB.NET] imagekitcontrolname.File.PDF.DocumentHeight[ = Short ]
[C#.NET] imagekitcontrolname.File.PDF.DocumentHeight[ = short ]

Value

The height of the PDF (in mm)
Default value is 297

Explanation

The DocumentHeight property sets the height of the PDF document. The units are in millimeters. The default is 297 mm which is the height of the A4 paper size.

The document's size is determined by the DocumentHeight property and the DocumentWidth property, or the DocumentSize property. To enable the DocumentHeight property, set an empty string or NULL (Visual C ++), vbNullString (Visual Basic), Nothing (VB.NET), or null (C # .NET) into the DocumentSize property.

Set an appropriate value in this property before executing the AddPage method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


DocumentSize (ImageKit Control/ PDF Property)

This property sets the size of the PDF document.

[Visual Basic] imagekitcontrolname.File.PDF.DocumentSize [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetDocumentSize()
[CString =]imagekitcontrolname.GetFile().GetPDF().SetDocumentSize(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.PDF.DocumentSize[ = String ]
[C#.NET] imagekitcontrolname.File.PDF.DocumentSize[ = String ]

Value

The size of the PDF
Default value is an empty string

Explanation

The DocumentSize property sets the size of the PDF document.

The size of the document is determined by the DocumentSize property or by the DocumentHeight and DocumentWidth properties. If you set the size, such as "A4", into the DocumentSize property, it becomes effective. If you set empty string or NULL (Visual C ++), vbNullString (Visual Basic), Nothing (VB.NET), null (C # .NET), then the values set in the DocumentHeight and DocumentWidth properties are enabled. Set an appropriate value in this property before executing the AddPage method.

The sizes that can be set for this property are as follows: A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, LETTER, LEGAL
* It does not matter whether it is uppercase or lowercase.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


DocumentWidth (ImageKit Control/ PDF Property)

This property sets the width of the PDF document.

[Visual Basic] imagekitcontrolname.File.PDF.DocumentWidth [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetPDF().GetDocumentWidth()
imagekitcontrolname.GetFile().GetPDF().SetDocumentWidth(short Val)
[VB.NET] imagekitcontrolname.File.PDF.DocumentWidth[ = Short ]
[C#.NET] imagekitcontrolname.File.PDF.DocumentWidth[ = short ]

Value

The width of the PDF (in mm)
Default value is 210

Explanation

The DocumentWidth property sets the width of the PDF document. The units are in millimeters. The default is 210 mm which is the width of the A4 paper size.

The document's size is determined by the DocumentWidth property and the DocumentHeight property, or the DocumentSize property. To enable the DocumentWidth property, set an empty string or NULL (Visual C ++), vbNullString (Visual Basic), Nothing (VB.NET), or null (C # .NET) into the DocumentSize property.

Set an appropriate value in this property before executing the AddPage method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


EnableCopy (ImageKit Control/ PDF Property)

This property sets whether or not the contents of the PDF document can be copied.

[Visual Basic] imagekitcontrolname.File.PDF.EnableCopy [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().GetEnableCopy()
imagekitcontrolname.GetFile().GetPDF().SetEnableCopy(BOOL Val)
[VB.NET] imagekitcontrolname.File.PDF.EnableCopy[ = Boolean ]
[C#.NET] imagekitcontrolname.File.PDF.EnableCopy[ = bool ]

Property Value

Default value is True

Value | Explanation
True | The document can be copied
False | The document can not be copied

Explanation

The EnableCopy property sets whether or not the contents of the PDF document can be copied. Set an appropriate value into this property before executing the Start method.

The EnableCopy property is enabled when the OwnerPassword property is set. It is disabled if the OwnerPassword property is not set or is set to an empty string. The value set in the EnableCopy property is displayed in the PDF document property's security tab.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


EnableEdit (ImageKit Control/ PDF Property)

This property sets whether or not the contents of the PDF document can be edited.

[Visual Basic] imagekitcontrolname.File.PDF.EnableEdit [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().GetEnableEdit()
imagekitcontrolname.GetFile().GetPDF().SetEnableEdit(BOOL Val)
[VB.NET] imagekitcontrolname.File.PDF.EnableEdit[ = Boolean ]
[C#.NET] imagekitcontrolname.File.PDF.EnableEdit[ = bool ]

Property Value

Default value is True

Value | Explanation
True | The document can be edited
False | The document can not be edited

Explanation

The EnableEdit property sets whether or not the contents of the PDF document can be edited. Set an appropriate value into this property before executing the Start method.

The EnableEdit property is enabled when the OwnerPassword property is set. It is disabled if the OwnerPassword property is not set or is set to an empty string. The value set in the EnableEdit property is displayed the the PDF document property's security tab under "Form field input", "Signature", and "Create template page".

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


EnableEditAll (ImageKit Control/ PDF Property)

This property sets whether or not to all full editing of the PDF document contents.

[Visual Basic] imagekitcontrolname.File.PDF.EnableEditAll [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().GetEnableEditAll()
imagekitcontrolname.GetFile().GetPDF().SetEnableEditAll(BOOL Val)
[VB.NET] imagekitcontrolname.File.PDF.EnableEditAll[ = Boolean ]
[C#.NET] imagekitcontrolname.File.PDF.EnableEditAll[ = bool ]

Property Value

Default value is True

Value | Explanation
True | Full editing of the document is allowed
False | Full editing of the document is not allowed

Explanation

The EnableEditAll property sets whether or not to all full editing of the PDF document contents. Set an appropriate value into this property before executing the Start method.

The EnableEditAll property is enabled when the OwnerPassword property is set. It is disabled if the OwnerPassword property is not set or is set to an empty string. The value set in the EnableEditAll property is displayed the the PDF document property's security tab under "Annotation", "Form field input", "Signature", and "Create template page".

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


EnablePrint (ImageKit Control/ PDF Property)

This property sets whether or not the PDF document can be printed.

[Visual Basic] imagekitcontrolname.File.PDF.EnablePrint [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().GetEnablePrint()
imagekitcontrolname.GetFile().GetPDF().SetEnablePrint(BOOL Val)
[VB.NET] imagekitcontrolname.File.PDF.EnablePrint[ = Boolean ]
[C#.NET] imagekitcontrolname.File.PDF.EnablePrint[ = bool ]

Property Value

Default value is True

Value | Explanation
True | The document can be printed
False | The document can not be printed

Explanation

The EnablePrint property sets whether or not the contents of the PDF document can be printed. Set an appropriate value into this property before executing the Start method.

The EnablePrint property is enabled when the OwnerPassword property is set. It is disabled if the OwnerPassword property is not set or is set to an empty string. The value set in the EnablePrint property is displayed in the PDF document property's security tab.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


Keywords (ImageKit Control/ PDF Property)

This property sets the PDF document keywords.

[Visual Basic] imagekitcontrolname.File.PDF.Keywords [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetKeywords()
[CString =]imagekitcontrolname.GetFile().GetPDF().SetKeywords(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.PDF.Keywords[ = String ]
[C#.NET] imagekitcontrolname.File.PDF.Keywords[ = String ]

Value

Keywords
Default value is an empty string

Explanation

The Keywords property sets the PDF document keywords. The default value is an empty string. Set the Keywords property before executing the Start method. The values set in the Keywords property are displayed in the PDF document properties.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


Landscape (ImageKit Control/ PDF Property)

This property sets the orientation of the PDF document.

[Visual Basic] imagekitcontrolname.File.PDF.Landscape [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().GetLandscape()
imagekitcontrolname.GetFile().GetPDF().SetLandscape(BOOL Val)
[VB.NET] imagekitcontrolname.File.PDF.Landscape[ = Boolean ]
[C#.NET] imagekitcontrolname.File.PDF.Landscape[ = bool ]

Property Value

Value | Explanation
True | Landscape
False | Portrait

Default value is False

Explanation

The Landscape property sets the orientation of the PDF document. The default value is false, meaning the default orientation for the PDF document is portrait. It is possible to set a different orientation for each page in the PDF document. To change the orientation, set the Landscape property prior to executing the AddImage method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


OwnerPassword (ImageKit Control/ PDF Property)

This property sets the owner password for the PDF document.

[Visual Basic] imagekitcontrolname.File.PDF.OwnerPassword [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetOwnerPassword()
[CString =]imagekitcontrolname.GetFile().GetPDF().SetOwnerPassword(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.PDF.OwnerPassword[ = String ]
[C#.NET] imagekitcontrolname.File.PDF.OwnerPassword[ = String ]

Value

The PDF document's owner passoword
Default value is an empty string.

Explanation

The OwnerPassword property sets the owner password for the PDF document. This is the password that sets permissions for the PDF document (see properties like EnableCopy and EnablePrint, etc).

The default value is an empty string. The OwnerPassword property is referenced when the Start method is executed, so set an appropriate value before executing the Start method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


SavePDFFileName (ImageKit Control/ PDF Property)

This property sets the filename and path where the PDF document is saved.

[Visual Basic] imagekitcontrolname.File.PDF.SavePDFFileName [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetSavePDFFileName()
[CString =]imagekitcontrolname.GetFile().GetPDF().SetSavePDFFileName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.PDF.OwnerPassword[ = String ]
[C#.NET] imagekitcontrolname.File.PDF.OwnerPassword[ = String ]

Value

The filename and path were the PDF document is saved.
Default value is an empty string.

Explanation

The SavePDFFileName property sets the filename and path where the PDF document is saved.

The SavePDFFileName property is referenced when the End method is executed. If the End method is successful, the file is created and saved in the location specified in the SavePDFFileName property.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


Subject (ImageKit Control/ PDF Property)

This property sets the PDF document's subtitle.

[Visual Basic] imagekitcontrolname.File.PDF.Subject [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetSubject()
[CString =]imagekitcontrolname.GetFile().GetPDF().SetSubject(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.PDF.Subject[ = String ]
[C#.NET] imagekitcontrolname.File.PDF.Subject[ = String ]

Value

The PDF document's subtitle
Default value is an empty string.

Explanation

The Subject property sets the PDF document's subtitle. The value set in this property is shown in the "Subtitle" entry in the PDF document summary. This property is referenced when the Start method is executed, so set an appropriate value before executing the Start method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


Title (ImageKit Control/ PDF Property)

This property sets the PDF document's title.

[Visual Basic] imagekitcontrolname.File.PDF.Title [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetTitle()
[CString =]imagekitcontrolname.GetFile().GetPDF().SetTitle(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.PDF.Title[ = String ]
[C#.NET] imagekitcontrolname.File.PDF.Title[ = String ]

Value

The PDF document's title
Default value is an empty string.

Explanation

The Title property sets the PDF document's title. The value set in this property is shown in the "Title" entry in the PDF document summary. This property is referenced when the Start method is executed, so set an appropriate value before executing the Start method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


UserPassword (ImageKit Control/ PDF Property)

This property sets the user password for the PDF document.

[Visual Basic] imagekitcontrolname.File.PDF.UserPassword [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetFile().GetPDF().GetUserPassword()
[CString =]imagekitcontrolname.GetFile().GetPDF().SetUserPassword(LPCTSTR Val)
[VB.NET] imagekitcontrolname.File.PDF.UserPassword[ = String ]
[C#.NET] imagekitcontrolname.File.PDF.UserPassword[ = String ]

Value

The PDF document's user passoword
Default value is an empty string.

Explanation

The UserPassword property sets the user password for the PDF document. This is the password that opens a protected PDF document.

The default value is an empty string. The UserPassword property is referenced when the Start method is executed, so set an appropriate value before executing the Start method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at run-time.


ImageKit File PDF Interface

The ImageKit File PDF interface exposes properties and methods to save files in PDF format.

Method List

Custom Methods | Explanation
AddImage | Adds an image to the PDF document
AddPage | Adds a page to the PDF document
End | Specifies the end of the document when a PDF file is created
EndPage | Specifies the end of a page in the document when PDF document
Start | Specifies the start of the document when a PDF file is created


AddImage (ImageKit Control/ PDF Method)

This method adds an image when the PDF document is created.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.PDF.AddImage(ImageHandle As LONG_PRT, x As Long, y As Long, size As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().AddImage(LONG_PTR ImageHandle, long x, long y, long size)
[VB.NET] [ Boolean = ]imagekitcontrolname.File.PDF.AddImage(ImageHandle As Integer(x86) or Long(x64), x As Integer, y As Integer, size As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.File.PDF.AddImage(int(x86) or long(x64) ImageHandle, int x, int y, int size)

* ImageKit10ALib indicates the ANSI version. ImageKit10Lib indicates the Unicode version. x86 indicates the 32 bit version. x64 indicates the 64 bit version

Parameters

Value | Explanation
ImageHandle | The RAW data image handle for the image (only JPEG and PNG formats are supported)
x | The horizontal coordinate where the image will be added. (The bottom left corner of the image is added at the x,y coordinate. Units are in millimeter)
y | The vertical coordinate where the image will be added. (The bottom left corner of the image is added at the x,y coordinate. Units are in millimeter)
size | The size of the image. (Units are in millimeter)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The AddImage method adds an image when the PDF document is created. Supported image formats are JPEG and PNG.

Set the image location using the x, y paramters. The bottom left corner of the image is attached to the x,y location. Set the length of the image's largest dimension, either the vertical or horizontal dimension, into the size parameter. The units are in millimeters. The aspect ratio of the original image will be maintained.

It is possible to add multiple images in one page by repeating the AddImage method, changing the ImageHandle, x,y, and size parameters and executing this method again. The AddImage method is used with the Start, AddPage, EndPage and End methods.


AddPage (ImageKit Control/ PDF Method)

This method adds a page to the PDF document is created.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.PDF.AddPage
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().AddPage()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.PDF.AddPage()
[C#.NET] [ bool = ]imagekitcontrolname.File.PDF.AddPage()

* ImageKit10ALib indicates the ANSI version. ImageKit10Lib indicates the Unicode version. x86 indicates the 32 bit version. x64 indicates the 64 bit version

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The AddPage method adds a new page to the PDF document. Use the AddImage method to add an image to the page created with the AddPage method. It is possible to create a PDF file with multiple pages by repeating the AddPage method and AddImage method.

The AddPage method is used with the Start, AddImage, EndPage and End methods.


End (ImageKit Control/ PDF Method)

This method finishes the PDF creation process.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.PDF.End
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().End()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.PDF.End()
[C#.NET] [ bool = ]imagekitcontrolname.File.PDF.End()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The End method finishes the PDF creation process the last step of which is to save the PDF in the location set in the SavePDFFileName property.

The End method is used with the Start, AddImage, AddPage and EndPage methods.


EndPage (ImageKit Control/ PDF Method)

This method ends the adding of a page in the PDF creation process.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.PDF.EndPage
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().EndPage()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.PDF.EndPage()
[C#.NET] [ bool = ]imagekitcontrolname.File.PDF.EndPage()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The EndPage method ends the addition of a page in the PDF creation process.

The EndPage method is used with the Start, AddImage, AddPage and End methods.


Start (ImageKit Control/ PDF Method)

This method begins the PDF creation process.

[Visual Basic] [ Boolean = ]imagekitcontrolname.File.PDF.Start
[Visual C++] [ BOOL = ]imagekitcontrolname.GetFile().GetPDF().Start()
[VB.NET] [ Boolean = ]imagekitcontrolname.File.PDF.Start()
[C#.NET] [ bool = ]imagekitcontrolname.File.PDF.Start()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Start method begins the PDF creation process. Before executing this method, set the OwnerPassword and UserPassword properties.

The Start method is used with the AddImage, AddPage, EndPage, and End methods.

Example

(1)Visual Basic
ImageKit1.File.FileName = "C:\PNG\load.png"
If (ImageKit1.File.FileLoadAsRawData() = False) Then Exit Sub

ImageKit1.File.PDF.OwnerPassword = "abcd"
ImageKit1.File.PDF.Application = "PDF Creation Tool"
ImageKit1.File.PDF.Author = "Newtone Corp."
ImageKit1.File.PDF.EnablePrint = True
If (ImageKit1.File.PDF.Start() = False) Then
ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData)
Exit Sub
End If

ImageKit1.File.PDF.DocumentSize = "A4"
ImageKit1.File.PDF.AddPage()
ImageKit1.File.PDF.AddImage(ImageKit1.File.ImageHandleRawData, 30, 50, 100)
ImageKit1.File.PDF.EndPage()

ImageKit1.File.PDF.SavePDFFileName = "C:\PDF\save.pdf"
ImageKit1.File.PDF.End()

ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData)

(2)Visual C++
ImageKit1.GetFile().GetPDF().SetFileName("C:\\PNG\\load.png");
if (ImageKit1.GetFile().FileLoadAsRawData() == FALSE) return;

ImageKit1.GetFile().GetPDF().SetOwnerPassword("abcd");
ImageKit1.GetFile().GetPDF().SetApplication("PDF Creation Tool");
ImageKit1.GetFile().GetPDF().SetAuthor("Newtone Corp.");
ImageKit1.GetFile().GetPDF().SetEnablePrint(TRUE);
if (ImageKit1.GetFile().GetPDF().Start() == FALSE)
{
ImageKit1.FreeMemory(ImageKit1.GetFile().GetImageHandleRawData());
return;
}

ImageKit1.GetFile().GetPDF().SetDocumentSize("A4");
ImageKit1.GetFile().GetPDF().AddPage();
ImageKit1.GetFile().GetPDF().AddImage(ImageKit1.GetFile().GetImageHandleRawData(), 30, 50, 100);
ImageKit1.GetFile().GetPDF().EndPage();

ImageKit1.GetFile().GetPDF().SetSavePDFFileName("C:\\PDF\\save.pdf");
ImageKit1.GetFile().GetPDF().End();

ImageKit1.FreeMemory(GetFile().GetImageHandleRawData());

            (3)VB.NET
ImageKit1.File.FileName = "C:\PNG\load.png"
If (ImageKit1.File.FileLoadAsRawData() = False) Then Return

ImageKit1.File.PDF.OwnerPassword = "abcd"
ImageKit1.File.PDF.Application = "PDF Creation Tool"
            ImageKit1.File.PDF.Author = "Newtone Corp."
ImageKit1.File.PDF.EnablePrint = True
If (ImageKit1.File.PDF.Start() = False) Then
ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData)
Return
End If

ImageKit1.File.PDF.DocumentSize = "A4"
ImageKit1.File.PDF.AddPage()
ImageKit1.File.PDF.AddImage(ImageKit1.File.ImageHandleRawData, 30, 50, 100)
ImageKit1.File.PDF.EndPage()

ImageKit1.File.PDF.SavePDFFileName = "C:\PDF\save.pdf"
ImageKit1.File.PDF.End()

ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData)

(4)C#.NET
ImageKit1.File.FileName = @"C:\PNG\load.png";
if (ImageKit1.File.FileLoadAsRawData() == false) return;

ImageKit1.File.PDF.OwnerPassword = "abcd";
ImageKit1.File.PDF.Application = "PDF Creation Tool";
ImageKit1.File.PDF.Author = "Newtone Corp.";
ImageKit1.File.PDF.EnablePrint = true;
if (ImageKit1.File.PDF.Start() == false)
{
ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData);
return;
}

ImageKit1.File.PDF.DocumentSize = "A4";
ImageKit1.File.PDF.AddPage();
ImageKit1.File.PDF.AddImage(ImageKit1.File.ImageHandleRawData, 30, 50, 100);
ImageKit1.File.PDF.EndPage();

ImageKit1.File.PDF.SavePDFFileName = @"C:\PDF\save.pdf";
ImageKit1.File.PDF.End();

ImageKit1.FreeMemory(ImageKit1.File.ImageHandleRawData);


ImageKit Layer Interface

The ImageKit Layer interface exposes properties for displaying multiple images simultaneously in the ImageKit Control in seperate image layers.

Images displayed in image layers are displayed on top of the base image. If the size of an image displayed in an image layer is larger than the size of the base image, the layer image will be scaled to the size of the base image.

Property List

Custom Properties | Explanation
BitCount | The number of bits per pixel in the image
DXFBlack | Sets whether or not white is displayed as black and black is displayed as white in DXF images
Gray | Determines whether or not the image is grayscale
Height | Refers to the height of the image in pixels
ImageHandle | Refers to the image handle of the image data
ImageKind | Refers to the image type
ImageSize | Refers to the size of the image in bytes
Mask1632 | Refers to the type of mask data in a 16bit color or 32bit color image
PalCount | Refers to the number of palette colors for the image
Picture | Allows a raster image or a vector image to be passed between the ImageKit and a Picture object
ShowInDisp | Sets whether or not the image is displayed in the ImageKit Control
ShowInMagnifier | Sets whether or not the image is displayed in the Magnifier window
ShowInPanWindow | Sets whether or not the image is displayed Pan window
StartX | Sets the horizontal display position of the image (in pixels).
StartY | Sets the vertical display position of the image (in pixels).
TransBlue | Sets the blue value for the transparent color in the (raster) image
TransGreen | Sets the green value for the transparent color in the (raster) image
Transparent | Enables the transparent color in the image
TransRed | Sets the red value for the transparent color in the (raster) image
Width | Refers to the width of the image in pixels
WidthByte | Refers to the number of bytes per line in the image
Xdpi | Refers to the number of pixels per horizontal inch (horizontal resolution) in the image
Ydpi | Refers to the number of pixels per vertical inch (vertical resolution) in the image


ImageKit Layer Properties

Custom Properties | Explanation
BitCount | The number of bits per pixel in the image
DXFBlack | Sets whether or not white is displayed as black and black is displayed as white in DXF images
Gray | Determines whether or not the image is grayscale
Height | Refers to the height of the image in pixels
ImageHandle | Refers to the image handle of the image data
ImageKind | Refers to the image type
ImageSize | Refers to the size of the image in bytes
Mask1632 | Refers to the type of mask data in a 16bit color or 32bit color image
PalCount | Refers to the number of palette colors for the image
Picture | Allows a raster image or a vector image to be passed between the ImageKit and a Picture object
ShowInDisp | Sets whether or not the image is displayed in the ImageKit Control
ShowInMagnifier | Sets whether or not the image is displayed in the Magnifier window
ShowInPanWindow | Sets whether or not the image is displayed Pan window
StartX | Sets the horizontal display position of the image (in pixels).
StartY | Sets the vertical display position of the image (in pixels).
TransBlue | Sets the blue value for the transparent color in the (raster) image
TransGreen | Sets the green value for the transparent color in the (raster) image
Transparent | Enables the transparent color in the image
TransRed | Sets the red value for the transparent color in the (raster) image
Width | Refers to the width of the image in pixels
WidthByte | Refers to the number of bytes per line in the image
Xdpi | Refers to the number of pixels per horizontal inch (horizontal resolution) in the image
Ydpi | Refers to the number of pixels per vertical inch (vertical resolution) in the image


BitCount (ImageKit Control/ Layer Property)

This property refers to the number of bits per pixel in the image set in the Layer(LayerNo).ImageHandle property

[Visual Basic] imagekitcontrolname.Layer(Index).BitCount[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetLayer(Index).GetBitCount()
[VB.NET] imagekitcontrolname.get_Layer(Index).BitCount[ = Short ]
[C#.NET] imagekitcontrolname.get_Layer(Index).BitCount[ = short ]

* The index can range from 0 to 99

Reference

The number of bits per pixel in an image.

Value | Explanation
1 | 2 color (i.e. Black and White)
4 | 16 color
8 | 256 color
16 | 16 bit color
24 | 24 bit color
32 | 32 bit color

Explanation

The BitCount property refers to the number of bits per pixel in the image set in the Layer(LayerNo).ImageHandle property

When the Layer(LayerNo).ImageHandle property is set the value of the BitCount property is automatically set.

This property is not valid for vector images.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


DXFBlack (ImageKit Control/ Layer Property)

This property sets whether or not white is displayed as black and black is displayed as white in DXF images

[Visual Basic] imagekitcontrolname.Layer(Index).DXFBlack[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetLayer(Index).GetDXFBlack()
imagekitcontrolname.GetLayer(Index).SetDXFBlack(BOOL Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).DXFBlack[ = Boolean ]
[C#.NET] imagekitcontrolname.get_Layer(Index).DXFBlack[ = bool ]

* The index can range from 0 to 99

Reference

Value | Explanation
True | Black is displayed as white and white is displayed as black in DXF images (default)
False | The DXF images is displayed as normal

Explanation

The DXFBlack property sets whether or not white is displayed as black and black is displayed as white in DXF images. The default value is True. When this property is true, black and white are exchanged when the DXF image is displayed. This is useful when white lines are draw in DXF data. If they are displayed normally on a white display control then the white lines will not appear.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Gray (ImageKit Control/ Layer Property)

This property determines whether or not the image set in the Layer(LayerNo).ImageHandle property is grayscale.

[Visual Basic] imagekitcontrolname.Layer(Index).Gray[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetLayer(Index).GetGray()
[VB.NET] imagekitcontrolname.get_Layer(Index).Gray[ = Boolean ]
[C#.NET] imagekitcontrolname.get_Layer(Index).Gray[ = bool ]

* The index can range from 0 to 99

Reference

Value | Explanation
True | Grayscale
False | Not grayscale

Explanation

The Gray property determines whether or not the image set in the Layer(LayerNo).ImageHandle property is grayscale.

After setting the Layer(LayerNo).ImageHandle property, the value of the Gray property is automatically set.

This property is not valid for vector images.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


Height (ImageKit Control/ Layer Property)

This property refers to the height of image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).Height[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetLayer(Index).GetHeight()
[VB.NET] imagekitcontrolname.get_Layer(Index).Height[ = Integer ]
[C#.NET] imagekitcontrolname.get_Layer(Index).Height[ = int ]

* The index can range from 0 to 99

Reference

The height of the image in pixels

Explanation

The Height property refers to the height of image set in the Layer(LayerNo).ImageHandle property.

When the Layer(LayerNo).ImageHandle property is set the value of this property is automatically set.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ImageHandle (ImageKit Control/ Layer Property)

This property refers to the image handle of the image set in the LayerNo property.

[Visual Basic] imagekitcontrolname.Layer(Index).ImageHandle[ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]imagekitcontrolname.GetLayer(Index).GetImageHandle()
imagekitcontrolname.GetLayer(Index).SetImageHandle(LONG_PTR Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).ImageHandle[ = Integer(x86) or Long(x64)]
[C#.NET] imagekitcontrolname.get_Layer(Index).ImageHandle[ = int(x86) or long(x64)]

* The index can range from 0 to 99

(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Reference

The image handle of the image

Explanation

The ImageHandle property refers to the image handle of the image set in the LayerNo property.

When the image set in the LayerNo is loaded, the ImageHandle property value is set.

To disable the image referred to by the ImageHandle property, set the ImageHandle property to 0. By doing this that image data will automatically be freed from the memory. What is more, even without manually freeing image data from the memory by executing the FreeMemory method, whenever the ImageHandle property is reset or when the control is destroyed, the image data is automatically freed from the memory.

For example:

'When the ImageKit1.ImageHandle property value is not 0 (when an image has been loaded)

ImageKit1.LayerNo = 0

ImageKit1.Layer(0).Transparent = False

ImageKit1.File.LoadFile(ikLoad)

'The image data in the memory referred to by the ImageKit1.Layer(0).ImageHandle property has been automatically freed.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences between ImageKit7/8

This property's type has changed.


ImageKind (ImageKit Control/ Layer Property)

This property refers to the type of image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).ImageKind[ = ImageKindConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetLayer(Index).GetImageKind()
[VB.NET] imagekitcontrolname.get_Layer(Index).ImageKind[ = ImageKit10(A)Lib.ImageKindConstants ]
[C#.NET] imagekitcontrolname.get_Layer(Index).ImageKind[ = ImageKit10(A)Lib.ImageKindConstants ]

* The index can range from 0 to 99

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Reference

The number of bits per pixel in an image.

Value | Explanation
0 | Unknown
1 | Raster image
2 | WMF
3 | EMF
4 | DXF
5 | SVG
6 | SXF

It is also possible to use the following constants (ikInvalidImage = 0, ikRasterImage = 1, ikVectorWMF = 2, ikVectorEMF = 3, ikVectorDXF = 4, ikVectorSVG = 5, ikVectorSXF = 6).

Explanation

This property refers to the type of image set in the Layer(LayerNo).ImageHandle property.

When the Layer(LayerNo).ImageHandle property is set the value of this property is automatically set.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ImageKind (ImageKit Control/ Layer Property)

ImageKit10 ActiveX

ImageSize (ImageKit Control/ Layer Property)

This property refers to the size, in bytes, of the image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).ImageSize[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetLayer(Index).GetImageSize()
[VB.NET] imagekitcontrolname.get_Layer(Index).ImageSize[ = Integer ]
[C#.NET] imagekitcontrolname.get_Layer(Index).ImageSize[ = int ]

* The index can range from 0 to 99

Reference

The size of the image in bytes

Explanation

This property refers to the size, in bytes, of the image set in the Layer(LayerNo).ImageHandle property.

When the Layer(LayerNo).ImageHandle property is set the value of this property is automatically set.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


Mask1632 (ImageKit Control/ Layer Property)

This property refers to the type of mask data in the 16bit color or 32bit color image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).Mask1632[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetLayer(Index).GetMask1632()
[VB.NET] imagekitcontrolname.get_Layer(Index).Mask1632[ = Short ]
[C#.NET] imagekitcontrolname.get_Layer(Index).Mask1632[ = short ]

* The index can range from 0 to 99

Reference

The type of mask data for 16 or 32 bit color images

Value | Explanation
0 | The BitCount property is not 16 bit or 32 bit
1 | Mask data exists (RGB555 format)
2 | Mask data exists (RGB565 format)
3 | Mask data does not exist (RGB555 format)
4 | Mask data exists (RGB888 format)
5 | Mask data does not exist (RGB888 format)

Explanation

The Mask1632 property refers to the type of mask data in the 16bit color or 32bit color image set in the Layer(LayerNo).ImageHandle property.

After setting the Layer(LayerNo).ImageHandle property, the value of the Mask1632 property is automatically set.

This property is not valid for vector images.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


PalCount (ImageKit Control/ Layer Property)

This property refers to the number of palette colors for the image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).PalCount[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetLayer(Index).GetPalCount()
[VB.NET] imagekitcontrolname.get_Layer(Index).PalCount[ = Short ]
[C#.NET] imagekitcontrolname.get_Layer(Index).PalCount[ = short ]

* The index can range from 0 to 99

Reference

The number of palette colors for the image.

This property value is valid when the BitCount property is less than 8, otherwise 0 is returned.

Explanation

The PalCount property refers to the number of palette colors for the image set in the Layer(LayerNo).ImageHandle property.

After setting the Layer(LayerNo).ImageHandle property, the value of this property is automatically set.

This property is not valid for vector images.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


Picture (ImageKit Control/ Layer Property)

This property allows a raster image or a vector image to be passed between the ImageKit and a VisualBasic Picture object or a C#.NET/VB.NET Image object.

[Visual Basic] imagekitcontrolname.Layer(Index).Picture[= Picture ]
[VB.Net] imagekitcontrolname.get_get_Layer(Index).Picture[= stdole.IPictureDisp ]
[C#.Net] imagekitcontrolname.get_get_Layer(Index).Picture[= stdole.IPictureDisp ]

Reference

This value refers to the VisualBasic Picture object or the C#.NET/VB.NET Image object.

Explanation

It's possible to pass either a raster image or a vector image from the ImageKit to the VisualBasic Picture object. However, with the C#.NET/VB.NET Image object, although you can pass a vector image from the ImageKit Control, the vector image is converted to a raster image in the C#.NET/VB.NET Image object.

In Visual Basic:

(1) To pass an image from a PictureBox to the ImageKit:

ImageKit1.Layer(0).Picture = Picture1.Picture

(2) To pass an image from the ImageKit to a PictureBox

Picture1.Picture = ImageKit1.Layer(0).Picture

In VB.NET/ C#.Net:

It is not possible to pass an image directly from the PictureBox's Image property. Instead you will need to derive a class from the AxHost class (in the System.Windows.Forms namespace) and execute the GetIPictureDispFromPicture (or GetIPictureFromPicture) method and the GetPictureFromIPicture method. In the following example, the class name is IPictureDispHost, the method names are GetIPictureDisp (this executes the AxHost class's GetIPictureDispFromPicture method) and the GetPicture (this executes the AxHost class's GetPictureFromIPicture method).

(1) To pass an image from a PictureBox to the ImageKit:

In VB.NET
ImageKit1.get_Layer(0).Picture = DirectCast(IPictureDispHost.GetIPictureDisp(PictureBox1.Image), stdole.IPicyureDisp)

In C#.NET
ImageKit1.get_Layer(0).Picture = (stdole.IPictureDisp)IPictureDispHost.GetIPictureDisp(PictureBox1.Image);

(2) To pass an image from the ImageKit to a PictureBox

In VB.NET
PictureBox1.Image = IPictureDisp.GetPicture(ImageKit1.get_Layer(0).Picture)

In C#.NET
PictureBox1.Image = IPictureDisp.GetPicture(ImageKit1.get_Layer(0).Picture);

Note: At runtime, prior to setting the Picture(Image) object to the Picture property, it is necessary to free any previous contents of the Picture property from the memory.

In Visual Basic:

Set Picture1.Picture = LoadPicture(path)

ImageKit1.Layer(0).Picture = LoadPicture()

ImageKit1.Layer(0).Picture = Picture1.Picture

In VB.NET:

PictureBox1.Image = Image.FromFile(path)

ImageKit1.get_Layer(0).Picture = Nothing

ImageKit1.get_Layer(0).Picture = DirectCast(IPictureDispHost.GetIPictureDisp(PictureBox1.Image), stdole.IPictureDisp)

In C#.NET:

PictureBox1.Image = Image.FromFile(path);

ImageKit1.get_Layer(0).Picture = null;

ImageKit1.get_Layer(0).Picture = (stdole.IPictureDisp)IPictureDispHost.GetIPictureDisp(PictureBox1.Image);

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ShowInDisp (ImageKit Control/ Layer Property)

This property sets whether or not the image is displayed in the ImageKit Control

[Visual Basic] imagekitcontrolname.Layer(Index).ShowInDisp [= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetLayer(Index).GetShowInDisp()
imagekitcontrolname.GetLayer(Index).SetShowInDisp(BOOL Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).ShowInDisp[ = Boolean ]
[C#.NET] imagekitcontrolname.get_Layer(Index).ShowInDisp[ = bool ]

* The index can range from 0 to 99

Property Value

The ShowInDisp property sets whether or not the image is displayed in the ImageKit Control.

Value | Explanation
True | Displays the image
False | Does not display the image

Explanation

The default value is True. Using this property, you can switch between displaying or hiding the image. (The image is the image pointed to by the Layer(LayerNo).ImageHandle property).

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ShowInMagnifier (ImageKit Control/ Layer Property)

This property sets whether or not the image is displayed in the Magnifier window.

[Visual Basic] imagekitcontrolname.Layer(Index).ShowInMagnifier [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetLayer(Index).GetShowInMagnifier()
imagekitcontrolname.GetLayer(Index).SetShowInMagnifier(BOOL Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).ShowInMagnifier[ = Boolean ]
[C#.NET] imagekitcontrolname.get_Layer(Index).ShowInMagnifier[ = bool ]

* The index can range from 0 to 99

Property Value

The ShowInMagnifier property sets whether or not the image is displayed in the Magnifier window.

Value | Explanation
True | Displays the image
False | Does not display the image

Explanation

The default value is True. Using this property, you can switch between displaying or hiding the image in the Magnifier window. (The base image is the image pointed to by the Layer(LayerNo)ImageHandle property).

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ShowInPanWindow (ImageKit Control/ Layer Property)

This property sets whether or not the image is displayed in the Pan window.

[Visual Basic] imagekitcontrolname.Layer(Index).ShowInPanWindow[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetLayer(Index).GetShowInPanWindow()
imagekitcontrolname.GetLayer(Index).SetShowInPanWindow(BOOL Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).ShowInPanWindow[ = Boolean ]
[C#.NET] imagekitcontrolname.get_Layer(Index).ShowInPanWindow[ = bool ]

* The index can range from 0 to 99

Property Value

The ShowInPanWindow property sets whether or not the image is displayed in the Pan window.

Value | Explanation
True | Displays the image
False | Does not display the image

Explanation

The default value is True. Using this property, you can switch between displaying or hiding the image in the Pan window. (The base image is the image pointed to by the Layer(LayerNo)ImageHandle property).

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


StartX (ImageKit Control/ Layer Property)

This property sets the point on the image that will be displayed from the top left corner of the ImageKit Control

[Visual Basic] imagekitcontrolname.Layer(Index).StartX [= Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetLayer(Index).GetStartX()
imagekitcontrolname.GetLayer(Index).SetStartX(long Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).StartX [= Integer ]
[C#.NET] imagekitcontrolname.get_Layer(Index).StartX [= int ]

* The index can range from 0 to 99

Property Value

The horizontal position on the image that will be displayed from the left of the ImageKit Control. The default value is 0.

Explanation

The StartX property sets the point on the layer image that will be displayed from the top left corner of the ImageKit Control. The image that the StartX property relates to is the image set in the Layer(LayerNo).ImageHandle property.

If the base image has not been set this property is disabled. The base image is the image pointed to by the ImageHandle property.

For example:

ImageKit1.Layer(0).StartX = 300

ImageKit1.Layer(0).StartY = 200

ImageKit1.Refresh

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


StartY (ImageKit Control/ Layer Property)

This property sets the point on the image that will be displayed from the top left corner of the ImageKit Control

[Visual Basic] imagekitcontrolname.Layer(Index).StartY [= Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetLayer(Index).GetStartY()
imagekitcontrolname.GetLayer(Index).SetStartY(long Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).StartY [= Integer ]
[C#.NET] imagekitcontrolname.get_Layer(Index).StartY [= int ]

* The index can range from 0 to 99

Property Value

The vertical position on the image that will be displayed from the left of the ImageKit Control. The default value is 0.

Explanation

The StartY property sets the point on the layer image that will be displayed from the top left corner of the ImageKit Control. The image that the StartY property relates to is the image set in the Layer(LayerNo).ImageHandle property.

If the base image has not been set this property is disabled. The base image is the image pointed to by the ImageHandle property.

For example:

ImageKit1.Layer(0).StartX = 300

ImageKit1.Layer(0).StartY = 200

ImageKit1.Refresh

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


TransBlue (ImageKit Control/ Layer Property)

This property sets the transparent color in the image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).TransBlue[= Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetLayer(Index).GetTransBlue()
imagekitcontrolname.GetLayer(Index).SetTransBlue(short Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).TransBlue[= Short ]
[C#.NET] imagekitcontrolname.get_Layer(Index).TransBlue[= short ]

* The index can range from 0 to 99

Reference

TransBlue is the transparent color's blue value. (Values range from 0 to 255. Default value is 0 )

Explanation

The TransBlue property sets the transparent color in the image set in the Layer(LayerNo).ImageHandle property. This property is useful when multiple image are displayed at the same time in the ImageKit Control. When a transparent color is used, the next image layer below the transparent color will appear. The image where the transparent color is set must be 8 bit color or 24 bit color and is specified by the Layer(LayerNo).ImageHandle property. The default value is true. If a vector image is set in the base image, this property is disabled.

Example: Setting the transparent color to white

ImageKit1.Layer(0).Transparent = True

ImageKit1.Layer(0).TransBlue = 255

ImageKit1.Layer(0).TransGreen = 255

ImageKit1.Layer(0).TransRed = 255

ImageKit1.LayerNo = 0

ImageKit1.File.LoadFile(ikLoad)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


TransGreen (ImageKit Control/ Layer Property)

This property sets the transparent color in the image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).TransGreen [= integer ]
[Visual C++] [short = ]imagekitcontrolname.GetLayer(Index).GetTransGreen()
imagekitcontrolname.GetLayer(Index).SetTransGreen(short Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).TransGreen[= Short ]
[C#.NET] imagekitcontrolname.get_Layer(Index).TransGreen[= short ]

* The index can range from 0 to 99

Reference

TransGreen is the transparent color's green value. (Values range from 0 to 255. Default value is 0)

Explanation

The TransGreen property sets the transparent color in the image set in the Layer(LayerNo).ImageHandle property. This property is useful when multiple image layers are displayed at the same time. When a transparent color is used, the next image layer below the transparent color will appear. The image where the transparent color is set must be 8 bit color or 24 bit color and is specified by the Layer(LayerNo).ImageHandle property. The default value is true. If a vector image is set in the base image, this property is disabled.

Example: Setting the transparent color to white

ImageKit1.Layer(0).Transparent = True

ImageKit1.Layer(0).TransBlue = 255

ImageKit1.Layer(0).TransGreen = 255

ImageKit1.Layer(0).TransRed = 255

ImageKit1.LayerNo = 0

ImageKit1.File.LoadFile(ikLoad)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Transparent (ImageKit Control/ Layer Property)

This property enables the transparent color in the image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).Transparent[= Boolean ]
[Visual C++] [BOOL = ]imagekitcontrolname.GetLayer(Index).GetTransparent()
imagekitcontrolname.GetLayer(Index).SetTransparent(BOOL Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).Transparent[= Boolean ]
[C#.NET] imagekitcontrolname.get_Layer(Index).Transparent[= bool ]

* The index can range from 0 to 99

Property Value

Value | Explanation
True | The transparent color is enabled. (default value)
False | The transparent color is disabled

Explanation

The Transparent property enables the transparent color in the image set in the Layer(LayerNo).ImageHandle property.

The default value is True.

When the Transparent property is True, the color set by the TransBlue, TransGreen, and TransRed properties will be transparent.

To display multiple images without a transparent color, set this property to false.

If the image set in the Layer(LayerNo).ImageHandle property is a vector image, then the Transparent property is disabled.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


TransRed (ImageKit Control/ Layer Property)

This property sets the transparent color in the image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).TransRed [= integer ]
[Visual C++] [short = ]imagekitcontrolname.GetLayer(Index).GetTransRed()
imagekitcontrolname.GetLayer(Index).SetTransRed(short Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).TransRed[= Short ]
[C#.NET] imagekitcontrolname.get_Layer(Index).TransRed[= short ]

* The index can range from 0 to 99

Reference

TransRed is the transparent color's red value. (Values range from 0 to 255. Default value is 0)

Explanation

The TransRed property sets the transparent color in the image set in the Layer(LayerNo).ImageHandle property. This property is useful when multiple image layers are displayed at the same time. When a transparent color is used, the next image layer below the transparent color will appear. The image where the transparent color is set must be 8 bit color or 24 bit color and is specified by the Layer(LayerNo).ImageHandle property. The default value is true. If a vector image is set in the base image, this property is disabled.

Example: Setting the transparent color to white

ImageKit1.Layer(0).Transparent = True

ImageKit1.Layer(0).TransBlue = 255

ImageKit1.Layer(0).TransGreen = 255

ImageKit1.Layer(0).TransRed = 255

ImageKit1.LayerNo = 0

ImageKit1.File.LoadFile(ikLoad)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Width (ImageKit Control/ Layer Property)

This property refers to the width of image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).Width[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetLayer(Index).GetWidth()
[VB.NET] imagekitcontrolname.get_Layer(Index).Width[ = Integer ]
[C#.NET] imagekitcontrolname.get_Layer(Index).Width[ = int ]

* The index can range from 0 to 99

Reference

The width of the image in pixels

Explanation

The Width property refers to the width of image set in the Layer(LayerNo).ImageHandle property.

When the Layer(LayerNo).ImageHandle property is set the value of this property is automatically set.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


WidthByte (ImageKit Control/ Layer Property)

This property refers to the number of bytes per line in the image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).WidthByte[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetLayer(Index).GetWidthByte()
[VB.NET] imagekitcontrolname.get_Layer(Index).WidthByte[ = Integer ]
[C#.NET] imagekitcontrolname.get_Layer(Index).WidthByte[ = int ]

* The index can range from 0 to 99

Reference

The number of bytes per line in the image

Explanation

This property refers to the number of bytes per line in the image set in the Layer(LayerNo).ImageHandle property.

When the Layer(LayerNo).ImageHandle property is set the value of this property is automatically set.

This property is not valid for vector images.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


Xdpi (ImageKit Control/ Layer Property)

This property refers to the number of pixels per horizontal inch (horizontal resolution) in the image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).Xdpi[ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetLayer(Index).GetXdpi()
imagekitcontrolname.GetLayer(Index).SetXdpi(long Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).Xdpi[ = Integer ]
[C#.NET] imagekitcontrolname.get_Layer(Index).Xdpi[ = int ]

* The index can range from 0 to 99

Reference

The number of pixels in one horizontal inch

Explanation

The Xdpi property refers to the number of pixels per horizontal inch (horizontal resolution) in the image set in the Layer(LayerNo).ImageHandle property.

When the Layer(LayerNo).ImageHandle property is set the value of this property is automatically set.

To change the value of the The Xdpiproperty set the index of the image in the LayerNo property then execute the SetDpi method.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Ydpi (ImageKit Control/ Layer Property)

This property refers to the number of pixels per vertical inch (vertical resolution) in the image set in the Layer(LayerNo).ImageHandle property.

[Visual Basic] imagekitcontrolname.Layer(Index).Ydpi [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetLayer(Index).GetYdpi()
imagekitcontrolname.GetLayer(Index).SetYdpi(long Val)
[VB.NET] imagekitcontrolname.get_Layer(Index).Ydpi[ = Integer ]
[C#.NET] imagekitcontrolname.get_Layer(Index).Ydpi[ = int ]

* The index can range from 0 to 99

Reference

The number of pixels in one vertical inch

Explanation

The Ydpi property refers to the number of pixels per vertical inch (vertical resolution) in the image set in the Layer(LayerNo).ImageHandle property.

When the Layer(LayerNo).ImageHandle property is set the value of this property is automatically set.

To change the value of the The Ydpiproperty set the index of the image in the LayerNo property then execute the SetDpi method.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ImageKit Magnifier Interface

The ImageKit Magnifier interface exposes properties and methods for displaying the magnifier window in the ImageKit Control.

Property List

Custom Properties | Explanation
Edge | Sets whether or not an edge is displayed in the magnifier window
Height | Sets the height of the magnifier window
ShowCursor | Sets whether or not a cursor is displayed in the center of the magnifier window
Type | Sets the shape of the magnifier window
Width | Sets the width of the magnifier window

Method List

Custom Method | Explanation
Show | Displays the magnifier window


ImageKit Magnifier Properties

Custom Properties | Explanation
Edge | Sets whether or not an edge is displayed in the magnifier window
Height | Sets the height of the magnifier window
ShowCursor | Sets whether or not a cursor is displayed in the center of the magnifier window
Type | Sets the shape of the magnifier window
Width | Sets the width of the magnifier window


Edge (ImageKit Control/ Magnifier Property)

This property sets whether or not an edge is displayed on the magnifier

[Visual Basic] imagekitcontrolname.Magnifier.Edge[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetMagnifier().GetEdge()
imagekitcontrolname.GetMagnifier().SetEdge(BOOL Val)
[VB.NET] imagekitcontrolname.Magnifier.Edge[ = Boolean ]
[C#.NET] imagekitcontrolname.Magnifier.Edge[ = bool ]

Property Value

Value | Explanation
True | A border is displayed on the magnifier
False | A border is not displayed on the magnifier (default)

Explanation

The Edge property sets whether or not an edge is displayed on the magnifier.

The default value is false. When the Edge property is set to True, a black border is displayed on the magnifier.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Height (ImageKit Control/ Magnifier Property)

This property sets the height of the magnifier

[Visual Basic] imagekitcontrolname.Magnifier.Height [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetMagnifier().GetHeight()
imagekitcontrolname.GetMagnifier().SetHeight(short Val)
[VB.NET] imagekitcontrolname.Magnifier.Height [ = Short ]
[C#.NET] imagekitcontrolname.Magnifier.Height [ = short ]

Property Value

The Height property sets the vertical size of the magnifier (in pixels)

Explanation

The Height property sets the height of the magnifier.

The default value is 100.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


ShowCursor (ImageKit Control/ Magnifier Property)

This property sets whether or not a cursor is displayed in the magnifier

[Visual Basic] imagekitcontrolname.Magnifier.ShowCursor [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetMagnifier().GetShowCursor()
imagekitcontrolname.GetMagnifier().SetShowCursor(BOOL Val)
[VB.NET] imagekitcontrolname.Magnifier.ShowCursor [ = Boolean ]
[C#.NET] imagekitcontrolname.Magnifier.ShowCursor [ = bool ]

Property Value

Value | Explanation
True | Displays a mouse cursor in the magnifier
False | Does not display a mouse cursor in the magnifier (default)

Explanation

The ShowCursor property sets whether or not a cursor is displayed in the magnifier.

The default value is false. When this property is set to False, no cursor is displayed in the ImageKit Control.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Type (ImageKit Control/ Magnifier Property)

This property sets the shape of the magnifier

[Visual Basic] imagekitcontrolname.Magnifier.Type [ = MagnifierTypeConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetMagnifier().GetType()
imagekitcontrolname.GetMagnifier().SetType(long Val)
[VB.NET] imagekitcontrolname.Magnifier.Type [ = ImageKit10(A)Lib.MagnifierTypeConstants ]
[C#.NET] imagekitcontrolname.Magnifier.Type [ = ImageKit10(A)Lib.MagnifierTypeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Rectangular magnifier (default)
1 | Rounded-rectangular magnifier
2 | Circular magnifier

The following constants can also be used: (ikRectangleMagnifier = 0, ikRoundRectMagnifier = 1, ikEllipseMagnifier = 2).

Explanation

The Type property sets the shape of the magnifier.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Width (ImageKit Control/ Magnifier Property)

This property sets the width of the magnifier

[Visual Basic] imagekitcontrolname.Magnifier.Width [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetMagnifier().GetWidth()
imagekitcontrolname.GetMagnifier().SetWidth(short Val)
[VB.NET] imagekitcontrolname.Magnifier.Width [ = Short ]
[C#.NET] imagekitcontrolname.Magnifier.Width [ = short ]

Property Value

The Width property sets the horizontal size of the magnifier (in pixels)

Explanation

The Width property sets the width of the magnifier.

The default value is 100.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


ImageKit Magnifier Methods

Custom Method | Explanation
Show | Displays the magnifier window


Show (ImageKit Control/Magnifier Method)

This method displays a magnifier in the ImageKit Control. The size of the magnifier is determined by the Magnifier.Height and Magnifier.Width properties

[Visual Basic] [ Boolean = ]imagekitcontrolname.Magnifier.Show(Show As Boolean, x As Long, y As Long, Scale As Double)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetMagnifier().Show(BOOL Show, long x, long y, double Scale)
[VB.NET] [ Boolean = ]imagekitcontrolname.Magnifier.Show(Show As Boolean, x As Integer, y As Integer, Scale As Double)
[C#.NET] [ bool = ]imagekitcontrolname.Magnifier.Show(bool Show, int x, int y, double Scale)

Parameters

Value | Explanation
Show | Sets the display of the magnifier window: True (nonzero) displays the magnifier, False (0) hides the magnifier
x,y | Sets the location of the center of the magnifier (in pixels)
Scale | Sets the magnification of the display in the magnifier (actual size display = 1.0)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Show method displays a magnifier in the ImageKit Control. The Magnifier.Height and Magnifier.Width properties determine the size of the magnifier and must be set.

When the Show parameter = False, the x, y, and Scale parameter values are ignored.

The magnifier will be displayed on the image when that image's ShowInMagnifier property is set to True (For the base image, see the ShowInMagnifier property. For layer images see the Layer.ShowInMagnifier property).

The order in which images are displayed are: base image, layer images (from smallest to largest index)

Note that if the base image has not be set then the layer images are not displayed.

Sample code for displaying the magnifier:

Visual Basic

Private Sub ImageKit1_MouseMoveImage(ByVal Button As Integer, ByVal Shift As Integer, ByVal OriginX As Long, ByVal OriginY As Long, ByVal Left As Long,
ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal ScaleWidth As Double, ByVal ScaleHeight As Double, ByVal x As Long, ByVal y As Long)

'Magnifier

ImageKit1.Magnifier.Width = 100

ImageKit1.Magnifier.Height = 100

ImageKit1.Magnifier.Show True, x, y, 2

End Sub


ImageKit PanWindow Interface

The ImageKit PanWindow interface exposes properties and methods for displaying the pan window in the ImageKit Control.

Property List

Custom Properties | Explanation
Caption | Sets the caption in the Pan Window
CloseBox | Sets whether or not there is a close button on the Pan Window title bar
Color | Sets the color of the Pan Window background
EnableClick | Sets whether or not a mouse click is enabled within the Pan Window
Enabled | Sets whether or not a mouse and keyboard events are enabled within the Pan Window
Hwnd | Refers to the window handle of the Pan Window
Left | Sets where the left position of the Pan Window will be placed on the screen
MouseCursorFile | Sets the name of the cursor file that defines the cursor used inside the Pan Window
MouseCursorType | Sets the shape of the cursor that is used inside the Pan Window
RectColor | Sets the color of the rectangle border in the Pan Window
RectMouseCursorFile | Sets the name of the cursor file that defines the cursor used when the mouse is pressed in the rectangel in the Pan Window
RectMouseCursorType | Sets the shape of the cursor that is used inside the rectangle in the Pan Window
RectReverse | Sets whether the RGB values (the colors) within the rectangle in the Pan Window are normal or reversed
RefineImage | Sets whether or not an image will be displayed in high quality (8 bit grayscale) in the Pan Window
Size | Sets the size of the Pan Window in pixels
Top | Sets where the top position of the Pan Window will be placed on the screen

Method List

Custom Method | Explanation
Show | Displays the Pan Window


ImageKit PanWindow Properties

Custom Properties | Explanation
Caption | Sets the caption in the Pan Window
CloseBox | Sets whether or not there is a close button on the Pan Window title bar
Color | Sets the color of the Pan Window background
EnableClick | Sets whether or not a mouse click is enabled within the Pan Window
Enabled | Sets whether or not a mouse and keyboard events are enabled within the Pan Window
Hwnd | Refers to the window handle of the Pan Window
Left | Sets the left position of the Pan Window
MouseCursorFile | Sets the name of the cursor file that defines the cursor used inside the Pan Window
MouseCursorType | Sets the shape of the cursor that is used inside the Pan Window
RectColor | Sets the color of the rectangle border in the Pan Window
RectMouseCursorFile | Sets the name of the cursor file that defines the cursor used when the mouse is pressed in the rectangle in the Pan Window
RectMouseCursorType | Sets the shape of the cursor that is used inside the rectangle in the Pan Window
RectReverse | Sets whether the RGB values (the colors) within the rectangle in the Pan Window are normal or reversed
RefineImage | Sets whether or not an image will be displayed in high quality (8 bit grayscale) in the Pan Window
Size | Sets the size of the Pan Window in pixels
Top | Sets the top position of the Pan Window


Caption (ImageKit Control/ PanWindow Property)

This property sets the caption in the Pan Window

[Visual Basic] imagekitcontrolname.PanWindow.Caption [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetPanWindow().GetCaption()
imagekitcontrolname.GetPanWindow().SetCaption(LPCTSTR Val)
[VB.NET] imagekitcontrolname.PanWindow.Caption [ = String ]
[C#.NET] imagekitcontrolname.PanWindow.Caption [ = string ]

Property Value

The string for the caption in the Pan Window

Explanation

The Caption property sets the caption in the Pan Window.

If no text has been entered into the Caption property and the CloseBox property is False then the PanWindow will have no title bar and can not be moved with the mouse.

The Caption property corresponds to the Display Control's PanWindowCaption property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


CloseBox (ImageKit Control/ PanWindow Property)

This property sets whether or not there is a close button on the Pan Window title bar

[Visual Basic] imagekitcontrolname.PanWindow.CloseBox [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPanWindow().GetCloseBox()
imagekitcontrolname.GetPanWindow().SetCloseBox(BOOL Val)
[VB.NET] imagekitcontrolname.PanWindow.CloseBox [ = Boolean ]
[C#.NET] imagekitcontrolname.PanWindow.CloseBox [ = bool ]

Property Value

Value | Explanation
True | Close button is displayed on the title bar of the Pan Window.
False | Close button is not displayed on the title bar of the Pan Window.

Explanation

The CloseBox property sets whether or not there is a close button on the Pan Window title bar.

The CloseBox property corresponds to the Display Control's PanWindowCloseBox property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Color (ImageKit Control/ PanWindow Property)

This property sets the color of the Pan Window background

[Visual Basic] imagekitcontrolname.PanWindow.Color[ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]imagekitcontrolname.GetPanWindow().GetColor()
imagekitcontrolname.GetPanWindow().SetColor(unsigned long Val)
[VB.NET] imagekitcontrolname.PanWindow.Color[ = UInteger ]
[C#.NET] imagekitcontrolname.PanWindow.Color[ = uint ]

Property Value

The color of the Pan Window background, i.e. that part of the pan window where no image is displayed. (Used when vector images are shown in the pan window)

Explanation

The Color property sets the color of the Pan Window background.

Color can be set using RGB(Red, Green, Blue) or the equivalent value.

The Color property corresponds to the Display Control's PanWindowColor property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


EnableClick (ImageKit Control/ PanWindow Property)

This property sets whether or not a mouse click is enabled within the pan window

[Visual Basic] imagekitcontrolname.PanWindow.EnableClick [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPanWindow().GetEnableClick()
imagekitcontrolname.GetPanWindow().SetEnableClick(BOOL Val)
[VB.NET] imagekitcontrolname.PanWindow.EnableClick [ = Boolean ]
[C#.NET] imagekitcontrolname.PanWindow.EnableClick [ = bool ]

Property Value

Value | Explanation
True | The mouse click is enabled within the pan window
False | The mouse click is disabled within the pan window (Default value)

Explanation

The EnableClick property sets whether or not a mouse click is enabled within the pan window.

When True and the left mouse button is clicked inside the pan window (but outside the rectangle in the pan window), the image in the ImageKit Control will be centered at the click location. The rectangle in the pan window will also be centered at the click location.

The EnableClick property corresponds to the Display Control's ClickPanWindow property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Enabled (ImageKit Control/ PanWindow Property)

This property sets whether or not mouse or keyboard events will are enabled within the pan window

[Visual Basic] imagekitcontrolname.PanWindow.Enabled [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPanWindow().GetEnabled()
imagekitcontrolname.GetPanWindow().SetEnabled(BOOL Val)
[VB.NET] imagekitcontrolname.PanWindow.Enabled [ = Boolean ]
[C#.NET] imagekitcontrolname.PanWindow.Enabled [ = bool ]

Property Value

Value | Explanation
True | Mouse and keyboard events are enabled within the pan window
False | Mouse and keyboard events are disabled within the pan window (Default value)

Explanation

The Enabled property sets whether or not mouse and keyboard events are enabled within the pan window. When true, mouse and keyboard events are enabled. When false those events are not generated. Default value is true.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Hwnd (ImageKit Control/ PanWindow Property)

This property refers to the window handle of the pan window

[Visual Basic] imagekitcontrolname.PanWindow.Hwnd [ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]imagekitcontrolname.GetPanWindow().GetHwnd()
[VB.NET] imagekitcontrolname.PanWindow.Hwnd [ = Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.PanWindow.Hwnd [ = int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Property Value

The Hwnd is the window handle of the pan window.

Explanation

The Hwnd property refers to the window handle of the pan window.

The Hwnd property corresponds to the Display Control's PanWindowHandle property in earlier versions of the ImageKit.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.

Differences between ImageKit7/8

This property's type has changed.


Left (ImageKit Control/ PanWindow Property)

This property sets the left position of the Pan Window.

[Visual Basic] imagekitcontrolname.PanWindow.Left [ = Long ]
[Visual C++] [ short = ]imagekitcontrolname.GetPanWindow().GetLeft()
imagekitcontrolname.GetPanWindow().SetLeft(short Val)
[VB.NET] imagekitcontrolname.PanWindow.Left [ = Integer ]
[C#.NET] imagekitcontrolname.PanWindow.Left [ = int ]

Property Value

The distance of the top left corner of the Pan Window from the top left corner of the screen (in pixels).

The Left property sets the left position of the Pan Window.

Explanation

The Left property sets where the left position of the Pan Window will be placed on the screen.

The size of the Pan Window is determined by the Size property. By using the pan window you can easily view the entire image currently displayed in the ImageKit Control.

The Left property corresponds to the Display Control's PanWindowLeft property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


MouseCursorFile (ImageKit Control/ PanWindow Property)

This property sets the name of the cursor file that defines the cursor used inside the Pan Window.

[Visual Basic] imagekitcontrolname.PanWindow.MouseCursorFile [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetPanWindow().GetMouseCursorFile()
imagekitcontrolname.GetPanWindow().SetMouseCursorFile(LPCTSTR Val)
[VB.NET] imagekitcontrolname.PanWindow.MouseCursorFile [ = String ]
[C#.NET] imagekitcontrolname.PanWindow.MouseCursorFile [ = string ]

Property Value

Custom cursor file name.

Explanation

The MouseCursorFile property sets the name of the cursor file that defines the cursor used inside the Pan Window.

The MouseCursorFile property is enabled when the MouseCursorType property is set to 15 (ikCursorCustom). If an empty string is set in the MouseCursorType property, the mouse cursor will be an arrow (Default).

The mouse cursor set in the MouseCursorFile property is enabled when the mouse button is pressed while the cursor is inside the Pan Window.

The MouseCursorFile property corresponds to the Display Control's PanWindowMouseCur property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


MouseCursorType (ImageKit Control/ PanWindow Property)

This property sets the shape of the cursor that is used inside the Pan Window.

[Visual Basic] imagekitcontrolname.PanWindow.MouseCursorType [ = CursorTypeConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetPanWindow().GetMouseCursorType()
imagekitcontrolname.GetPanWindow().SetMouseCursorType(long Val)
[VB.NET] imagekitcontrolname.PanWindow.MouseCursorType [ = ImageKit10(A)Lib.CursorTypeConstants ]
[C#.NET] imagekitcontrolname.PanWindow.MouseCursorType [ = ImageKit10(A)Lib.CursorTypeConstants ]

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Standard arrow (Default)
1 | Standard arrow and small hourglass
2 | Crosshair
3 | Standard arrow and question mark
4 | I-beam
6 | Slashed circle
8 | Four-pointed arrow
9 | Double-pointed arrow pointing northeast and southwest
10 | Double-pointed arrow pointing north and south
11 | Double-pointed arrow pointing northwest and southeast
12 | Double-pointed arrow pointing west and east
13 | Vertical arrow
14 | Hourglass
15 | Custom

The following constants can be used: (ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2, ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8, ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11, ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom = 15)

Explanation

The MouseCursorType property sets the shape of the cursor that is used inside the Pan Window.

When the MouseCursorType property is set to 15 (ikCursorCustom), a cursor file name must be set in the MouseCursorFile property.

The MouseCursorType property corresponds to the Display Control's PanWindowMouseCursorType property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


RectColor (ImageKit Control/ PanWindow Property)

This property sets the color of the rectangle border in the Pan Window

[Visual Basic] imagekitcontrolname.PanWindow.RectColor [ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]imagekitcontrolname.GetPanWindow().GetRectColor()
imagekitcontrolname.GetPanWindow().SetRectColor(unsigned long Val)
[VB.NET] imagekitcontrolname.PanWindow.RectColor[ = UInteger ]
[C#.NET] imagekitcontrolname.PanWindow.RectColor[ = uint ]

Property Value

The color of the rectangle border in the Pan Window

Explanation

The RectColor property sets the color of the rectangle border in the Pan Window.

Color can be set using RGB(Red, Green, Blue) or the equivalent value.

Depending on the color of the image being displayed in the pan window, the RectColor (the color of the rectangle border) may be reversed. Depending on the color of the image and the color set in the Color property the border of the rectangle may not be visible.

The RectColor property corresponds to the ImageKit6 Display Control's PanWindowRectColor property.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


RectMouseCursorFile (ImageKit Control/ PanWindow Property)

This property sets the name of the cursor file that defines the cursor used when the mouse is pressed in the rectangle in the Pan Window.

[Visual Basic] imagekitcontrolname.PanWindow.RectMouseCursorFile [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetPanWindow().GetRectMouseCursorFile()
imagekitcontrolname.GetPanWindow().SetRectMouseCursorFile(LPCTSTR Val)
[VB.NET] imagekitcontrolname.PanWindow.RectMouseCursorFile [ = String ]
[C#.NET] imagekitcontrolname.PanWindow.RectMouseCursorFile [ = string ]

Property Value

Custom cursor file name.

Explanation

The RectMouseCursorFile property sets the name of the cursor file that defines the cursor used when the mouse is pressed in the rectangle in the Pan Window..

The RectMouseCursorType property must be set to 15 (ikCursorCustom).

If an empty string is set in the RectMouseCursorType property, the mouse cursor will be a 4 directional arrow.

The mouse cursor set in the RectMouseCursorFile property is enabled when the mouse button is pressed while the cursor is inside the Pan Window.

The RectMouseCursorFile property corresponds to the Display Control's PanWindowMouseCursorTypeFile property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


RectMouseCursorType (ImageKit Control/ PanWindow Property)

This property sets the shape of the cursor that is used inside the Pan Window.

[Visual Basic] imagekitcontrolname.PanWindow.RectMouseCursorType [ = CursorTypeConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetPanWindow().GetRectMouseCursorType()
imagekitcontrolname.GetPanWindow().SetRectMouseCursorType(long Val)
[VB.NET] imagekitcontrolname.PanWindow.RectMouseCursorType [ = ImageKit10(A)Lib.CursorTypeConstants ]
[C#.NET] imagekitcontrolname.PanWindow.RectMouseCursorType [ = ImageKit10(A)Lib.CursorTypeConstants ]

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Standard arrow (Default)
1 | Standard arrow and small hourglass
2 | Crosshair
3 | Standard arrow and question mark
4 | I-beam
6 | Slashed circle
8 | Four-pointed arrow
9 | Double-pointed arrow pointing northeast and southwest
10 | Double-pointed arrow pointing north and south
11 | Double-pointed arrow pointing northwest and southeast
12 | Double-pointed arrow pointing west and east
13 | Vertical arrow
14 | Hourglass
15 | Custom

The following constants can be used: (ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2, ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8, ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11, ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom = 15)

Explanation

The RectMouseCursorType property sets the shape of the cursor that is used inside the Pan Window.

When the RectMouseCursorType property is set to 15 (ikCursorCustom), a cursor file name must be set in the RectMouseCursorFile property.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


RectReverse (ImageKit Control/ PanWindow Property)

This property sets whether the RGB values (the colors) within the selected area in the pan window are normal or reversed.

[Visual Basic] imagekitcontrolname.PanWindow.RectReverse[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPanWindow().GetRectReverse()
imagekitcontrolname.GetPanWindow().SetRectReverse(BOOL Val)
[VB.NET] imagekitcontrolname.PanWindow.RectReverse[ = Boolean ]
[C#.NET] imagekitcontrolname.PanWindow.RectReverse[ = bool ]

Property Value

Value | Explanation
True | Reverses the RGB values within the selected area in the pan window.
False | Does not reverse the RGB values within the selected area in the pan window. (Default)

Explanation

The RectReverse property sets whether the RGB values (the colors) within the selected area in the pan window are normal or reversed. The default value is False.

When the RectReverse property is True, the RGB values (the colors) inside the selected area will be reversed.

The RectReverse property corresponds to the Display Control's PanWindowRectRev property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


RefineImage (ImageKit Control/ PanWindow Property)

This property sets whether or not an image will be displayed in high quality in the Pan Window. This property has been deprecated.

[Visual Basic] imagekitcontrolname.PanWindow.RefineImage[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPanWindow().GetRefineImage()
imagekitcontrolname.GetPanWindow().SetRefineImage(BOOL Val)
[VB.NET] imagekitcontrolname.PanWindow.RefineImage[ = Boolean ]
[C#.NET] imagekitcontrolname.PanWindow.RefineImage[ = bool ]

Property Value

Value | Explanation
True | Images will be displayed in high quality (Default)
False | Images will be displayed as normal.

Explanation

The RefineImage property sets whether or not an image will be displayed in high quality in the Pan Window. The default value is True.

The RefineImage property is applied regardless of the image bitcount.

IMPORTANT: This property has been deprecated. Please do not use this property in new applications. It is being maintained to provide backward compatibility with the ImageKit7.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences between the ImageKit7 ActiveX
For ImageKit10 ActiveX programs to function like IK7 programs, set the StretchMode property to 0 (ikRefineImage).


Size (ImageKit Control/ PanWindow Property)

This property sets the size of the pan window in pixels

[Visual Basic] imagekitcontrolname.PanWindow.Size [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPanWindow().GetSize()
imagekitcontrolname.GetPanWindow().SetSize(short Val)
[VB.NET] imagekitcontrolname.PanWindow.Size [ = Short ]
[C#.NET] imagekitcontrolname.PanWindow.Size [ = short ]

Property Value

The size of the pan window in pixels.

Explanation

The Size property sets the size of the pan window in pixels.

The display of the image in the Pan Window is scaled by taking the longer of either the height or width dimension of the image and scaling that dimension to fit within the size specified in the Size property. The other dimension will then be scaled to maintain the original image height to width ratio. Therefore, if the height of the image is the longer than the width, then the value set in the Size property will apply to the height of the Pan Window. If the width of the image is the longer than the height, then the value set in the Size property will apply to the width of the Pan Window.

The Size property corresponds to the Display Control's PanWindowSize property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Top (ImageKit Control/ PanWindow Property)

This property sets the top position of the Pan Window.

[Visual Basic] imagekitcontrolname.PanWindow.Top [ = Long ]
[Visual C++] [ short = ]imagekitcontrolname.GetPanWindow().GetTop()
imagekitcontrolname.GetPanWindow().SetTop(short Val)
[VB.NET] imagekitcontrolname.PanWindow.Top [ = Integer ]
[C#.NET] imagekitcontrolname.PanWindow.Top [ = int ]

Property Value

The distance of the top left corner of the Pan Window from the top left corner of the screen (in pixels).

The Top property sets the top position of the Pan Window.

Explanation

The Top property sets where the top position of the Pan Window.

The size of the Pan Window is determined by the Size property. By using the pan window you can easily view the entire image currently displayed in the ImageKit Control.

The Top property corresponds to the Display Control's PanWindowTop property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


ImageKit PanWindow Methods

Custom Method | Explanation
Show | Displays the pan window


Show (ImageKit Control/PanWindow Method)

This method displays the pan window on the screen.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PanWindow.Show(Show As Boolean)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPanWindow().Show(BOOL Show)
[VB.NET] [ Boolean = ]imagekitcontrolname.PanWindow.Show(Show As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.PanWindow.Show(bool Show)

Parameters

Value | Explanation
Show | Displays or hides the Pan Window. When True (nonzero): the Pan Window is displayed. When False(0): the Pan Window is hidden.

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Show method displays the pan window on the screen. The location of the pan window is determined by the Left and Top properties. The size of the pan window is determined by the Size property.

When the Show parameter is True, the Left, Top, and Size properties must be set. This method is only enabled when the image is displayed in actual size.

The Pan Window will be displayed when the image's ShowInPanWindow property is set to True (For the base image, see the ShowInPanWindow property. For layer images see the Layer.ShowInPanWindow property).

The order in which images are displayed are: base image, layer images (from smallest to largest index)

Note that if the base image has not be set then the layer images are not displayed.

The Show method corresponds to the Display Control's ShowPanWindow method in earlier versions of the ImageKit.


ImageKit PrintDraw Interface

The ImageKit PrintDraw interface exposes properties and methods to draw on or print images

Property List

Custom Properties | Explanation
Alpha1 | Sets the alpha value for the TextColor1 property
Alpha2 | Sets the alpha value for the TextColor2 property
BackColor | Sets the background color for the pen, when drawing lines other than a solid line, or for the brush when using a hatch pattern
BrushColor | Sets the color for the brush
BrushStyle | Sets the pattern of the brush.
ButtonName | Sets the button name displayed in the Print dialog
Caption | sets the caption displayed in the Print dialog
CharAngle | Sets the angle of rotation for text drawn using the DrawString, DrawText or TextOut methods
CharExtra | Sets the space between characters
CharSet | Sets the character set for the fonts
Collate | Sets the checkbox [Collate] in the "Print" dialog
ColorMode | Sets whether or not a document is printed in color or in monochrome
Copies | Sets the number of copies of printer output
CustomPaperHeight | Refers to the height of the paper when the PaperSize property is set to 256.
CustomPaperWidth | Refers to the width of the paper when the PaperSize property is set to 256.
DevMode | Refers to the handle of the pointer to the specified printer's DevMode structure
DevNames | Refers to the handle of the pointer to the specified printer's DevNames structure
Direction | Sets the drawing direction of the text line
DocName | Sets the the document name displayed in the Print dialog
Duplex | Sets whether a specific printer prints on one side or both sides of the paper. (Duplex printers only)
FontBold | Sets whether or not the font is bold
FontItalic | Sets whether or not the font is italics
FontName | Sets the name of the font
FontSize | Sets the font size when drawing text
FontStrikeOut | Sets whether or not the font has a strike-through line
FontUnderline | Sets whether or not the font is underlined
FromPage | Sets the initial value of the page range displayed in the Print dialog
HCentering | Sets the horizontal position of text
Hdc | Holds the handle to the printer device context.
HotkeyPrefix | Sets how "hotkey" prefixed strings are displayed
MaxPage | Sets the maximum value for the page range
MinPage | Sets the minimum value for the page range
Message | Sets the message displayed in the Print dialog
Options | Sets the initial values for the "Print" dialog
Orientation | Sets the position of the text
PaperBin | Sets the paper bin used during printing
PaperSize | Sets the printer's paper size
PenColor | Sets the color of the pen
PenMode | Sets how the color of the pen interacts with the color on the canvas
PenStyle | Sets the pen style
PenWidth | Sets the width of the pen
PortName | Refers to the printer's port name
PrinterName | Sets the name of the printer
Printers | Refers to the list of printer names
PrintFileName | Sets the file name and path of the file where the printer settings are saved
PrintRange | Sets the type of page range used by the Print dialog
PrintToFile | Sets the checkbox [Print to File] in the "Print" dialog
RotateString | Sets whether each character in the text set in the Text property is rotated, or the whole line of text is rotated
Text | Sets the string to be drawn using the DrawString, DrawText, or the TextOut method
TextColor1 | Sets the various color information for the brush, pen, and text
TextColor2 | Sets the various color information for the brush, pen, and text
ToPage | Sets the ending value of the page range
Transparent | Sets the transparency of the text background, the hatch brush background or the background between drawn lines
VCentering | Sets the vertical position of the text
XResolution | Sets the horizontal printer resolution
YResolution | Sets the vertical printer resolution
Zoom | Sets the percentage that the printer output is scaled

Method List

Custom Method | Explanation
Arc | Draws an arc
Chord | Draws a chord
ClearProperty | Resets the PrintDraw properties
DrawFocusRect | Draws a rectangle that denotes focus
DrawString | Uses GDI+ to draw text on the designated object
DrawText | Draws text within a rectangular area
Ellipse | Draws an ellipse
EnumPaperBins | Retrieves the paper tray names and tray numbers from the printer
EnumPaperBinsVariant | Retrieves the paper tray names and tray numbers from the printer (for scripting and other languages that require variant types)
EnumPaperSizes | Retrieves the names, size numbers, and dimensions of the paper from the printer
EnumPaperSizesVariant | Retrieves the names, size numbers, and dimensions of the paper from the printer (for scripting and other languages that require variant types)
EnumPorts | Retrieves a list of ports
EnumPortsVariant | Retrieves a list of ports (for scripting and other languages that require variant types)
EnumPrinters | Retrieves a list of all installed printers
EnumPrintersVariant | Retrieves a list of all installed printers (for scripting and other languages that require variant types)
EnumResolutions | Retrieves a list of supported resolutions for the printer
EnumResolutionsVariant | Retrieves a list of supported resolutions for the printer (for scripting and other languages that require variant types)
FillRect | Draws a rectangle and fills it with the specified color
FrameRect | Draws the border of the specified rectangle
GetArrayNum | Retrieves the number of elements in the array that will be returned when a supported item is retrieved from the printer
GetDefaultPrinter | Retrieves the default printer
GetDevModeHandle | Retrieves the handle of the DEVMODE structure and the handle of the DEVNAMES structure from the specifed printer
GetDevModeInfo | Retrieves various printer information from the handle of the DEVMODE structure
GetDevNamesInfo | Retrieves various printer information from the handle of the DEVNAMES structure
GetImageFromHdc | Retrieves the image from the device context. (hDC)
GetPaperSize | Retrieves the printing range, height, and width for the designated printer
GetPaperSizeVariant | Retrieves the printing range, height, and width for the designated printer (for scripting and other languages that require variant types)
GetPixel | Retrieves the RGB values from a specified pixel
GetPixelVariant | Retrieves the RGB values from a specified pixel (for scripting and other languages that require variant types)
GetPrinterPort | Retrieves the printer port
GetTextExtent | Retrieves the height and width of the specified text
GetTextExtentVariant | Retrieves the height and width of the specified text (for scripting and other languages that require variant types)
ImageOut | Draws an image in the device context (hDC)
ImageOutToHwnd | Draws an image in the window handle (hWnd)
Line | Draws a straight line
MeasureString | Uses GDI+ to retrieve the height and width of text from text information
MeasureStringVariant | Uses GDI+ to retrieve the height and width of text from text information (for scripting and other languages that require variant types)
Paint | Paints one color with a different color
Pie | Draws a pie shape
PolyBezier | Draws a bezier curve
PolyBezierVariant | Draws a bezier curve (for scripting and other languages that require variant types)
Polygon | Draws a polygon
PolygonVariant | Draws a polygon (for scripting and other languages that require variant types)
Polyline | Draws a polyline
PolylineVariant | Draws a polyline (for scripting and other languages that require variant types)
PreviewInit | Sets the resolution for the printing preview
PrintAbortDoc | Terminates the current print job
PrintCreateDC | Creates the device context of the printer
PrintDeleteDC | Deletes the device context of the printer
PrintDialog | Displays the Print dialog and creates a device context
PrintEndDoc | Ends the print job
PrintEndPage | Ends the printing of a page
PrintStartDoc | Starts the print job
PrintStartPage | Starts the printing of a page.
Rectangle | Draws a rectangle
ReleaseDevModeHandle | Frees the handle of the DEVMODE structure and the handle the DEVNAMES structure
RoundRect | Draws a rounded rectangle
SaveDevModeHandle | Saves the handle of the DEVMODE structure and the handle of the DEVNAMES structure into the file specified by the PrintFileName property
SavePrinterInfo | Saves the settings entered in the "Print Setup" dialog
SetDefaultPrinter | Sets the default printer
SetDevModeInfo | Sets the printer information into the handle of the DEVMODE structure.
SetPixel | Sets the RGB values in the specified pixel
TextOut | Draws the text from a given starting point


ImageKit PrintDraw Properties

Custom Properties | Explanation
Alpha1 | Sets the alpha value for the TextColor1 property
Alpha2 | Sets the alpha value for the TextColor2 property
BackColor | Sets the background color for the pen, when drawing lines other than a solid line, or for the brush when using a hatch pattern
BrushColor | Sets the color for the brush
BrushStyle | Sets the pattern of the brush.
ButtonName | Sets the button name displayed in the Print dialog
Caption | sets the caption displayed in the Print dialog
CharAngle | Sets the angle of rotation for text drawn using the DrawString, DrawText or TextOut methods
CharExtra | Sets the space between characters
CharSet | Sets the character set for the fonts
Collate | Sets the checkbox [Collate] in the "Print" dialog
ColorMode | Sets whether or not a document is printed in color or in monochrome
Copies | Sets the number of copies of printer output
CustomPaperHeight | Refers to the height of the paper when the PaperSize property is set to 256.
CustomPaperWidth | Refers to the width of the paper when the PaperSize property is set to 256.
DevMode | Refers to the handle of the pointer to the specified printer's DevMode structure
DevNames | Refers to the handle of the pointer to the specified printer's DevNames structure
Direction | Sets the drawing direction of the text line
DocName | Sets the the document name displayed in the Print dialog
Duplex | Sets whether a specific printer prints on one side or both sides of the paper. (Duplex printers only)
FontBold | Sets whether or not the font is bold
FontItalic | Sets whether or not the font is italics
FontName | Sets the name of the font
FontSize | Sets the font size when drawing text
FontStrikeOut | Sets whether or not the font has a strike-through line
FontUnderline | Sets whether or not the font is underlined
FromPage | Sets the initial value of the page range displayed in the Print dialog
HCentering | Sets the horizontal position of text
Hdc | Holds the handle to the printer device context.
HotkeyPrefix | Sets how "hotkey" prefixed strings are displayed
MaxPage | Sets the maximum value for the page range
MinPage | Sets the minimum value for the page range
Message | Sets the message displayed in the Print dialog
Options | Sets the initial values for the "Print" dialog
Orientation | Sets the orientation of the paper
PaperBin | Sets the paper bin used during printing
PaperSize | Sets the printer's paper size
PenColor | Sets the color of the pen
PenMode | Sets how the color of the pen interacts with the color on the canvas
PenStyle | Sets the pen style
PenWidth | Sets the width of the pen
PortName | Refers to the printer's port name
PrinterName | Sets the name of the printer
Printers | Refers to the list of printer names
PrintFileName | Sets the file name and path of the file where the printer settings are saved
PrintRange | Sets the type of page range used by the Print dialog
PrintToFile | Sets the checkbox [Print to File] in the "Print" dialog
RotateString | Sets whether each character in the text set in the Text property is rotated, or the whole line of text is rotated
Text | Sets the string to be drawn using the DrawString, DrawText, or the TextOut method
TextColor1 | Sets the various color information for the brush, pen, and text
TextColor2 | Sets the various color information for the brush, pen, and text
ToPage | Sets the ending value of the page range
Transparent | Sets the transparency of the text background, the hatch brush background or the background between drawn lines
VCentering | Sets the vertical position of the text
XResolution | Sets the horizontal printer resolution
YResolution | Sets the vertical printer resolution
Zoom | Sets the percentage that the printer output is scaled


Alpha1 (ImageKit Control/ PrintDraw Property)

This property sets the alpha value for the TextColor1 property

[Visual Basic] imagekitcontrolname.PrintDraw.Alpha1 [ = Integer ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetAlpha1(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.Alpha1 [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.Alpha1 [ = short ]

Property Value

The alpha value for the TextColor1 property. (from 0 to 255)

Explanation

The Alpha1 property sets the alpha value for the TextColor1 property.

When this property value is 255, there is no transparency. This property is used with the DrawString method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Alpha2 (ImageKit Control/ PrintDraw Property)

This property sets the alpha value for the TextColor2 property

[Visual Basic] imagekitcontrolname.PrintDraw.Alpha2 [ = Integer ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetAlpha2(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.Alpha2 [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.Alpha2 [ = short ]

Property Value

The alpha value for the TextColor2 property. (from 0 to 255)

Explanation

The Alpha2 property sets the alpha value for the TextColor2 property.

When this property value is 255, there is no transparency. This property is used with the DrawString method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


BackColor (ImageKit Control/ PrintDraw Property)

This property sets the background color for the pen, when drawing lines other than a solid line, or for the brush when using a hatch pattern.

[Visual Basic] imagekitcontrolname.PrintDraw.BackColor [ = OLE_COLOR ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetBackColor(unsigned long Val)
[VB.NET] imagekitcontrolname.PrintDraw.BackColor [ = UInteger ]
[C#.NET] imagekitcontrolname.PrintDraw.BackColor [ = uint ]

Property Value

The background color for the pen, when drawing lines other than a solid line, or for the brush when using a hatch pattern

Explanation

The BackColor property sets the background color for the pen, when drawing lines other than a solid line, or for the brush when using a hatch pattern.

To set this property, use the RGB(Red, Green, Blue) color or equivalent value.

If the device cannot produce the color specified, the nearest color will be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.

Differences between the ImageKit7/8

This property's type has changed.


BrushColor (ImageKit Control/ PrintDraw Property)

This property sets the color for the brush.

[Visual Basic] imagekitcontrolname.PrintDraw.BrushColor [ = OLE_COLOR ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetBrushColor(unsigned long Val)
[VB.NET] imagekitcontrolname.PrintDraw.BrushColor [ = UInteger ]
[C#.NET] imagekitcontrolname.PrintDraw.BrushColor [ = uint ]

Property Value

The BrushColor sets the color of the brush.

Explanation

The BrushColor property sets the color for the brush.

To set this property, use the RGB(Red, Green, Blue) color or equivalent value.

If the device cannot produce the color specified, the nearest color will be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.

Differences between the ImageKit7/8

This property's type has changed.


BrushStyle (ImageKit Control/ PrintDraw Property)

This property sets the pattern of the brush.

[Visual Basic] imagekitcontrolname.PrintDraw.BrushStyle [ = BrushStyleConstants ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetBrushStyle(long Val)
[VB.NET] imagekitcontrolname.PrintDraw.BrushStyle [ = ImageKit10(A)Lib.BrushStyleConstants ]
[C#.NET] imagekitcontrolname.PrintDraw.BrushStyle [ = ImageKit10(A)Lib.BrushStyleConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | The brush does not paint. (BS_NULL)
1 | The brush paints solid colors. (BS_SOLID)
2 | The brush paints a pattern of diagonal lines from the top right to the bottom left. (BS_HATCHED,HS_BDIAGONAL)
3 | The brush paints a hatch pattern of vertical and horizontal lines. (BS_HATCHED,HS_CROSS)
4 | The brush paints a hatch pattern of crossing diagonal lines. (BS_HATCHED,HS_DIAGCROSS)
5 | The brush paints a pattern of diagonal lines from the top left to the bottom right. (BS_HATCHED,HS_FDIAGONAL)
6 | The brush paints a pattern of horizontal lines. (BS_HATCHED,HS_HORIZONTAL)
7 | The brush paints a pattern of vertical lines. (BS_HATCHED,HS_VERTICAL)

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI.

The following constants can also be used: (ikBrushNull = 0, ikBrushSolid = 1, ikBrushHatchBdiagonal = 2, ikBrushHatchCross = 3, ikBrushHatchDiagcross = 4, ikBrushHatchFdiagonal = 5, ikBrushHatchHorizontal = 6, ikBrushHatchVertical = 7).

Explanation

The BrushStyle property sets the pattern of the brush.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


ButtonName (ImageKit Control/ PrintDraw Property)

This property sets the button name displayed in the "Print" dialog.

[Visual Basic] imagekitcontrolname.PrintDraw.ButtonName [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetPrintDraw().GetButtonName()
imagekitcontrolname.GetPrintDraw().SetButtonName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.PrintDraw.ButtonName [ = String ]
[C#.NET] imagekitcontrolname.PrintDraw.ButtonName [ = string ]

Property Value

The ButtonName property value is the text that is displayed on the button in the "Print" dialog.

Explanation

The ButtonName property sets the button name displayed in the "Print" dialog. When the "Print" dialog is displayed, the print process can be canceled by clicking the button. If the ButtonName, Caption and Message properties are not set, then the "Print" dialog is not displayed.

The ButtonName property is enabled when the PrintStartDoc method is executed.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Caption (ImageKit Control/ PrintDraw Property)

This property sets the caption displayed in the "Print" dialog.

[Visual Basic] imagekitcontrolname.PrintDraw.Caption [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetPrintDraw().GetCaption()
imagekitcontrolname.GetPrintDraw().SetCaption(LPCTSTR Val)
[VB.NET] imagekitcontrolname.PrintDraw.Caption [ = String ]
[C#.NET] imagekitcontrolname.PrintDraw.Caption [ = string ]

Property Value

The Caption property value is the text that is displayed in the title bar of the "Print" dialog.

Explanation

The Caption property sets the caption displayed in the "Print" dialog. When the "Print" dialog is displayed, the print process can be canceled by clicking the button. If the ButtonName, Caption and Message properties are not set, then the "Print" dialog is not displayed.

The Caption property is enabled when the PrintStartDoc method is executed.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


CharAngle (ImageKit Control/ PrintDraw Property)

This property sets the angle of rotation for text drawn using the DrawString, DrawText or TextOut methods.

[Visual Basic] imagekitcontrolname.PrintDraw.CharAngle [ = Integer ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetCharAngle(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.CharAngle [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.CharAngle [ = short ]

Property Value

When using the DrawString method:

The CharAngle property rotates each character in a line of text clockwise from 0 to 360 degrees in 1 degree units.

When using the DrawText method:

The CharAngle property rotates each character in a line of text counterclockwise by 0, 90, 180, and 270 degrees.

When using the TextOut method:

If the RotateString property is True, then the CharAngle property will rotate the whole line of text counterclockwise by the angle set (in degree units
from 0 to 360 degrees).

If the RotateString property is False then the CharAngle property rotates each character in a line of text counterclockwise by 0, 90, 180, and 270 degrees.

Explanation

The CharAngle property sets the angle of rotation for text drawn using the DrawString, DrawText or TextOut methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


CharExtra (ImageKit Control/ PrintDraw Property)

This property sets the space between characters.

[Visual Basic] imagekitcontrolname.PrintDraw.CharExtra [ = Long ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetCharExtra(long Val)
[VB.NET] imagekitcontrolname.PrintDraw.CharExtra [ = Integer ]
[C#.NET] imagekitcontrolname.PrintDraw.CharExtra [ = int ]

Property Value

The space between characters. (For default spacing set this property to 0)

Explanation

The CharExtra property sets the space between characters.

This property is enabled when the DrawText, GetTextExtent, or TextOut methods are executed. If the text is drawn on the screen or the image data, set the value in pixel units. If the text is drawn on the printer, then set the values in 0.1mm units.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


CharSet (ImageKit Control/ PrintDraw Property)

This property sets the character set for the fonts.

[Visual Basic] imagekitcontrolname.PrintDraw.CharSet [ = Integer ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetCharSet(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.CharSet [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.CharSet [ = short ]

Property Value

The CharSet property values range from -1 to 255.

Values other than -1 correspond to the same character set values used by Windows.

Value | Explanation
-1 | -1: ANSI or JIS character sets [This value is for backwards compatibility with the ImageKit5]
0 | ANSI character set (ANSI_CHARSET)
1 | Character set is selected using the FontName and FontSize (DEFAULT_CHARSET)
2 | Symbol character set (SYMBOL_CHARSET)
128 | Japanese shift JIS character set (SHIFTJIS_CHARSET)
255 | Operating system character set (OEM_CHARSET)

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI.

Explanation

The CharSet property sets the character set for the fonts. This property is enabled when the DrawText, GetTextExtent, or TextOut method is executed.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Collate (ImageKit Control/ PrintDraw Property)

This property sets the checkbox [Collate] in the "Print" dialog.

[Visual Basic] imagekitcontrolname.PrintDraw.Collate [ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetCollate()
imagekitcontrolname.GetPrintDraw().SetCollate(BOOL Val)
[VB.NET] imagekitcontrolname.PrintDraw.Collate[ = Boolean ]
[C#.NET] imagekitcontrolname.PrintDraw.Collate[ = bool ]

Property Value

The Collate property value sets the [Collate] checkbox in the "Print" dialog

Value | Explanation
True | Checks the checkbox
False | Does not check the checkbox

Explanation

The Collate property sets the checkbox [Collate] in the "Print" dialog. When this checkbox is checked, documents are printed in proper binding order. The Collate property can be used with the GetDevModeInfo method and the SetDevModeInfo method.

This property is used with the PrintDialog method. The PrintDialog method is used to display the "Print" dialog. If the Collate and PrintToFile properties are set prior to executing the PrintDialog method, the "Print" dialog will be initialized with those values (i.e. those checkboxes will be checked). Likewise, the Collate and the PrintToFile property values can be retrieved after the PrintDialog method has been executed.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


ColorMode (ImageKit Control/ PrintDraw Property)

When using a color printer, this property sets whether or not a document is printed in color or in monochrome.

[Visual Basic] imagekitcontrolname.PrintDraw.ColorMode [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetColorMode()
imagekitcontrolname.GetPrintDraw().SetColorMode(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.ColorMode [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.ColorMode [ = short ]

Property Value

Value | Explanation
1 | Monochrome (DMCOLOR_MONOCHROME)
2 | Color (DMCOLOR_COLOR)

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI.

Explanation

When using a color printer, the ColorMode property sets whether or not a document is printed in color or in monochrome. To retrieve the ColorMode property value, first execute the GetDevModeInfo method, after which the value can be retrieved from the ColorMode property. To set the value of the ColorMode property, execute the SetDevModeInfo method.

Note: The ColorMode setting is dependent upon the printer driver. Because of this it is possible that the setting has no affect or an affect different than expected. For details about the color mode property of your printer, please refer to the printer manufacturer's manual.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Copies (ImageKit Control/ PrintDraw Property)

This property sets the number of copies of printer output.

[Visual Basic] imagekitcontrolname.PrintDraw.Copies [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetCopies()
imagekitcontrolname.GetPrintDraw().SetCopies(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.Copies [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.Copies [ = short ]

Property Value

The number of copies (1 or more)

Explanation

The Copies property sets the number of copies of printer output. It is used with the PrintDialog method. The PrintDialog method is used to display the "Print" dialog. If the Copies property is set prior to executing the PrintDialog method, the "Print" dialog will be initialized with that value. (i.e. the number of copies will be set in the "Print" dialog). Likewise, the Copies property value can be retrieved after the PrintDialog method has been executed.

The Copies property can also be used with the GetDevModeInfo method and the SetDevModeInfo method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


CustomPaperHeight (ImageKit Control/ PrintDraw Property)

This property refers to the height of the paper when the PaperSize property is set to 256.

[Visual Basic] imagekitcontrolname.PrintDraw.CustomPaperHeight [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetCustomPaperHeight()
imagekitcontrolname.GetPrintDraw().SetCustomPaperHeight(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.CustomPaperHeight [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.CustomPaperHeight [ = short ]

Property Value

The CustomPaperHeight is the height of the paper in 0.1mm units

Explanation

The CustomPaperHeight property refers to the height of the paper when the PaperSize property is set to 256. It is disabled for any other values for the PaperSize property. By executing the GetDevModeHandle method or the GetDevModeInfo method, this property value is set (after which the property value can be retrieved). The SetDevModeInfo method uses this value.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


CustomPaperWidth (ImageKit Control/ PrintDraw Property)

This property refers to the width of the paper when the PaperSize property is set to 256.

[Visual Basic] imagekitcontrolname.PrintDraw.CustomPaperWidth [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetCustomPaperWidth()
imagekitcontrolname.GetPrintDraw().SetCustomPaperWidth(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.CustomPaperWidth [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.CustomPaperWidth [ = short ]

Property Value

The CustomPaperWidth is the width of the paper in 0.1mm units

Explanation

The CustomPaperWidth property refers to the width of the paper when the PaperSize property is set to 256. It is disabled for any other values for the PaperSize property. By executing the GetDevModeHandle method or the GetDevModeInfo method, this property value is set (after which the property value can be retrieved). The SetDevModeInfo method uses this value.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


DevMode (ImageKit Control/ PrintDraw Property)

This property refers to the handle to the specified printer's DEVMODE structure.

[Visual Basic] imagekitcontrolname.PrintDraw.DevMode [ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]imagekitcontrolname.GetPrintDraw().GetDevMode()
imagekitcontrolname.GetPrintDraw().SetDevMode(LONG_PTR Val)
[VB.NET] imagekitcontrolname.PrintDraw.DevMode [ = Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.PrintDraw.DevMode [ = int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Property Value

The handle to the specified printer's DevMode structure

Explanation

The DevMode refers to the handle to the specified printer's DEVMODE structure. (The DEVMODE structure stores information about various settings and properties of a device, such as a printer.) It is through the DevMode property that other print control properties such as Collate, ColorMode, Copies, CustomPaperHeight, CustomPaperWidth, Duplex, Orientation, PaperBin, PaperSize, XResolution, YResolution, Zoom are retrieved and set.

Executing the GetDevModeHandle method or the PrintDialog method will retrieve the handle for the specified printer's DEVMODE structure.

The memory block referred to by the DevMode property (the memory block that stores the information about various printer settings and properties) can be freed by executing the ReleaseDevModeHandle method (The DevMode property value will become 0 or NULL).

For more information about the DEVMODE structure, please refer to WindowsAPI or related manuals.

Setting this value

This value can be set.

Retrieving this value

This value can be retrieved at runtime.

Differences between ImageKit7/8

This property's type has changed.

Differences between ImageKit7/8/9

This property value can be set.


DevNames (ImageKit Control/ PrintDraw Property)

This property refers to the handle to the specified printer's DEVNAMES structure.

[Visual Basic] imagekitcontrolname.PrintDraw.DevNames [ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]imagekitcontrolname.GetPrintDraw().GetDevNames()
imagekitcontrolname.GetPrintDraw().SetDevNames(LONG_PTR Val)
[VB.NET] imagekitcontrolname.PrintDraw.DevNames [ = Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.PrintDraw.DevNames [ = int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Property Value

The handle to the specified printer's DEVNAMES structure

Explanation

The DevNames property refers to the handle to the specified printer's DEVNAMES structure. By executing the GetDevModeHandle method or the PrintDialog method, you can get the handle of the DEVNAMES structure in addition to the handle of the DEVMODE structure. The memory occupied by the DevNames property is released when the ReleaseDevModeHandle method is executed (this property value becomes 0 or NULL). If the DevNames property is valid, you can get the printer name and port name by executing the GetDevNamesInfo method.

For more information on the DEVNAMES structure, refer to Windows API related books.

Setting this value

This value can be set.

Retrieving this value

This value can be retrieved at runtime.


Direction (ImageKit Control/ PrintDraw Property)

This property sets the drawing direction of the text line.

[Visual Basic] imagekitcontrolname.PrintDraw.Direction [ = Integer ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetDirection(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.Direction [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.Direction [ = short ]

Property Value

Value | Explanation
0 | From left to right (writing horizontally)
1 | From right to left (writing horizontally)
2 | From top to bottom (writing vertically)
3 | From bottom to top (writing vertically)

Explanation

The Direction property sets the drawing direction of the text line. When the RotateString property is False, this property is enabled for the DrawText and TextOut methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


DocName (ImageKit Control/ PrintDraw Property)

This property sets the the document name displayed in the "Print" dialog

[Visual Basic] imagekitcontrolname.PrintDraw.DocName [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetPrintDraw().GetDocName()
imagekitcontrolname.GetPrintDraw().SetDocName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.PrintDraw.DocName [ = String ]
[C#.NET] imagekitcontrolname.PrintDraw.DocName [ = string ]

Property Value

The DocName property value is the name of the document being printed.

Explanation

The DocName property sets the document name displayed in the "Print" dialog. When the "Print" dialog is displayed, the print process can be canceled by clicking the button. The DocName property is enabled when the PrintStartDoc method is executed.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Duplex (ImageKit Control/ PrintDraw Property)

This property sets whether a specific printer prints on one side or both sides of the paper. (Duplex printers only)

[Visual Basic] imagekitcontrolname.PrintDraw.Duplex [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetDuplex()
imagekitcontrolname.GetPrintDraw().SetDuplex(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.Duplex [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.Duplex [ = short ]

Property Value

Value | Explanation
1 | Single sided (DMDUP_SIMPLEX)
2 | Double sided - Vertical (DMDUP_VERTICAL) [Also known as portrait]
3 | Double sided - Horizontal (DMDUP_HORIZONTAL) [Also known as landscape]

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI

Explanation

The Duplex property sets whether a specific printer prints on one side or both sides of the paper (Duplex printers only).

To retrieve the Duplex property value, first execute the GetDevModeHandle or GetDevModeInfo method, after which the value can be retrieved from the Duplex property. To set the value of the Duplex property, execute the SetDevModeInfo method.

Note: The Duplex setting is dependent upon the printer driver. Because of this it is possible that the setting has no affect or an affect different than expected. For details about the duplex property of your printer, please refer to the printer manufacturer's manual.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


FontBold (ImageKit Control/ PrintDraw Property)

This property sets whether or not the font is bold.

[Visual Basic] imagekitcontrolname.PrintDraw.FontBold [ = Boolean ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetFontBold(BOOL Val)
[VB.NET] imagekitcontrolname.PrintDraw.FontBold [ = Boolean ]
[C#.NET] imagekitcontrolname.PrintDraw.FontBold [ = bool ]

Property Value

The FontBold property sets whether or not the font is bold

Value | Explanation
True | the setting is enabled
False | the setting is disabled

Explanation

The FontBold property sets whether or not the font is bold. This property value is enabled when the DrawString, DrawText, GetTextExtent, MeasureString, or TextOut methods are executed.

Note: Depending on the values of the CharAngle and Direction properties, the FontStrikeOut, FontUnderline properties may be disabled.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


FontItalic (ImageKit Control/ PrintDraw Property)

This property sets whether or not the font is italics.

[Visual Basic] imagekitcontrolname.PrintDraw.FontItalic [ = Boolean ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetFontItalic(BOOL Val)
[VB.NET] imagekitcontrolname.PrintDraw.FontItalic [ = Boolean ]
[C#.NET] imagekitcontrolname.PrintDraw.FontItalic [ = bool ]

Property Value

The FontItalic property sets whether or not the font is italics

Value | Explanation
True | the setting is enabled
False | the setting is disabled

Explanation

The FontItalic property sets whether or not the font is Italics. This property value is enabled when the DrawString, DrawText, GetTextExtent, MeasureString, or TextOut methods are executed.

Note: Depending on the values of the CharAngle and Direction properties, the FontStrikeOut, FontUnderline properties may be disabled.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


FontName (ImageKit Control/ PrintDraw Property)

This property sets the name of the font (up to 31 bytes).

[Visual Basic] imagekitcontrolname.PrintDraw.FontName [ = String ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetFontName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.PrintDraw.FontName [ = String ]
[C#.NET] imagekitcontrolname.PrintDraw.FontName [ = string ]

Property Value

The FontName property sets the name of the font (up to 31 bytes in the Ansi version and up to 31 characters in the Unicode version)

Explanation

The FontName property sets the name of the font (up to 31 bytes in the Ansi version and up to 31 characters in the Unicode version). This property is enabled when the DrawString, DrawText, GetTextExtent, MeasureString, or TextOut method is executed.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


FontSize (ImageKit Control/ PrintDraw Property)

This property sets the font size when drawing text

[Visual Basic] imagekitcontrolname.PrintDraw.FontSize [ = Integer ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetFontSize(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.FontSize [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.FontSize [ = short ]

Property Value

Font size (in points)

Explanation

The FontSize property sets the font size when drawing text. This property is enabled when the DrawString, DrawText, GetTextExtent, MeasureString, or TextOut method is executed.

Note: Since the DrawText method scales text to fit within a specified area, there are cases where the specified font size can not be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


FontStrikeOut (ImageKit Control/ PrintDraw Property)

This property sets whether or not the font has a strike-through line.

[Visual Basic] imagekitcontrolname.PrintDraw.FontStrikeOut [ = Boolean ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetFontStrikeOut(BOOL Val)
[VB.NET] imagekitcontrolname.PrintDraw.FontStrikeOut [ = Boolean ]
[C#.NET] imagekitcontrolname.PrintDraw.FontStrikeOut [ = bool ]

Property Value

The FontStrikeOut property sets whether or not the font has a strike-through line

Value | Explanation
True | the setting is enabled
False | the setting is disabled

Explanation

The FontStrikeOut property sets whether or not the font has a strike-through line . This property value is enabled when the DrawString, DrawText, GetTextExtent, MeasureString, or TextOut methods are executed.

Note: Depending on the values of the CharAngle and Direction properties, the FontStrikeOut, FontUnderline properties may be disabled.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


FontUnderline (ImageKit Control/ PrintDraw Property)

This property sets whether or not the font is underlined.

[Visual Basic] imagekitcontrolname.PrintDraw.FontUnderline [ = Boolean ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetFontUnderline(BOOL Val)
[VB.NET] imagekitcontrolname.PrintDraw.FontUnderline [ = Boolean ]
[C#.NET] imagekitcontrolname.PrintDraw.FontUnderline [ = bool ]

Property Value

The FontItalic property sets whether or not the font is underlined

Value | Explanation
True | the setting is enabled
False | the setting is disabled

Explanation

The FontUnderline property sets whether or not the font is underlined. This property value is enabled when the DrawString, DrawText, GetTextExtent, MeasureString, or TextOut methods are executed.

Note: Depending on the values of the CharAngle and Direction properties, the FontStrikeOut, FontUnderline properties may be disabled.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


FromPage (ImageKit Control/ PrintDraw Property)

This property sets the initial value of the page range displayed in the Print dialog.

[Visual Basic] imagekitcontrolname.PrintDraw.FromPage [ = Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetPrintDraw().GetFromPage()
imagekitcontrolname.GetPrintDraw().SetFromPage(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.FromPage[ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.FromPage[ = short ]

Property Value

The initial value of the page range displayed in the Print dialog.

Explanation

The FromPage property sets the initial value of the page range displayed in the Print dialog.. This property is used with the PrintDialog method. The PrintDialog method is used to display the "Print" dialog. If this property is set prior to executing the PrintDialog method, the "Print" dialog will be initialized with this value. Likewise, this property value can be retrieved after the PrintDialog method has been executed.

If the Options property is set to 0x8 (&H8) then the page settings cannot be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


HCentering (ImageKit Control/ PrintDraw Property)

This property sets the horizontal position of the text.

[Visual Basic] imagekitcontrolname.PrintDraw.HCentering [ = Integer ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetHCentering(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.HCentering [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.HCentering [ = short ]

Property Value

The HCentering property value sets the horizontal position of the text.

Value | Explanation
0 | Left
1 | Center
2 | Right

Explanation

The HCentering property sets the position of the text. This property is enabled when the DrawString, DrawText, or MeasureString method is executed.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Hdc (ImageKit Control/ PrintDraw Property)

This property holds the handle to the printer device context.

[Visual Basic] imagekitcontrolname.PrintDraw.Hdc [ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]imagekitcontrolname.GetPrintDraw().GetHdc()
[VB.NET] imagekitcontrolname.PrintDraw.Hdc [ = Integer(x86) or Long(x64) ]
[C#.NET] imagekitcontrolname.PrintDraw.Hdc [ = int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Reference

The printer device context

Explanation

The Hdc property holds the handle to the printer device context.

A device context is a link between a Windows-based application, a device driver, and an output device such as a display or printer. The printer device context can be retrieved by successfully executing the PrintCreateDC or PrintDialog methods. The retrieved printer device context can be freed by executing the PrintDeleteDC method (The Hdc property value will be 0 or NULL).

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.

Differences between the ImageKit7/8

This property's type has changed.


HotkeyPrefix (ImageKit Control/ PrintDraw Property)

This property sets how "hotkey" prefixed strings are displayed.

[Visual Basic] imagekitcontrolname.PrintDraw.HotkeyPrefix [ = Integer ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetHotkeyPrefix(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.HotkeyPrefix [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.HotkeyPrefix [ = short ]

Property Value

Value | Explanation
0 | The hotkey prefix is displayed as a normal string (i.e. "&File")
1 | The hotkey prefix is displayed as a hotkey (i.e. "File")
2 | The hotkey prefix is not displayed. This is only enabled for the DrawString method. (i.e. "File")

Explanation

The HotkeyPrefix property sets how "hotkey" prefixed strings are displayed. This property is enabled when the DrawString or DrawText method is executed.

For Example:

HotkeyPrefix = 0: The hotkey "&A" is displayed as "&A"

HotkeyPrefix = 1: The hotkey "&A" is displayed as "A"

HotkeyPrefix = 2: The hotkey "&A" is displayed as "A"

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


MaxPage (ImageKit Control/ PrintDraw Property)

This property sets the maximum value for the page range.

[Visual Basic] imagekitcontrolname.PrintDraw.MaxPage [ = Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetPrintDraw().GetMaxPage()
imagekitcontrolname.GetPrintDraw().SetMaxPage(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.MaxPage[ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.MaxPage[ = short ]

Property Value

The MaxPage property value sets the maximum value for the page range.

Explanation

The MaxPage property sets the maximum value for the page range. This property is used with the PrintDialog method. The PrintDialog method is used to display the "Print" dialog. If this property is set prior to executing the PrintDialog method, the "Print" dialog will be initialized with this value. Likewise, this property value can be retrieved after the PrintDialog method has been executed.

If the Options property is set to 0x8 (&H8) then the page settings cannot be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Message (ImageKit Control/ PrintDraw Property)

This property sets the message displayed in the "Print" dialog.

[Visual Basic] imagekitcontrolname.PrintDraw.Message [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetPrintDraw().GetMessage()
imagekitcontrolname.GetPrintDraw().SetMessage(LPCTSTR Val)
[VB.NET] imagekitcontrolname.PrintDraw.Message [ = String ]
[C#.NET] imagekitcontrolname.PrintDraw.Message [ = string ]

Property Value

The Message property value is the text that is displayed in the center of the "Print" dialog.

Explanation

The Message property sets the message displayed in the "Print" dialog. When the "Print" dialog is displayed, the print process can be canceled by clicking the button. If the ButtonName, Caption and Message properties are not set, then the "Print" dialog is not displayed.

The Message property is enabled when the PrintStartDoc method is executed.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


MinPage (ImageKit Control/ PrintDraw Property)

This property sets the minimum value for the page range.

[Visual Basic] imagekitcontrolname.PrintDraw.MinPage [ = Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetPrintDraw().GetMinPage()
imagekitcontrolname.GetPrintDraw().SetMinPage(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.MinPage[ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.MinPage[ = short ]

Property Value

The MinPage property value sets the minimum value for the page range.

Explanation

The MinPage property sets the minimum value for the page range. This property is used with the PrintDialog method. The PrintDialog method is used to display the "Print" dialog. If this property is set prior to executing the PrintDialog method, the "Print" dialog will be initialized with this value. Likewise, this property value can be retrieved after the PrintDialog method has been executed.

If the Options property is set to 0x8 (&H8) then the page settings cannot be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Options (ImageKit Control/ PrintDraw Property)

This property sets the initial values for the "Print" dialog.

[Visual Basic] imagekitcontrolname.PrintDraw.Options [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetPrintDraw().GetOptions() imagekitcontrolname.GetPrintDraw().SetOptions(long Val)
[VB.NET] imagekitcontrolname.PrintDraw.Options [ = Integer ]
[C#.NET] imagekitcontrolname.PrintDraw.Options [ = int ]

Property Value

Value | Explanation
0x4 | Disables the [Selection] radio button (PD_NOSELECTION)
0x8 | Disables the [Page Range] radio buttons (PD_NOPAGENUMS)
0x80 | Does not display a warning when there is no default printer (PD_NOWARNING)
0x800 | Displays the Help button (PD_SHOWHELP)
0x80000 | Disables the [Print to File] checkbox (PD_DISABLEPRINTTOFILE)
0x100000 | Does not display the [Print to File] checkbox (PD_HIDEPRINTTOFILE)

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI.

Explanation

The Options property sets the initial values for the "Print" dialog.

This property is used with the PrintDialog method. The values of the Options property in Visual Basic and .NET should start with &H instead of 0x. When setting multiple values in this property, please separate them with |, or, Or.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Orientation (ImageKit Control/ PrintDraw Property)

This property sets the orientation of the paper.

[Visual Basic] imagekitcontrolname.PrintDraw.Orientation[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetOrientation() imagekitcontrolname.GetPrintDraw().SetOrientation(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.Orientation[ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.Orientation[ = short ]

Property Value

Value | Explanation
1 | Vertical or Protrait (DMORIENT_PORTRAIT)
2 | Horizontal or Landscape (DMORIENT_LANDSCAPE)

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI

Explanation

The Orientation property sets the orientation of the paper. To retrieve the Orientation property value, first execute the GetDevModeHandle or GetDevModeInfo method, after which the value can be retrieved from the Orientation property. To set the value of the Orientation property, execute the SetDevModeInfo method.

Note: The Orientation setting is dependent upon the printer driver. Because of this, it is possible that the setting has no affect or an affect different than expected. For details about printing orientation, please refer to the printer manufacturer's manual.

Setting this value

This value can be set at runtime.

Retrieving this value

This value canbe retrieved at runtime.


PaperBin (ImageKit Control/ PrintDraw Property)

This property sets the paper bin used during printing.

[Visual Basic] imagekitcontrolname.PrintDraw.PaperBin [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetPaperBin() imagekitcontrolname.GetPrintDraw().SetPaperBin(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.PaperBin [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.PaperBin [ = short ]

Property Value

Value | Explanation
1 | Use paper from the upper bin (DMBIN_UPPER)
2 | Use paper from the lower bin (DMBIN_LOWER)
3 | Use paper from the middle bin (DMBIN_MIDDLE)
4 | Wait for manual feed (DMBIN_MANUAL)
5 | Use envelopes from envelope feeder(DMBIN_ENVELOPE)
6 | Use envelopes from envelope feeder but wait for manual feed (DMBIN_ENVMANUAL)
7 | Use paper from the current bin (DMBIN_AUTO)
8 | Use paper fed from the tractor feeder (DMBIN_TRACTOR)
9 | Use paper from the small paper bin (DMBIN_SMALLFMT)
10 | Use paper from the large paper bin (DMBIN_LARGEFMT)
11 | Use paper from the large capacity feeder (DMBIN_LARGECAPACITY)
14 | Use paper from the attached cassette cartridge (DMBIN_CASSETTE)

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI

Explanation

The PaperBin property sets the paper bin used during printing. To retrieve the PaperBin property value, first execute the GetDevModeHandle or GetDevModeInfo method, after which the value can be retrieved from the PaperBin property. To set the value of the PaperBin property, execute the SetDevModeInfo method.

Note: The PaperBin setting is dependent upon the printer driver. Because of this, it is possible that the setting has no affect or an affect different than expected. For details about printing orientation, please refer to the printer manufacturer's manual.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


PaperSize (ImageKit Control/ PrintDraw Property)

ImageKit10 ActiveX

PaperBin (ImageKit Control/ PrintDraw Property)

This property sets the printer's paper size.

[Visual Basic] imagekitcontrolname.PrintDraw.PaperSize [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetPaperSize() imagekitcontrolname.GetPrintDraw().SetPaperSize(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.PaperSize [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.PaperSize [ = short ]

Property Value

Value | Explanation
1 | Letter, 8.5 x 11 in (DMPAPER_LETTER)
2 | Letter Small, 8.5 x 11 in (DMPAPER_LETTERSMALL)
3 | Tabloid, 11 x 17 in (DMPAPER_TABLOID)
4 | Ledger, 17 x 11 in (DMPAPER_LEDGER)
5 | Legal, 8.5 x 14 in (DMPAPER_LEGAL)
6 | Statement, 5.5 x 8.5 in (DMPAPER_STATEMENT)
7 | Executive, 7.25 x 10.5 in (DMPAPER_EXECUTIVE)
8 | A3, 297 x 420 mm (DMPAPER_A3)
9 | A4, 210 x 297 mm (DMPAPER_A4)
10 | A4 Small, 210 x 297 mm (DMPAPER_A4SMALL)
11 | A5, 148 x 210 mm (DMPAPER_A5)
12 | B4, 250 x 354 mm (DMPAPER_B4)
13 | B5, 182 x 257 mm (DMPAPER_B5)
256 | Custom defined (DMPAPER_USER)

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI

Explanation

The PaperSize property sets the printer's paper size. To retrieve the PaperSize property value, first execute the GetDevModeHandle or GetDevModeInfo method, after which the value can be retrieved from the PaperSize property. To set the value of the PaperSize property, execute the SetDevModeInfo method. Although the ImageKit10 has only 14 property values listed, it is possible to set values higher than that. For details, please refer to WindowsAPI.

Note: The PaperSize setting is dependent upon the printer driver. Because of this, it is possible that the setting has no affect or an affect different than expected. For details about printing orientation, please refer to the printer manufacturer's manual.

Setting this value

This value can be set at runtime.

Retrieving this value

This value canbe retrieved at runtime.


PenColor (ImageKit Control/ PrintDraw Property)

This property sets the color of the pen.

[Visual Basic] imagekitcontrolname.PrintDraw.PenColor [ = OLE_COLOR ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetPenColor(unsigned long Val)
[VB.NET] imagekitcontrolname.PrintDraw.PenColor [ = UInteger ]
[C#.NET] imagekitcontrolname.PrintDraw.PenColor [ = uint ]

Property Value

The color of the pen.

Explanation

The PenColor property sets the color of the pen. To set this property use the RGB(Red, Green, Blue) or equivalent value.

If the device cannot produce the color specified, the nearest color will be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.

Differences between the ImageKit7/8

This property's type has changed.


PenMode (ImageKit Control/ PrintDraw Property)

This property sets how the color of the pen interacts with the color on the canvas.

[Visual Basic] imagekitcontrolname.PrintDraw.PenMode [ = PenModeConstants ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetPenMode(long Val)
[VB.NET] imagekitcontrolname.PrintDraw.PenMode [ = ImageKit10(A)Lib.PenModeConstants ]
[C#.NET] imagekitcontrolname.PrintDraw.PenMode [ = ImageKit10(A)Lib.PenModeConstants ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Property Value

Value | Explanation
1 | Black (R2_BLACK)
2 | The inverse of the combination of the pen color and the display color (R2_NOTMERGEPEN)
3 | The combination of colors common to both canvas color and the inverse of the pen color. (R2_MASKNOTPEN)
4 | The inverse of the color of the pen.(R2_NOTCOPYPEN)
5 | The combination of colors common to both pen color and the inverse of the canvas color. (R2_MASKPENNOT)
6 | The inverse of the color of the canvas. (R2_NOT)
7 | The combination of colors in either pen or canvas, but not both. (R2_XORPEN)
8 | The inverse of the combination of colors common to both pen and canvas. (R2_NOTMASKPEN)
9 | The combination of colors common to both pen and canvas. (R2_MASKPEN)
10 | The inverse of the combination of colors in either pen or canvas but not both. (R2_NOTXORPEN)
11 | No change. (R2_NOP)
12 | The combination of canvas color and the inverse of the pen color. (R2_MERGENOTPEN)
13 | The pen color specified in the PenColor property. (R2_COPYPEN) Default value.
14 | The combination of pen color and the inverse of the canvas color. (R2_MERGEPENNOT)
15 | The combination of pen color and canvas color. (R2_MERGEPEN)
16 | White (R2_WHITE)

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI

The following constants can be used:
                    (ikPenModeBlack = 1, ikPenModeNotMergePen = 2, ikPenModeMaskNotPen = 3,
                    ikPenModeNotCopyPen = 4, ikPenModeMaskPenNot = 5, ikPenModeNot = 6,
                    ikPenModeXorPen = 7, ikPenModeNotMaskPen = 8, ikPenModeMaskPen = 9,
                    ikPenModeNotXorPen = 10, ikPenModeNop = 11, ikPenModeMergeNotPen = 12,
                    ikPenModeCopyPen = 13, ikPenModeMergePenNot = 14, ikPenModeMergePen = 15,
                    ikPenModeWhite = 16)

Explanation

The PenMode property sets how the color of the pen interacts with the color on the canvas.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


PenStyle (ImageKit Control/ PrintDraw Property)

This property sets the pen style.

[Visual Basic] imagekitcontrolname.PrintDraw.PenStyle[ = PenModeConstants ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetPenStyle(long Val)
[VB.NET] imagekitcontrolname.PrintDraw.PenStyle[ = ImageKit10(A)Lib.PenModeConstants ]
[C#.NET] imagekitcontrolname.PrintDraw.PenStyle[ = ImageKit10(A)Lib.PenModeConstants ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Property Value

Value | Explanation
0 | Pen doesn't draw a line. (PS_NULL)
1 | Pen is solid. (PS_SOLID)
2 | Pen is dashed. (PS_DASH)
3 | Pen is dotted. (PS_DOT)
4 | Pen has alternating dashes and dots. (PS_DASHDOT)
5 | Pen has alternating dashes and double dots. (PS_DASHDOTDOT)
6 | Pen is solid.* (PS_INSIDEFRAME)

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI

The following constants can be used: (ikPenNull = 0, ikPenSolid = 1, ikPenDash = 2, ikPenDot = 3, ikPenDashDot = 4, ikPenDashDotDot = 5, ikPenInsideFrame = 6).

Explanation

The PenStyle property sets the pen style. When drawing figures with methods other than the Line and Rectangle methods, if the PenStyle property is set from 2 to 5 then the PenWidth property is automatically set to 1.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


PenWidth (ImageKit Control/ PrintDraw Property)

This property sets the width of the pen.

[Visual Basic] imagekitcontrolname.PrintDraw.PenWidth [ = Long ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetPenWidth(long Val)
[VB.NET] imagekitcontrolname.PrintDraw.PenWidth [ = Integer ]
[C#.NET] imagekitcontrolname.PrintDraw.PenWidth [ = int ]

Property Value

The pen width. (pixel or 0.1mm units)

Explanation

The PenWidth property sets the width of the pen.

When drawing to the screen and the memory handle, the units are in pixels. When drawing to the printer, the units are 0.1mm.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


PortName (ImageKit Control/ PrintDraw Property)

This property refers to the printer's port name.

[Visual Basic] imagekitcontrolname.PrintDraw.PortName [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetPrintDraw().GetPortName()
[VB.NET] imagekitcontrolname.PrintDraw.PortName [ = String ]
[C#.NET] imagekitcontrolname.PrintDraw.PortName [ = string ]

Reference

The name of the port

Explanation

The PortName property refers to the printer's port name. The port name is retrieved by executing the GetDevModeHandle, GetDevNamesInfo, or GetPrinterPort methods.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.

Differences between ImageKit7/8/9

Executing the GetDevModeHandle or GetDevNamesInfo methods will retrieve the port name.


PrinterName (ImageKit Control/ PrintDraw Property)

This property sets and retrieves the name of the printer.

[Visual Basic] imagekitcontrolname.PrintDraw.PrinterName[ = String ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetPrinterName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.PrintDraw.PrinterName[ = String ]
[C#.NET] imagekitcontrolname.PrintDraw.PrinterName[ = string ]

Property Value

The name of the printer

Explanation

The PrinterName property sets and retrieves the name of the printer. It is used with the GetDevModeHandle or PrintCreateDC methods. Please set a name that has been retrieved by the EnumPrinters or EnumPrintersVariant methods. Also, if the GetDevModeHandle and GetDevNamesInfo methods have successfully executed, then printer name is updated.

Example: ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

Differences between ImageKit7/8/9

Executing the GetDevModeHandle or GetDevNamesInfo methods will update the printer name.


Printers (ImageKit Control/ PrintDraw Property)

This property refers to the list of printer names retrieved by the EnumPrinters or EnumPrintersVariantmethods.

[Visual Basic] imagekitcontrolname.PrintDraw.Printers [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetPrintDraw().GetPrinters()
[VB.NET] imagekitcontrolname.PrintDraw.Printers [ = String ]
[C#.NET] imagekitcontrolname.PrintDraw.Printers [ = string ]

Reference

A list of printer names

Explanation

The Printers property refers to the list of printer names retrieved by the EnumPrinters or EnumPrintersVariant methods. If the EnumPrinters or EnumPrintersVariant method is successful, the list of printer names can be obtained from the Printers property. The list will be a string in the following format: "XXX,XXX,... ... .., " The end of this string will be a comma (",").

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


PrintFileName (ImageKit Control/ PrintDraw Property)

This property sets the file name and path of the file where the printer settings are saved. These printer settings are used by the ImageKit.

[Visual Basic] imagekitcontrolname.PrintDraw.PrintFileName[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetPrintDraw().GetPrintFileName()
imagekitcontrolname.GetPrintDraw().SetPrintFileName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.PrintDraw.PrintFileName[ = String ]
[C#.NET] imagekitcontrolname.PrintDraw.PrintFileName[ = string ]

Property Value

The file name (full path)

Explanation

The PrintFileName property sets the file name and path of the file used by the SaveDevModeHandle or SavePrinterInfo method to save the printer settings. (Please set the full path plus file name into this property to avoid malfunction). These printer settings are used by the ImageKit.

As an extension to the PrintFileName property, it's possible to print without changing the settings that have been already set in the printer information file by adding the print number of copies, the printer orientation, and the paper size (in that order) in the back of the file name before executing the PrintCreateDC method. The delimiter for the settings is a semicolon (;). Note: These settings (the the print number of copies, the printer orientation, and the paper size) can be omitted.

the printer orientation: ( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI.

Value | Explanation
1 | Vertical (DMORIENT_PORTRAIT)
2 | Horizontal (DMORIENT_LANDSCAPE)

the paper size: ( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI.

Value | Explanation
8 | A3(DMPAPER_A3)
9 | A4(DMPAPER_A4)
12 | B4(DMPAPER_B4)
13 | B5(DMPAPER_B5)

Enter a zero (0) into the settings that you do not want to change.

Example (Visual Basic)

If the file where printer information is to be saved is called "IkPrint.Ik":

1. For normal use of the PrintFileName property

printcontrolname.PrintFileName = "C:\Test\IkPrint.Ik"

2. To use the extending functionality of the PrintFileName property to change the printer settings to

A. Number of copies = 3, Orientation = Horizontal (Landscape), Paper size = B5

printcontrolname.PrintFileName = "C:\Test\IkPrint.Ik;3;2;13"

B. To print with the number of copies and paper size that has already been set in the printer information file but to change the Orientation setting to Horizontal

printcontrolname.PrintFileName = "C:\Test\IkPrint.Ik;0;2;0"

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


PrintRange (ImageKit Control/ PrintDraw Property)

This property sets the type of page range used by the "Print" dialog.

[Visual Basic] imagekitcontrolname.PrintDraw.PrintRange [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetPrintRange()
imagekitcontrolname.GetPrintDraw().SetPrintRange(short Val)

Property Value

Value | Explanation
0 | All
1 | Selection
2 | Pages

Explanation

The PrintRange property sets the type of page range used by the "Print" dialog. This property is used with the PrintDialog method. The PrintDialog method is used to display the "Print" dialog. If the PrintRange property is set prior to executing the PrintDialog method, the "Print" dialog will be initialized with those values. Likewise, this property value can be retrieved after the PrintDialog method has been executed.

Note: Depending on the values of the Options property, the property values 1 or 2 may not be effective.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


PrintToFile (ImageKit Control/ PrintDraw Property)

This property sets the checkbox [Print to File] in the "Print" dialog.

[Visual Basic] imagekitcontrolname.PrintDraw.PrintToFile[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetPrintToFile()
imagekitcontrolname.GetPrintDraw().SetPrintToFile(BOOL Val)
[VB.NET] imagekitcontrolname.PrintDraw.PrintToFile[ = Boolean ]
[C#.NET] imagekitcontrolname.PrintDraw.PrintToFile[ = bool ]

Property Value

The PrintToFile property value sets the [Print to File] checkbox in the "Print" dialog

Value | Explanation
True | Checks the checkbox
False | Does not check the checkbox

Explanation

The PrintToFile property sets the checkbox [Print to File] in the "Print" dialog. When this checkbox is checked, documents are printed to a file instead of to a printer.

This property is used with the PrintDialog method. The PrintDialog method is used to display the "Print" dialog. If the Collate and PrintToFile properties are set prior to executing the PrintDialog method, the "Print" dialog will be initialized with those values (i.e. those checkboxes will be checked). Likewise, the Collate and PrintToFile property values can be retrieved after the PrintDialog method has been executed.

If the Options property is set to 0x80000 (&H80000) or 0x100000 (&H100000) then the document cannot be printed to a file regardless of the setting of the PrintToFile property.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


RotateString (ImageKit Control/ PrintDraw Property)

This property sets whether each character in the text set in the Text property is rotated, or the whole line of text is rotated.

[Visual Basic] imagekitcontrolname.PrintDraw.RotateString [ = Boolean ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetRotateString(BOOL Val)
[VB.NET] imagekitcontrolname.PrintDraw.RotateString [ = Boolean ]
[C#.NET] imagekitcontrolname.PrintDraw.RotateString [ = bool ]

Property Value

Value | Explanation
True | The whole line of text is rotated
False | Each character in the text is rotated

Explanation

The RotateString property sets whether each character in the text set in the Text property is rotated, or the whole line of text is rotated. This property is used with the GetTextExtent and TextOut methods.

If the RotateString property is false then the CharAngle property is only enabled for angles of 0, 90, 180, 270 degrees. If the RotateString property is true, then the line of text is rotated by the angle set in the CharAngle property. Note that the Direction propery is disabled when the RotateString property is True.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Text (ImageKit Control/ PrintDraw Property)

This property sets the string that is drawn using the DrawString, DrawText, or the TextOut method.

[Visual Basic] imagekitcontrolname.PrintDraw.Text [ = String ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetText(LPCTSTR Val)
[VB.NET] imagekitcontrolname.PrintDraw.Text [ = String ]
[C#.NET] imagekitcontrolname.PrintDraw.Text [ = string ]

Property Value

The string defining text to be drawn.

Explanation

The Text property sets the string to be drawn. This property is enabled when the DrawString, DrawText, GetTextExtent, MeasureString, or TextOut method is executed.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


TextColor1 (ImageKit Control/ PrintDraw Property)

This property sets the various color information for the brush, pen, and text

[Visual Basic] imagekitcontrolname.PrintDraw.TextColor1 [ = OLE_COLOR ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetTextColor1(unsigned long Val)
[VB.NET] imagekitcontrolname.PrintDraw.TextColor1 [ = UInteger ]
[C#.NET] imagekitcontrolname.PrintDraw.TextColor1 [ = uint ]

Property Value

TextColor1:

Sets the color for text used by the DrawText and the TextOut methods

For the DrawString method, the TextColor1 property has the following affect:

Solid brush: solid color

Hatch brush: the color of the hatch lines

Gradiation: the start color for lined gradiation

Note: Disabled for the texture brush

Explanation

The TextColor1 property sets the various color information for the brush, pen, and text

To set this property use RGB(Red, Green, Blue) or equivalent value.

If the device cannot produce the color specified, the nearest color will be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.

Differences between the ImageKit7/8

This property's type has changed.


TextColor2 (ImageKit Control/ PrintDraw Property)

This property sets the various color information for the brush, pen, and text

[Visual Basic] imagekitcontrolname.PrintDraw.TextColor2 [ = OLE_COLOR ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetTextColor2(unsigned long Val)
[VB.NET] imagekitcontrolname.PrintDraw.TextColor2 [ = UInteger ]
[C#.NET] imagekitcontrolname.PrintDraw.TextColor2 [ = uint ]

Property Value

TextColor2:

Sets the background color for text used by the DrawText and the TextOut methods

For the DrawString method, the TextColor1 property has the following affect:

Hatch brush: the color used between the hatch lines

Gradiation: the end color for lined gradiation

Note: Disabled for the solid brush and the texture brush

Explanation

The TextColor2 property sets the various color information for the brush, pen, and text

To set this property use RGB(Red, Green, Blue) or equivalent value.

If the device cannot produce the color specified, the nearest color will be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.

Differences between the ImageKit7/8

This property's type has changed.


ToPage (ImageKit Control/ PrintDraw Property)

This property sets the ending value of the page range to be printed.

[Visual Basic] imagekitcontrolname.PrintDraw.ToPage[ = Integer ]
[Visual C++] [short = ]imagekitcontrolname.GetPrintDraw().GetToPage()
imagekitcontrolname.GetPrintDraw().SetToPage(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.ToPage[ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.ToPage[ = short ]

Property Value

The ToPage property value sets the ending value of the page range to be printed.

Explanation

The ToPage property sets the ending value of the page range to be printed. This property is used with the PrintDialog method. The PrintDialog method is used to display the "Print" dialog box. If this property is set prior to executing the PrintDialog method, the "Print" dialog box will be initialized with this value. Likewise, this property value can be retrieved after the PrintDialog method has been executed.

If the Options property is set to 0x8 (&H8) then the page settings cannot be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Transparent (ImageKit Control/ PrintDraw Property)

This property sets the transparency of the text background, the hatch brush background or the background between drawn lines.

[Visual Basic] imagekitcontrolname.PrintDraw.Transparent [ = Boolean ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetTransparent(BOOL Val)
[VB.NET] imagekitcontrolname.PrintDraw.Transparent [ = Boolean ]
[C#.NET] imagekitcontrolname.PrintDraw.Transparent [ = bool ]

Property Value

Value | Explanation
True | Transparency is enabled
False | Transparency is disabled

Explanation

The Transparent property sets the transparency of the text background, the hatch brush background or the background between drawn lines. When the Transparent property is True, the BackColor or the TextColor2 property is ignored. The background of the text will be transparent with the DrawString method regardless of the setting of this property.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


VCentering (ImageKit Control/ PrintDraw Property)

This property sets the vertical position of the text.

[Visual Basic] imagekitcontrolname.PrintDraw.VCentering [ = Integer ]
[Visual C++] imagekitcontrolname.GetPrintDraw().SetVCentering(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.VCentering [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.VCentering [ = short ]

Property Value

The VCentering property value sets the vertical position of the text.

Value | Explanation
0 | Top
1 | Center
2 | Bottom

Explanation

The VCentering property sets the position of the text. This property is enabled when the DrawString, DrawText, or MeasureString method is executed.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


XResolution (ImageKit Control/ PrintDraw Property)

This property sets the horizontal printer resolution.

[Visual Basic] imagekitcontrolname.PrintDraw.XResolution [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetXResolution()
imagekitcontrolname.GetPrintDraw().SetXResolution(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.XResolution [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.XResolution [ = short ]

Property Value

Positive values represent the number of pixels per inch (DPI). The following negative values are supported:

Value | Explanation
-1 | The resolution for printing a draft (DMRES_DRAFT)
-2 | Low print resolution (DMRES_LOW)
-3 | Medium print resolution (DMRES_MEDIUM)
-4 | High print resolution (DMRES_HIGH)

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI.

Explanation

The XResolution property sets the horizontal printer resolution. If this property value is set to 0 or lower than 0, then the value of the YResolution property will be ignored. To retrieve the XResolution property value, first execute the GetDevModeHandle or GetDevModeInfo method, after which the value can be retrieved from the XResolution property. To set the value of the XResolution property, execute the SetDevModeInfo method.

Note: The XResolution setting is dependent upon the printer driver. Because of this, it is possible that the setting has no affect or an affect different than expected. For details about printing orientation, please refer to the printer manufacturer's manual.

Also, executing the PrintCreateDC method or the PrintDialog method creates the device context and as a result, the resolution is values are set.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

Differences between ImageKit7/8/9

Executing the PrintCreateDC method or the PrintDialog method creates the device context and as a result, the resolution is values are set.


YResolution (ImageKit Control/ PrintDraw Property)

This property sets the vertical printer resolution.

[Visual Basic] imagekitcontrolname.PrintDraw.YResolution [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetYResolution()
imagekitcontrolname.GetPrintDraw().SetYResolution(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.YResolution [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.YResolution [ = short ]

Property Value

Positive values represent the number of pixels per inch (DPI). The following negative values are supported:

Value | Explanation
-1 | The resolution for printing a draft (DMRES_DRAFT)
-2 | Low print resolution (DMRES_LOW)
-3 | Medium print resolution (DMRES_MEDIUM)
-4 | High print resolution (DMRES_HIGH)

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI.

Explanation

The YResolution property sets the vertical printer resolution. If the XResolution property value is set to 0 or lower than 0, then the value of the YResolution property will be ignored. To retrieve the YResolution property value, first execute the GetDevModeHandle or GetDevModeInfo method, after which the value can be retrieved from the YResolution property. To set the value of the YResolution property, execute the SetDevModeInfo method.

Note: The YResolution setting is dependent upon the printer driver. Because of this, it is possible that the setting has no affect or an affect different than expected. For details about printing orientation, please refer to the printer manufacturer's manual.

Also, executing the PrintCreateDC method or the PrintDialog method creates the device context and as a result, the resolution is values are set.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

Differences between ImageKit7/8/9

Executing the PrintCreateDC method or the PrintDialog method creates the device context and as a result, the resolution is values are set.


Zoom (ImageKit Control/ PrintDraw Property)

This property sets the percentage that the printer output is scaled.

[Visual Basic] imagekitcontrolname.PrintDraw.Zoom [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetPrintDraw().GetZoom()
imagekitcontrolname.GetPrintDraw().SetZoom(short Val)
[VB.NET] imagekitcontrolname.PrintDraw.Zoom [ = Short ]
[C#.NET] imagekitcontrolname.PrintDraw.Zoom [ = short ]

Property Value

Scale percent (from 0 to 100)

Explanation

The Zoom property sets the percentage that the printer output is scaled. To retrieve the Zoom property value, first execute the GetDevModeHandle or GetDevModeInfo method, after which the value can be retrieved from the Zoom property. To set the value of the Zoom property, execute the SetDevModeInfo method.

Note: The Zoom setting is dependent upon the printer driver. Because of this, it is possible that the setting has no affect or an affect different than expected. For details about the scaling printer output, please refer to the printer manufacturer's manual.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


ImageKit PrintDraw Methods

Custom Method | Explanation
Arc | Draws an arc
Chord | Draws a chord
ClearProperty | Resets the properties in the print control
DrawFocusRect | Draws a rectangle in the style used to indicate that the rectangle has the focus.
DrawString | Uses GDI+ to draw text on the designated object
DrawText | Draws text within a rectangular area
Ellipse | Draws an ellipse
EnumPaperBins | Retrieves the paper tray names and tray numbers from the printer
EnumPaperBinsVariant | Retrieves the paper tray names and tray numbers from the printer (for scripting and other languages that require variant types)
EnumPaperSizes | Retrieves the names, size numbers, and dimensions of the paper from the printer
EnumPaperSizesVariant | Retrieves the names, size numbers, and dimensions of the paper from the printer (for scripting and other languages that require variant types)
EnumPorts | Retrieves a list of ports
EnumPortsVariant | Retrieves a list of ports (for scripting and other languages that require variant types)
EnumPrinters | Retrieves a list of all installed printers
EnumPrintersVariant | Retrieves a list of all installed printers (for scripting and other languages that require variant types)
EnumResolutions | Retrieves a list of supported resolutions for the printer
EnumResolutionsVariant | Retrieves a list of supported resolutions for the printer (for scripting and other languages that require variant types)
FillRect | Draws a rectangle and fills it with the specified color
FrameRect | Draws the border of the specified rectangle
GetArrayNum | Retrieves the number of elements in the array that will be returned when a supported item is retrieved from the printer
GetDefaultPrinter | Retrieves the default printer
GetDevModeHandle | Retrieves the handle of the DEVMODE structure and the handle of the DEVNAMES structure from the specifed printer
GetDevModeInfo | Retrieves various printer information from the handle of the DEVMODE structure
GetDevNamesInfo | Retrieves various printer information from the handle of the DEVNAMES structure
GetImageFromHdc | Retrieves the image from the device context. (hDC)
GetPaperSize | Retrieves the printing range, height, and width for the designated printer
GetPaperSizeVariant | Retrieves the printing range, height, and width for the designated printer (for scripting and other languages that require variant types)
GetPixel | Retrieves the RGB values from a specified pixel
GetPixelVariant | Retrieves the RGB values from a specified pixel (for scripting and other languages that require variant types)
GetPrinterPort | Retrieves the printer port
GetTextExtent | Retrieves the height and width of the specified text
GetTextExtentVariant | Retrieves the height and width of the specified text (for scripting and other languages that require variant types)
ImageOut | Draws an image in the device context (hDC)
ImageOutToHwnd | Draws an image in the window handle (hWnd)
Line | Draws a straight line
MeasureString | Uses GDI+ to retrieve the height and width of text from text information
MeasureStringVariant | Uses GDI+ to retrieve the height and width of text from text information (for scripting and other languages that require variant types)
Paint | Paints one color with a different color
Pie | Draws a pie shape
PolyBezier | Draws a bezier curve
PolyBezierVariant | Draws a bezier curve (for scripting and other languages that require variant types)
Polygon | Draws a polygon
PolygonVariant | Draws a polygon (for scripting and other languages that require variant types)
Polyline | Draws a polyline
PolylineVariant | Draws a polyline (for scripting and other languages that require variant types)
PreviewInit | Sets the resolution for the printing preview
PrintAbortDoc | Terminates the current print job
PrintCreateDC | Creates the device context of the printer
PrintDeleteDC | Deletes the device context of the printer
PrintDialog | Displays the Print dialog and creates a device context
PrintEndDoc | Ends the print job
PrintEndPage | Ends the printing of a page
PrintStartDoc | Starts the print job
PrintStartPage | Starts the printing of a page.
Rectangle | Draws a rectangle
ReleaseDevModeHandle | Frees the handle of the DEVMODE structure and the handle the DEVNAMES structure
RoundRect | Draws a rounded rectangle
SaveDevModeHandle | Saves the handle to the DEVMODE structure and the handle of the DEVNAMES structure into the file specified by the PrintFileName property
SavePrinterInfo | Saves the settings entered in the "Print Setup" dialog
SetDefaultPrinter | Sets the default printer
SetDevModeInfo | Sets the printer information into the handle of the DEVMODE structure.
SetPixel | Sets the RGB values in the specified pixel
TextOut | Draws the text from a given starting point


Arc (ImageKit Control/PrintDraw Method)

This method draws an arc in the designated object (the screen, printer, or image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.Arc(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, x1 As Long, y1 As Long, x2 As Long, y2 As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().Arc(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long x1, long y1, long x2, long y2, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.Arc(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.Arc(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, int x1, int y1, int x2, int y2, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode parameter
left,top | The x, y coordinates of the top left corner of the area bounding the arc
right,bottom | The x, y coordinates of the bottom right corner of the area bounding the arc
x1,y1 | x and y coordinates of the starting point of the arc
x2,y2 | x and y coordinates of the ending point of the arc
DeviceMode | If 0 (ikScreen), then the output will be drawn in pixel units. If 1 (ikPrinter), the output will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the output will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Arc method draws an arc in the designated object (the screen, printer, or image data). The (left, top) and (right, bottom) parameters are the coordinates for points that specify a bounding rectangle in which the arc is drawn. The bounding rectangle defines the curve of the arc between the two points specified by the starting point (x1,y1) and ending point (x2,y2) of the arc. The arc extends from the specified starting point (x1,y1) to a point where it intersects a radial from the center of the bounding rectangle. The arc ends at the specified ending point (x2,y2) where it intersects another radial from the center of the bounding rectangle. If the end point and the starting point are the same, a complete ellipse is drawn.

To draw an arc, the PenStyle property must be set. It is recommended that the PenWidth, PenMode, PenColor and Transparent properties also be set.

The BackColor property is enabled when the Transparent property is False and the pen is set to draw lines other than solid lines.

If the DeviceMode parameter is 0 or 2, then the left, top, right, bottom, x1, y1, x2, y2 parameters are in pixel units.

If the DeviceMode parameter is 1, then the left, top, right, bottom, x1, y1, x2, y2 parameters are in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


Chord (ImageKit Control/PrintDraw Method)

This method draws a chord in the designated object (the screen, printer, or image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.Chord(DeviceValue As Long, left As Long, top As Long, right As Long, bottom As Long, x1 As Long, y1 As Long, x2 As Long, y2 As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().Chord(long DeviceValue, long left, long top, long right, long bottom, long x1, long y1, long x2, long y2, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.Chord(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.Chord(int(x86) or long(x64) DeviceValue, intleft, int top, int right, int bottom, int x1, int y1, int x2, int y2, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode parameter
left,top | The x, y coordinates of the top left corner of the rectangle
right,bottom | The x, y coordinates of the bottom right corner of the rectangle
x1,y1 | x and y coordinates of the starting point of the chord
x2,y2 | x and y coordinates of the ending point of the chord
DeviceMode | If 0 (ikScreen), then the output will be drawn in pixel units. If 1 (ikPrinter), the output will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the output will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Chord method draws a chord in the designated object (the screen, printer, or image data). A chord is a region bounded by the intersection of an ellipse and a line segment. The (left, top) and (right, bottom) parameters are the coordinates for points that specify a bounding rectangle which defines the ellipse. The chord begins at a specified starting point (x1,y1) where the ellipse intersects a radial from the center of the bounding rectangle. It ends at a specified ending point (x2,y2) where the ellipse intersects another radial from the center of the bounding rectangle. If the starting point and the ending point are the same, a complete ellipse is drawn. The chord is closed by drawing a line from the starting point to the ending point.

The outline of the chord is drawn from the value set in the PenStyle property and the chord is filled by the value set in the BrushStyle property. When drawing a chord, it is recommended that the PenWidth , PenMode, PenColor, BrushColor, Transparent, and BackColor properties also be set. The BackColor property is enabled when the Transparent property is False and the pen is set to draw lines other than solid lines or the brush is set to draw a hatch pattern.

If the DeviceMode parameter is 0 or 2 then the left, top, right, bottom, x1, y1, x2, y2 parameters are in pixel units.

If the DeviceMode parameter is 1 then the left, top, right, bottom, x1, y1, x2, y2 parameters are in 0.1 mm units.

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


ClearProperty (ImageKit Control/PrintDraw Method)

This method initializes (resets) the print control properties.

[Visual Basic] imagekitcontrolname.PrintDraw.ClearProperty
[Visual C++] imagekitcontrolname.GetPrintDraw().ClearProperty()
[VB.NET] imagekitcontrolname.PrintDraw.ClearProperty()
[C#.NET] imagekitcontrolname.PrintDraw.ClearProperty()

Parameters

None

Return Value

None

Explanation

The ClearProperty method initializes (resets) the print control properties that have values capable of being set. After executing the ClearProperty method, these properties will have values of 0 or False. Note that the CharSet property will be reset to -1.


DrawFocusRect (ImageKit Control/PrintDraw Method)

This method draws a rectangle in the style used to indicate that the rectangle has the focus.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.DrawFocusRect(hDC As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, UnitMode As DeviceUnitModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().DrawFocusRect(LONG_PTR hDC, long left, long top, long right, long bottom, long UnitMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.DrawFocusRect(hDC As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.DrawFocusRect(int(x8) or long(x64) hDC, int left, int top, int right, int bottom, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hDC | The device context
left, top | The x, y coordinates of the top left corner of the rectangle
right, bottom | The x, y coordinates of the bottom right corner of the rectangle
UnitMode | Sets the units for the left, top, right, and bottom parameters (0: units in pixel; 1: units in 0.1mm)

The following constants can be used: (ikPrinterPixel = 0, ikPrinterMM = 1).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The DrawFocusRect method draws a rectangle in the style used to indicate that the rectangle has the focus.

Because DrawFocusRect uses XOR function to draw the rectangle, calling it a second time with the same rectangle removes the rectangle from the screen.

This function draws a rectangle that cannot be scrolled. To scroll an area containing a rectangle drawn by this function, call DrawFocusRect to remove the rectangle from the screen, scroll the area, and then call DrawFocusRect again to draw the rectangle in the new position.

To draw the rectangle, the BrushStyle and BrushColor properties must be set.

If the UnitMode parameter is 0 (ikPrinterPixel) then the left, top, right, bottom parameters are in pixel units.

If the UnitMode parameter is 1 (ikPrinterMM) then the left, top, right, bottom parameters are in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


DrawString (ImageKit Control/PrintDraw Method)

This method uses GDI+ to draw text on the designated object.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.DrawString(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, BrushType As Integer, Style As Integer, ImageHandle As LONG_PTR, TextRenderingHint As Integer, FormatFlags As StringFormatFlagsConstants, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().DrawString(LONG_PTR DeviceValue, long left, long top, long right, long bottom, short BrushType, short Style, LONG_PTR ImageHandle, short TextRenderingHint, long FormatFlags, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.DrawString(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, BrushType As Short, Style As Short, ImageHandle As Integer(x86) or Long(x64), TextRenderingHint As Short, FormatFlags As ImageKit10(A)Lib.StringFormatFlagsConstants, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.DrawString(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, short BrushType, short Style, int(x86) or long(x64) ImageHandle, short TextRenderingHint, ImageKit10(A)Lib.StringFormatFlagsConstants FormatFlags, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode parameter
left, top | The x, y coordinates of the top left corner of the rectangle
right, bottom | The x, y coordinates of the bottom right corner of the rectangle
BrushType | Sets the brush type (0: Solid, 1: Hatch, 2: Texture, 4: Gradiation)
Style | Sets the style for each brush (Disabled when BrushType is 0)
ImageHandle | The memory handle of the raster image used with the Texture Brush (BrushType=4)
TextRenderingHint | Refers to the text rendering mode (Default is 0)
FormatFlags | Format information for the text string (Default is 0)
DeviceMode | If 0 (ikScreen), then the output will be drawn in pixel units. If 1 (ikPrinter), the output will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the output will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The DrawString method uses GDI+ to draw text on the designated object. If the right and bottom parameters are set to 0 then the text will be drawn with a start position determined by the left and top parameters. If the right and bottom parameters are set to values other than 0, then the text will be drawn within a rectangle defined by the left, top, right, and bottom parameters. Any text that cannot fit within this rectangle will be cut.

Supported designated objects are the screen, printer, or image data)

To draw text using the DrawString method, please set the following properties: TextColor1, Alpha1, TextColor2, Alpha2, FontName, FontSize, CharAngle, HCentering, VCentering, HotkeyPrefix, and Text.

When the HotkeyPrefix property is set to values other than 1, prefixed string functionality cannot be used.

The TextColor1 and Alpha1 properties relate to the following: Solid Brush: brush color; Hatch Brush: line color; Gradiation Brush: start color for lined gradiation. The TextColor2 and Alpha2 properties relate to the following: Hatch Brush: background color between the hatch lines; Gradiation Brush: end color for lined gradiation.

If using the gradiation brush (BrushType=4), please set the left, top, right,and bottom parameters

If the DeviceMode parameter is 0 or 2 then the left, top, right, bottom parameters are in pixel units.

If the DeviceMode parameter is 1 then the left, top, right, bottom parameters are in 0.1mm units.

The style settings for each brush

For the Hatch Brush

Value | Explanation
0 | A pattern of horizontal lines
1 | A pattern of vertical lines
2 | A pattern of diagonal lines from top left to bottom right
3 | A pattern of diagonal lines from top right to bottom left
4 | A pattern of horizontal and vertical lines that cross
5 | A pattern of crisscross diagonal lines. Antialias has been applied to the lines
6 | Specifies a 5-percent hatch. The ratio of foreground color to background color is 5:100
7 | Specifies a 10-percent hatch. The ratio of foreground color to background color is 10:100
8 | Specifies a 20-percent hatch. The ratio of foreground color to background color is 20:100
9 | Specifies a 25-percent hatch. The ratio of foreground color to background color is 25:100
10 | Specifies a 30-percent hatch. The ratio of foreground color to background color is 30:100
11 | Specifies a 40-percent hatch. The ratio of foreground color to background color is 40:100
12 | Specifies a 50-percent hatch. The ratio of foreground color to background color is 50:100
13 | Specifies a 60-percent hatch. The ratio of foreground color to background color is 60:100
14 | Specifies a 70-percent hatch. The ratio of foreground color to background color is 70:100
15 | Specifies a 75-percent hatch. The ratio of foreground color to background color is 75:100
16 | Specifies a 80-percent hatch. The ratio of foreground color to background color is 80:100
17 | Specifies a 90-percent hatch. The ratio of foreground color to background color is 90:100
18 | Specifies diagonal lines that slant to the right from top points to bottom points, are spaced 50 percent closer together than 2. Antialias is not applied
19 | Specifies diagonal lines that slant to the left from top points to bottom points, are spaced 50 percent closer together than 3. Antialias is not applied
20 | Specifies diagonal lines that slant to the right from top points to bottom points, are spaced 50 percent closer together than 2 and are twice its width. Antialias is not applied
21 | Specifies diagonal lines that slant to the left from top points to bottom points, are spaced 50 percent closer together than 3 and are twice its width. Antialias is not applied
22 | Specifies diagonal lines that slant to the right from top points to bottom points, are spaced the same as 2 and are three times its width. Antialias is not applied
23 | Specifies diagonal lines that slant to the left from top points to bottom points, are spaced the same as 3 and are three times its width. Antialias is not applied
24 | Specifies vertical lines that are spaced 50 percent closer together than 1
25 | Specifies horizontal lines that are spaced 50 percent closer together than 0
26 | Specifies vertical lines that are spaced 75 percent closer together than 1 (or 25 percent closer than 24)
27 | Specifies horizontal lines that are spaced 75 percent closer together than 0 (or 25 percent closer than 25)
28 | Specifies vertical lines that are spaced 50 percent closer together than 1 and twice as wide
29 | Specifies horizontal lines that are spaced 50 percent closer together than 0 and twice as wide
30 | Specifies dashed diagonal lines that slant to the right from top points to bottom points
31 | Specifies dashed diagonal lines that slant to the left from top points to bottom points
32 | Specifies dashed horizontal lines
33 | Specifies dashed vertical lines
34 | Specifies a hatch that has the appearance of confetti
35 | Specifies a hatch that has the appearance of confetti, and is composed of larger pieces than 34
36 | Specifies horizontal lines that are composed of zigzags
37 | Specifies horizontal lines that are composed of tildes
38 | Specifies a hatch that has the appearance of layered bricks that slant to the left from top points to bottom points
39 | Specifies a hatch that has the appearance of horizontally layered bricks
40 | Specifies a hatch that has the appearance of a woven material
41 | Specifies a hatch that has the appearance of a plaid material
42 | Specifies a hatch that has the appearance of divots
43 | Specifies horizontal and vertical lines, each of which is composed of dots, that cross
44 | Specifies forward diagonal and backward diagonal lines, each of which is composed of dots, that cross
45 | Specifies a hatch that has the appearance of diagonally layered shingles that slant to the right from top points to bottom points.
46 | Specifies a hatch that has the appearance of a trellis
47 | Specifies a hatch that has the appearance of spheres laid adjacent to one another
48 | Specifies a pattern of horizontal and vertical lines that cross and have a width 50 percent closer together than 4
49 | Specifies a hatch that has the appearance of a checkerboard
50 | Specifies a hatch that has the appearance of a checkerboard with squares that are twice the size of 49
51 | Specifies a pattern of crisscross diagonal lines. Antialias is not applied
52 | Specifies a hatch that has the appearance of a checkerboard placed diagonally

For the Texture Brush

Value | Explanation
0 | Tiles the gradient or texture
1 | Reverses the texture or gradient horizontally and then tiles the texture or gradient.
2 | Reverses the texture or gradient vertically and then tiles the texture or gradient.
3 | Reverses the texture or gradient horizontally and vertically and then tiles the texture or gradient.
4 | Clamps the texture or gradient to the object boundary

For the Gradiation Brush

Value | Explanation
0 | Specifies gradiation from left to right
1 | Specifies gradiation from top to bottom
2 | Specifies gradiation from top left to bottom right
3 | Specifies gradiation from top right to bottom left

For Text Rendering

Value | Explanation
0 | Each character is drawn using its glyph bitmap, with the system default rendering hint. The text will be drawn using whatever font-smoothing settings the user has selected for the system.
1 | Each character is drawn using its glyph bitmap. Hinting is used to improve character appearance on stems and curvature.
2 | Each character is drawn using its glyph bitmap. Hinting is not used.
3 | Each character is drawn using its antialiased glyph bitmap with hinting. Much better quality due to antialiasing, but at a higher performance cost.
4 | Each character is drawn using its antialiased glyph bitmap without hinting. Better quality due to antialiasing. Stem width differences may be noticeable because hinting is turned off.
5 | Each character is drawn using its glyph ClearType bitmap with hinting. The highest quality setting. Used to take advantage of ClearType font features.

String format info

Value | Explanation
0x00000001 | Text is displayed from right to left
0x00000002 | Text is vertically aligned.
0x00000004 | Parts of characters are allowed to overhang the string's layout rectangle. By default, characters are repositioned to avoid any overhang.
0x00000020 | Control characters such as the left-to-right mark are shown in the output with a representative glyph.
0x00000400 | Fallback to alternate fonts for characters not supported in the requested font is disabled. Any missing characters are displayed with the fonts missing glyph, usually an open square.
0x00000800 | Includes the trailing space at the end of each line. Set this flag to include that space in measurement.
0x00001000 | Text wrapping between lines when formatting within a rectangle is disabled. This flag is implied when a point is passed instead of a rectangle, or when the specified rectangle has a zero line length.
0x00002000 | Only entire lines are laid out in the formatting rectangle. By default layout continues until the end of the text, or until no more lines are visible as a result of clipping, whichever comes first. Note that the default settings allow the last line to be partially obscured by a formatting rectangle that is not a whole multiple of the line height. To ensure that only whole lines are seen, specify this value and be careful to provide a formatting rectangle at least as tall as the height of one line.
0x00004000 | Overhanging parts of glyphs, and unwrapped text reaching outside the formatting rectangle are allowed to show. By default all text and glyph parts reaching outside the formatting rectangle are clipped.

The values of the DrawString method in Visual Basic and in .NET should start with H instead of 0x.

The following constants can be used: (ikDirectionRightToLeft = 0x00000001, ikDirectionVertical = 0x00000002, ikNoFitBlackBox = 0x00000004, ikDisplayFormatControl = 0x00000020, ikNoFontFallback = 0x00000400, ikMeasureTrailingSpaces = 0x00000800, ikNoWrap = 0x00001000, ikLineLimit = 0x00002000, ikNoClip = 0x00004000).

Sample code:

Visual Basic

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Long

Dim linesFilled As Long

Dim TxRight As Long

Dim TxBottom As Long

ImageKit1.PrintDraw.FontSize = 20

ImageKit1.PrintDraw.FontName = "Arial"

ImageKit1.PrintDraw.HotkeyPrefix = 0

ImageKit1.PrintDraw.Text = "Text"

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, 0)

TxRight = 10 + CLng(Str_Width) - 1

TxBottom = 10 + CLng(Str_Height) - 1

ImageKit1.PrintDraw.CharAngle = 0

ImageKit1.PrintDraw.TextColor1 = vbRed

ImageKit1.PrintDraw.Alpha1 = 255

ImageKit1.PrintDraw.TextColor2 = vbWhite

ImageKit1.PrintDraw.Alpha2 = 255

'using the Gradiation Brush

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, TxRight, TxBottom, 4, 0, 0, 0, 0, 0)

Visual C++

float Str_Width, Str_Height;

long charactersFitted, linesFilled, right, bottom;

ImageKit1.GetPrintDraw().ClearProperty();

ImageKit1.GetPrintDraw().SetFontSize(20);

ImageKit1.GetPrintDraw().SetFontName("Arial");

ImageKit1.GetPrintDraw().SetHotkeyPrefix(0);

ImageKit1.GetPrintDraw().SetText("Text");

ImageKit1.GetPrintDraw().MeasureString(hDC, 0, 0, &Str_Width, &Str_Height, &charactersFitted, &linesFilled, 0, 0);

right = 10 + (long)Str_Width - 1;

bottom = 10 + (long)Str_Height - 1;

ImageKit1.GetPrintDraw().SetCharAngle(0);

ImageKit1.GetPrintDraw().SetTextColor1(RGB(255, 0, 0));

ImageKit1.GetPrintDraw().SetAlpha1(255);

ImageKit1.GetPrintDraw().SetTextColor2(RGB(255, 255, 255));

ImageKit1.GetPrintDraw().SetAlpha2(255);

//using the Gradiation Brush

ImageKit1.GetPrintDraw().DrawString(hDC, 10, 10, right, bottom, 4, 0, 0, 0, 0, 0);

VB.NET

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Integer

Dim linesFilled As Integer

Dim TxRight As Integer

Dim TxBottom As Integer

ImageKit1.PrintDraw.FontSize = 20

ImageKit1.PrintDraw.FontName = "Arial"

ImageKit1.PrintDraw.HotkeyPrefix = 0

ImageKit1.PrintDraw.Text = "Text"

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, 0)

TxRight = 10 + CLng(Str_Width) - 1

TxBottom = 10 + CLng(Str_Height) - 1

ImageKit1.PrintDraw.CharAngle = 0

ImageKit1.PrintDraw.TextColor1 = ColorTranslator.ToWin32(Color.Red)

ImageKit1.PrintDraw.Alpha1 = 255

ImageKit1.PrintDraw.TextColor2 = ColorTranslator.ToWin32(Color.White)

ImageKit1.PrintDraw.Alpha2 = 255

'using the Gradiation Brush

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, TxRight, TxBottom, 4, 0, 0, 0, 0, 0)

C#.NET

float Str_Width, Str_Height;

int charactersFitted, linesFilled, right, bottom;

Str_Width = Str_Height = 0;

charactersFitted = linesFilled = 0;

ImageKit1.PrintDraw.FontSize = 20;

ImageKit1.PrintDraw.FontName = "Arial";

ImageKit1.PrintDraw.HotkeyPrefix = 0;

ImageKit1.PrintDraw.Text = "Text";

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, ref Str_Width, ref Str_Height, ref charactersFitted, ref linesFilled, 0, 0);

right = 10 + (int)Str_Width - 1;

bottom = 10 + (int)Str_Height - 1;

ImageKit1.PrintDraw.CharAngle = 0;

ImageKit1.PrintDraw.TextColor1 = (uint)ColorTranslator.ToWin32(Color.Red);

ImageKit1.PrintDraw.Alpha1 = 255;

ImageKit1.PrintDraw.TextColor2 = (uint)ColorTranslator.ToWin32(Color.White);

ImageKit1.PrintDraw.Alpha2 = 255;

//using the Gradiation Brush

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, right, bottom, 4, 0, 0, 0, 0, 0);

Differences between the ImageKit7/8

The DeviceValue and ImageHandle arguments' type has changed.


DrawText (ImageKit Control/PrintDraw Method)

This method draws text in a rectangle specified in the designated object (the screen, printer, or image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.DrawText(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, EnableFontScale As Boolean, Clip As Boolean, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().DrawText(LONG_PTR DeviceValue, long left, long top, long right, long bottom, BOOL EnableFontScale, BOOL Clip, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.DrawText(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, EnableFontScale As Boolean, Clip As Boolean, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.DrawText(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, bool EnableFontScale, bool Clip, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode parameter
left, top | The x, y coordinates of the top left corner of the rectangle
right, bottom | The x, y coordinates of the bottom right corner of the rectangle
EnableFontScale | Scales the font so the text fits within the specified rectangle. [True (nonzero): Fonts are scaled, False (0): Fonts are not scaled]
Clip | Clips the text that does not fit within the specified rectangle [True (nonzero): Text is clipped, False(0):Text is not clipped]
DeviceMode | If 0 (ikScreen), then the output will be drawn in pixel units. If 1 (ikPrinter), the output will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the output will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The DrawText method draws text in a rectangle specified in the designated object (the screen, printer, or image data). The (left, top), and (right, bottom) parameters specify the location of a rectangle in which the text is drawn. If the EnableFontScale parameter is True (nonzero) and the specified text is unable to fit within the rectangle, it will be scaled to fit. However, after scaling if the text still will not fit within the rectangle, the text will be clipped. If the EnableFontScale parameter is False (0), the font will be used as is without scaling. If the text does not fit within the rectangle, the text will be continued on a new line with the line break occuring at a space. (CRLF can also be used). If the Clip parameter is True (nonzero), the characters of the text that do not fit within the specified rectangle will be cut. If the Clip parameter is False (0), then all of the characters in the text will be drawn even if they do not fit inside the rectangle.

Regardless of the text direction or the rotation of the characters, text will be drawn from the start position to the right (or down in the case of vertical text).

When using the DrawText method the following properties should be set: CharSet, TextColor1, TextColor2, FontName, FontSize, Transparent, Direction, CharAngle, CharExtra, HCentering, VCentering, HotkeyPrefix, Text . The CharAngle property is enabled for 0, 90, 180, and 270 degree rotations only. When the EnableFontScale parameter is False (0), the CharAngle, Drection, and VCentering properties are disabled. When the HotkeyPrefix property is set to values other than 1, prefixed string functionality cannot be used.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the left, top, right, bottom parameters are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the left, top, right, bottom parameters are in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


Ellipse (ImageKit Control/PrintDraw Method)

This method draws an ellipse in the designated object (the screen, printer, or image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.Ellipse(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().Ellipse(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.Ellipse(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.Ellipse(int(x86) or long(x64 )DeviceValue, int left, int top, int right, int bottom, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode parameter
left,top | The x, y coordinates of the top left corner of the rectangle
right,bottom | The x, y coordinates of the bottom right corner of the rectangle
DeviceMode | If 0 (ikScreen), then the output will be drawn in pixel units. If 1 (ikPrinter), the output will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the output will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Ellipse method draws an ellipse in the designated object (the screen, printer, or image data). The (left, top), and (right, bottom) parameters are coordinates for points that specify a bounding rectangle in which the ellipse is drawn. The outline of the ellipse is drawn from the value set in the PenStyle property and the ellipse is filled by the value set in the BrushStyle property (this method can draw in the following designated objects: screen, printer, and image data). When drawing an ellipse, it is recommended that the PenWidth, PenStyle, PenMode, PenColor, BrushStyle, BrushColor, Transparent, BackColor properties also be set. The BackColor property is enabled when the Transparent property is false and the pen is set to draw lines other than solid lines or the brush is set to draw hatch pattern.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the left, top, right, bottom parameters are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the left, top, right, bottom parameters are in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


EnumPaperBins (ImageKit Control/PrintDraw Method)

This method retrieves the paper tray names and tray numbers from the printer designated by the printer name.

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.EnumPaperBins(BinNames As String, BinNumbers As Integer)
[Visual C++] [ long = ]imagekitcontrolname.GetPrintDraw().EnumPaperBins(BSTR *BinNames, short *BinNumbers)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.EnumPaperBins(ByRef BinNames As String, ByRef BinNumbers As Short)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.EnumPaperBins(ref string BinNames, ref short BinNumbers)

Parameters

Name | Explanation
BinNames | The string containing the retrieved paper tray names
BinNumbers | An array containing paper tray numbers.
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim Bnum(0 To 2) As Integer, then the arguments are returned in Bnum(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in Bnum(0). In C#.NET, the arguments are returned in Bnum[0].

Return Value

Returns the number of retrieved items. Returns 0 if unsuccessful.

Explanation

The EnumPaperBins method retrieves the supported paper tray names and tray numbers from the printer designated by the printer name. If you need to know the number of elements in the array, the GetArrayNum method can be used to retrieve this. The BinNames string will be returned as "xxxxx,xxxxx,xxxxx,¥¥¥¥¥¥¥¥," (delimited by commas and ends with a comma).

For scripting languages, other programs that require variant types, or when using 64 bit builds in VB.NET or C#, please refer to the EnumPaperBinsVariant method.

Sample code:

Visual Basic

Dim Size As Long

Dim BinNames As String

Dim BinNumbers() As Integer

Dim Ret As Long

Size = ImageKit1.PrintDraw.GetArrayNum(1)

If Size < 1 Then Exit Sub

ReDim BinNumbers(Size)

Ret = ImageKit1.PrintDraw.EnumPaperBins(BinNames, BinNumbers(0))

' various programming code

.........

Visual C++

long Size;

BSTR BinNames;

short *BinNumbers;

ImageKit1.GetPrintDraw().SetPrinterName("EPSON LP-8200C");

Size = ImageKit1.GetPrintDraw().GetArrayNum(1);

if (Size < 1) return;

BinNumbers = (short *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(short) * Size);

__try {

ImageKit1->PrintDraw->EnumPaperBins(&BinNames, BinNumbers);

// various programming code

..........

} __finally {

HeapFree(GetProcessHeap(), 0, BinNumbers);

}

VB.NET

Dim Size As Integer

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(1)

If Size < 1 Then Exit Sub

Dim BinNames As String = Nothing

Dim BinNumbers As Short() = New Short(Size - 1) {}

Ret = ImageKit1.PrintDraw.EnumPaperBins(BinNames, BinNumbers(0))

' various programming code

C#.NET

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

Size = ImageKit1.PrintDraw.GetArrayNum(ImageKit10Lib.PrinterCapabilityConstants.ikPrinterPaperBin);

if (Size < 1) return;

int Ret;

string BinNames = null;

short[] BinNumbers = new short[Size];

Ret = ImageKit1.PrintDraw.EnumPaperBins(ref BinNames, ref BinNumbers[0]);

// various programming code


EnumPaperBinsVariant (ImageKit Control/PrintDraw Method)

This method retrieves the paper tray names and tray numbers from the printer designated by the printer name.

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.EnumPaperBinsVariant(BinNames As Variant, BinNumbers As Variant)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.EnumPaperBinsVariant(ByRef BinNames As Object, ByRef BinNumbers As Object)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.EnumPaperBinsVariant(ref object BinNames, ref object BinNumbers)

Parameters

Name | Explanation
BinNames | The string containing the retrieved paper tray names
BinNumbers | * NOTE for retrieving array values: In Visual Basic / VB.NET, if Dim Bnum, then the arguments are returned in Bnum. In C#.NET the arguments are returned in ref Bnum.

Return Value

Returns the number of retrieved items. Returns 0 if unsuccessful.

Explanation

The EnumPaperBinsVariant method retrieves the supported paper tray names and tray numbers from the printer designated by the printer name.

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

If you need to know the number of elements in the array, the GetArrayNum method can be used to retrieve this. The BinNames string will be returned as "xxxxx,xxxxx,xxxxx,¥¥¥¥¥¥¥¥," (delimited by commas and ends with a comma).

Also see EnumPaperBins method.

Sample code:

VB.NET

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Dim BinNames As Object = Nothing

Dim BinNumbers As Object = Nothing

Ret = ImageKit1.PrintDraw.EnumPaperBinsVariant(BinNames, BinNumbers)

If Ret < 1 Then Exit Sub

' various programming code

.........

C#.NET

int Ret;

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

object BinNames = null;

object BinNumbers = null;

Ret = ImageKit1.PrintDraw.EnumPaperBinsVariant(ref BinNames, ref BinNumbers);

if (Ret < 1) return;

// various programming code

.........


EnumPaperSizes (ImageKit Control/PrintDraw Method)

This method retrieves the names, size numbers, and dimensions of the paper from the printer designated by the printer name.

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.EnumPaperSizes(PaperNames As String, PaperNumbers As Integer, Width As Long, Height As Long)
[Visual C++] [ long = ]imagekitcontrolname.GetPrintDraw().EnumPaperSizes(BSTR *PaperNames, short *PaperNumbers, long *Width, long *Height)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.EnumPaperSizes(ByRef PaperNames As String, ByRef PaperNumbers As Short, ByRef Width As Integer, ByRef Height As Integer)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.EnumPaperSizes(ref string PaperNames, refshort PaperNumbers, ref int Width, ref int Height)

Parameters

Name | Explanation
PaperNames | The string containing the retrieved paper names
PaperNumbers | The array containing the retrieved paper size numbers * NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim Pnum(0 To 2) As Integer, then the arguments are returned in Pnum(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in Pnum(0). In C#.NET, the arguments are returned in Pnum[0].
Width, Height | The array containing the retrieved paper dimensions * NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim Width(0 To 2) As Integer, then the arguments are returned in Width(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in Width(0). In C#.NET, the arguments are returned in Width[0].

Return Value

Returns the number of retrieved items. Returns 0 if unsuccessful.

Explanation

The EnumPaperSizes method retrieves the names, size numbers, and dimensions of the paper from the printer designated by the printer name. If you need to know the number of elements in the array, the GetArrayNum method can be used to retrieve this. The PaperNames string will be returned as "xxxxx,xxxxx,xxxxx,¥¥¥¥¥¥¥¥," (delimited by commas and ends with a comma). The Width and Height parameters retreieve each paper size in 0.1mm units.

For scripting languages, other programs that require variant types, or when using 64 bit builds in VB.NET or C#, please refer to the EnumPaperSizesVariant method.

Sample code:

Visual Basic

Dim Size As Long

Dim PaperNames As String

Dim PaperNumbers() As Integer

Dim Width() As Long

Dim Height() As Long

Dim Ret As Long

Size = ImageKit1.PrintDraw.GetArrayNum(0)

If Size < 1 Then Exit Sub

ReDim PaperNumbers(Size)

ReDim Width(Size)

ReDim Height(Size)

Ret = ImageKit1.PrintDraw.EnumPaperSizes(PaperNames, PaperNumbers(0), Width(0), Height(0))

' various programming code

..........

Visual C++

long Size;

BSTR PaperNames;

short *PaperNumbers;

long *Width;

long * Height;

ImageKit1.GetPrintDraw().SetPrinterName("EPSON LP-8200C");

Size = ImageKit1.GetPrintDraw().GetArrayNum(0);

if (Size < 1) return;

PaperNumbers = (short *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(short) * Size);

Width = (short *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

Height = (short *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

__try {

ImageKit1->PrintDraw->EnumPaperSizes(&PaperNames, PaperNumbers, Width, Height);

// various programming code

...........

} __finally {

HeapFree(GetProcessHeap(), 0, PaperNumbers);

HeapFree(GetProcessHeap(), 0, Width);

HeapFree(GetProcessHeap(), 0, Height);

}

VB.NET

Dim Size As Integer

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(0)

If Size < 1 Then Exit Sub

Dim PaperNames As String = Nothing

Dim PaperNumbers As Short() = New Short(Size - 1) {}

Dim Width As Integer() = New Integer(Size - 1) {}

Dim Height As Integer() = New Integer(Size - 1) {}

Ret = ImageKit1.PrintDraw.EnumPaperSizes(PaperNames, PaperNumbers(0), Width(0), Height(0))

' various programming code

.........

Visual C#.NET

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

// In the ANSI version, ImageKit10ALib.PrinterCapabilityConstants.ikPrinterPaperSize

Size = ImageKit1.PrintDraw.GetArrayNum(ImageKit10Lib.PrinterCapabilityConstants.ikPrinterPaperSize);

if (Size < 1) return;

int Ret;

string PaperNames = null;

short[]PaperNumbers = new short[Size];

int[]Width = new int[Size];

int[]Height = new int[Size];

Ret = ImageKit1.PrintDraw.EnumPaperSizes(ref PaperNames, ref PaperNumbers[0], ref Width[0], ref Height[0]);

// various programming code

..........


EnumPaperSizesVariant (ImageKit Control/PrintDraw Method)

This method retrieves the names, size numbers, and dimensions of the paper from the printer designated by the printer name.

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.EnumPaperSizesVariant(PaperNames As Variant, PaperNumbers As Variant, Width As Variant, Height As Variant)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.EnumPaperSizesVariant(ByRef PaperNames As Object, ByRef PaperNumbers As Object, ByRef Width As Object, ByRef Height As Object)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.EnumPaperSizesVariant(ref object PaperNames, ref object PaperNumbers, ref object Width, ref object Height)

Parameters

Name | Explanation
PaperNames | The string containing the retrieved paper names
PaperNumbers | The array containing the retrieved paper size numbers * NOTE for retrieving array values: In Visual Basic / VB.NET, if Dim Pnum, then the arguments are returned in Pnum. In C#.NET the arguments are returned in ref Pnum.
Width, Height | The array containing the retrieved paper dimensions * NOTE for retrieving array values: In Visual Basic / VB.NET, if Dim Width, then the arguments are returned in Width. In C#.NET the arguments are returned in ref Width.

Return Value

Returns the number of retrieved items. Returns 0 if unsuccessful.

Explanation

The EnumPaperSizesVariant method retrieves the names, size numbers, and dimensions of the paper from the printer designated by the printer name.

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

If you need to know the number of elements in the array, the GetArrayNum method can be used to retrieve this. The PaperNames string will be returned as "xxxxx,xxxxx,xxxxx,¥¥¥¥¥¥¥¥," (delimited by commas and ends with a comma). The Width and Height parameters retreieve each paper size in 0.1mm units.

Also see the EnumPaperSizes method.

Sample code:

VB.NET

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Dim PaperNames As Object = Nothing

Dim PaperNumbers As Object = Nothing

Dim Width As Object = Nothing

Dim Height As Object = Nothing

Ret = ImageKit1.PrintDraw.EnumPaperSizesVariant(PaperNames, PaperNumbers, Width, Height)

If Ret < 1 Then Exit Sub

' various programming code

.........

C#.NET

int Ret;

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

object PaperNames = null;

object PaperNumbers = null;

object Width = null;

object Height = null;

Ret = ImageKit1.PrintDraw.EnumPaperSizesVariant(ref PaperNames, ref PaperNumbers, ref Width, ref Height);

if (Ret < 1) return;

// various programming code

.........


EnumPorts (ImageKit Control/PrintDraw Method)

This method retrieves a list of ports

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.EnumPorts(PortNames As String)
[Visual C++] [ long = ]imagekitcontrolname.GetPrintDraw().EnumPorts(BSTR *PortNames)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.EnumPorts(ByRef PortNames As String)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.EnumPorts(ref string PortNames)

Parameters

Name | Explanation
PortNames | A string containing the retrieved port names

Return Value

The number of retrieved ports

Explanation

The EnumPorts method retrieves a list of ports. If the return value is 1 or more, then list of retrieved port names will be set in the PortNames parameter.

The PortNames string will be returned as "xxxxx,xxxxx,xxxxx,¥¥¥¥¥¥¥¥," (delimited by commas and ends with a comma).

For scripting languages and other programs that require variant types, please refer to the EnumPortsVariant method.

Visual Basic.NET

Dim Ports As String = Nothing

Dim Nums As Integer

Nums = ImageKit1.PrintDraw.EnumPorts(Ports)

If Nums = 0 Then Exit Sub

' various programming code

..........

Visual C#.NET

string Ports = null;

int Nums = ImageKit1.PrintDraw.EnumPorts(ref Ports);

if (Nums == 0) return;

// various programming code

..........


EnumPortsVariant (ImageKit Control/PrintDraw Method)

This method retrieves a list of ports.

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.EnumPortsVariant(PortNames As Variant)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.EnumPortsVariant(ByRef PortNames As Object)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.EnumPortsVariant(ref object PortNames)

Parameters

Name | Explanation
PortNames | A string containing the retrieved port names

Return Value

The number of retrieved ports

Explanation

The EnumPortsVariant method retrieves a list of ports.

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

If the return value is 1 or more, then list of retrieved port names will be set in the PortNames parameter.

The PortNames string will be returned as "xxxxx,xxxxx,xxxxx,¥¥¥¥¥¥¥¥," (delimited by commas and ends with a comma).

Also see the EnumPorts method.


EnumPrinters (ImageKit Control/PrintDraw Method)

This method lists the installed printers

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.EnumPrinters(DefaultPrinterNo As Integer)
[Visual C++] [ long = ]imagekitcontrolname.GetPrintDraw().EnumPrinters(short *DefaultPrinterNo)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.EnumPrinters(ByRef DefaultPrinterNo As Short)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.EnumPrinters(ref short DefaultPrinterNo)

Parameters

Name | Explanation
DefaultPrinterNo | The number of the default printer (from 0)

Return Value

Returns the number of printers retrieved

Explanation

The EnumPrinters method lists the installed printers. If the return value is 1 or more, the names of the retrieved printers will be set in the Printers property. The list of printers will be in the following format: "xxxxx,xxxxx,xxxxx,E.., " (delimited by commas and ends with a comma)

The DefaultPrinterNo parameter refers to the number of the default printer on the list that appears in the Printers property. The first printer on the list is referred to by the number 0.

For scripting languages and other programs that require variant types, please refer to the EnumPrintersVariant method.


EnumPrintersVariant (ImageKit Control/PrintDraw Method)

This method lists the installed printers.

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.EnumPrintersVariant(DefaultPrinterNo As Variant)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.EnumPrintersVariant(ByRef DefaultPrinterNo As Object)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.EnumPrintersVariant(ref object DefaultPrinterNo)

Parameters

Name | Explanation
DefaultPrinterNo | The number of the default printer (from 0)

Return Value

Returns the number of printers retrieved

Explanation

The EnumPrintersVariant method lists the installed printers. This method is recommended when using scripting or other languages that require variant types.

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

If the return value is 1 or more, the names of the retrieved printers will be set in the Printers property. The list of printers will be in the following format: "xxxxx,xxxxx,xxxxx,E.., " (delimited by commas and ends with a comma).

The DefaultPrinterNo parameter refers to the number of the default printer on the list that appears in the Printers property. The first printer on the list is referred to by the number 0.

Also see the EnumPrinters method.


EnumResolutions (ImageKit Control/PrintDraw Method)

This method retrieves a list of supported resolutions for the printer designated by the printer name.

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.EnumResolutions(XResolutions As Long, YResolutions As Long)
[Visual C++] [ long = ]imagekitcontrolname.GetPrintDraw().EnumResolutions(long *XResolutions, long *YResolutions)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.EnumResolutions(ByRef XResolutions As Integer, ByRef YResolutions As Integer)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.EnumResolutions(ref int XResolutions, ref int YResolutions)

Parameters

Name | Explanation
XResolutions | An array containing the list of retrieved X resolutions
YResolutions | An array containing the list of retrieved Y resolutions
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim XRes(0 To 2) As Integer, then the arguments are returned in XRes(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in XRes(0). In C#.NET, the arguments are returned in XRes[0].

Return Value

Returns the number of retrieved items. Returns 0 if unsuccessful.

Explanation

The EnumResolutions method retrieves a list of supported resolutions for the printer designated by the printer name. If you need to know the number of elements in the array, the GetArrayNum method can be used to retrieve this. The XResolutions and YResolutions parameters contains the retrieved (horizontal and vertical) resolution values in units of dots per inch (dpi)

For scripting languages, other programs that require variant types, or when using 64 bit builds in VB.NET or C#, please refer to the EnumResolutionsVariant method.

Sample code:

Visual Basic

Dim Size As Long

Dim XResolutions() As Long

Dim YResolutions() As Long

Dim Ret As Long

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(2)

If Size < 1 Then Exit Sub

ReDim XResolutions(Size)

ReDim YResolutions(Size)

Ret = ImageKit1.PrintDraw.EnumResolutions(XResolutions(0), YResolutions(0))

' various programming code

..............

Visual C++

long Size;

long *XResolutions;

long *YResolutions;

ImageKit1.GetPrintDraw().SetPrinterName("EPSON LP-8200C");

Size = ImageKit1.GetPrintDraw().GetArrayNum(2);

if (Size < 1) return;

XResolutions = (long *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

YResolutions = (long *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

__try {

ImageKit1.GetPrintDraw().EnumResolutions(XResolutions, YResolutions);

// various programming code

..............

} __finally {

HeapFree(GetProcessHeap(), 0, XResolutions);

HeapFree(GetProcessHeap(), 0, YResolutions);

}

VB.NET

Dim Size As Integer

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(2)

If Size < 1 Then Exit Sub

Dim XResolutions As Integer() = New Integer(Size - 1) {}

Dim YResolutions As Integer() = New Integer(Size - 1) {}

Ret = ImageKit1.PrintDraw.EnumResolutions(XResolutions(0), YResolutions(0))

' various programming code

..............

C#.NET

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

// When using the ANSI version, ImageKit10ALib.PrinterCapabilityConstants.ikPrinterResolution

Size = ImageKit1.PrintDraw.GetArrayNum(ImageKit10Lib.PrinterCapabilityConstants.ikPrinterResolution);

if (Size < 1) return;

int Ret;

int[] XResolutions = new int[Size];

int[] YResolutions = new int[Size];

Ret = ImageKit1.PrintDraw.EnumResolutions(ref XResolutions[0], ref YResolutions[0]);

// various programming code

..............


EnumResolutionsVariant (ImageKit Control/PrintDraw Method)

This method retrieves a list of supported resolutions for the printer designated by the printer name.

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.EnumResolutionsVariant(XResolutions As Variant, YResolutions As Variant)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.EnumResolutionsVariant(ByRef XResolutions As Object, ByRef YResolutions As Object)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.EnumResolutionsVariant(ref object XResolutions, ref object YResolutions)

Parameters

Name | Explanation
XResolutions | An array containing the list of retrieved X resolutions
YResolutions | An array containing the list of retrieved Y resolutions
* NOTE for retrieving array values: In Visual Basic / VB.NET, if Dim XRes, then the arguments are returned in XRes. In C#.NET the arguments are returned in ref XRes.

Return Value

Returns the number of retrieved items. Returns 0 if unsuccessful.

Explanation

The EnumResolutionsVariant method retrieves a list of supported resolutions for the printer designated by the printer name.

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

If you need to know the number of elements in the array, the GetArrayNum method can be used to retrieve this. The XResolutions and YResolutions parameters contains the retrieved (horizontal and vertical) resolution values in units of dots per inch (dpi)

Also see theEnumResolutions method.

Sample code:

VB.NET

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Dim XResolutions As Object = Nothing

Dim YResolutions As Object = Nothing

Ret = ImageKit1.PrintDraw.EnumResolutionsVariant(XResolutions, YResolutions)

If Ret < 1 Then Exit Sub

' various programming code

.........

C#.NET

int Ret;

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

object XResolutions = null;

object YResolutions = null;

Ret = ImageKit1.PrintDraw.EnumResolutionsVariant(ref XResolutions, ref YResolutions);

if (Ret < 1) return;

// various programming code

.........


FillRect (ImageKit Control/PrintDraw Method)

This method draws a filled rectangle in the designated object (the screen, printer, or image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.FillRect(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().FillRect(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.FillRect(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.FillRect(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10Alib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode parameter
left, top | The x, y coordinates of the top left corner of the filled rectangle
right, bottom | The x, y coordinates of the bottom right corner of the filled rectangle
DeviceMode | If 0 (ikScreen), then the output will be drawn in pixel units. If 1 (ikPrinter), the output will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the output will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FillRect method draws a filled rectangle in the designated object (the screen, printer, or image data). The (left, top), and (right, bottom) parameters are coordinates for points that specify the rectangle. The rectangle is filled by the value set in the BrushStyle property.

Note that the left and top sides are included in the filled rectangle but the right and bottom sides are not (This method can draw in the following designated objects: screen, printer, and image data).

It is recommended that the BrushColor, Transparent, and BackColor property also be set. The BackColor property is enabled when the Transparent property is false and the pen is set to draw lines other than solid lines or the brush is set to draw hatch pattern. With the FillRect method, when the Transparent property is True and a hatch pattern is selected, the spaces between the lines will be filled with the default color and will NOT be transparent. To make the space between the lines of the hatch pattern transparent, please use the Rectangle method instead.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the left, top, right, bottom parameters are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the left, top, right, bottom parameters are in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument type has changed.


FrameRect (ImageKit Control/PrintDraw Method)

This method draws the border of the specified rectangle in the designated object.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.FrameRect(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().FrameRect(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.FrameRect(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.FrameRect(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10Alib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode parameter
left, top | The x, y coordinates of the top left corner of the rectangle
right, bottom | The x, y coordinates of the bottom right corner of the rectangle
DeviceMode | If 0 (ikScreen), then the output will be drawn in pixel units. If 1 (ikPrinter), the output will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the output will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The FrameRect method draws the border of the specified rectangle in the designated object. The rectangle is specified by the left, top, right, and bottom parameters and drawn using the value of the BrushStyle property. The area inside the border of the rectangle will not be filled. (The designated object can be the screen, printer, or image data)

To use this method the BrushStyle, BrushColor, Transparent, and BackColor properties must be set. The BackColor property is enabled when the Transparent property is False and the hatch pattern brush is used. With the FrameRect method, when the Transparent property is True and a hatch pattern is selected, the spaces between the lines will be filled with the default color and will NOT be transparent. To make the space between the lines of the hatch pattern transparent, please use the Rectangle method instead.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the left, top, right, bottom parameters are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the left, top, right, bottom parameters are in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument type has changed.


GetArrayNum (ImageKit Control/PrintDraw Method)

This method retrieves the number of elements in the array that will be returned when a supported item is retrieved from the printer specified by the printer name.

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.GetArrayNum(CapNo As PrinterCapabilityConstants)
[Visual C++] [ long = ]imagekitcontrolname.GetPrintDraw().GetArrayNum(long CapNo)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.GetArrayNum(CapNo As ImageKit10(A)Lib.PrinterCapabilityConstants)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.GetArrayNum(ImageKit10(A)Lib.PrinterCapabilityConstants CapNo)

* ImageKit10Alib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
CapNo | The type of item retrieved (0: Paper size, 1: Paper tray, 2: Resolution)

The following constants can be used: (ikPrinterPaperSize = 0, ikPrinterPaperBin = 1, ikPrinterResolution = 2).

Return Value

Returns the number of retrieved items. Returns 0 if unsuccessful.

Explanation

This method retrieves the number of elements in the array returned whenever a supported item is retrieved from the printed specified by the printer name. The EnumPaperSizes, EnumPaperBins, and EnumResolutions methods pass arrays as parameters and the GetArrayNum method can be used to find out how many elements are contained in those arrays.

Sample code:

Visual Basic

Dim Size As Long

Dim XResolutions() As Long

Dim YResolutions() As Long

Dim Ret As Long

Size = ImageKit1.PrintDraw.GetArrayNum(2)

If Size < 1 Then Exit Sub

ReDim XResolutions(Size)

ReDim YResolutions(Size)

Ret = ImageKit1.PrintDraw.EnumResolutions(XResolutions(0), YResolutions(0))

' various programming code

..............

Visual C++

long Size;

long *XResolutions;

long *YResolutions;

ImageKit1.GetPrintDraw().SetPrinterName("EPSON LP-8200C");

Size = ImageKit1.GetPrintDraw().GetArrayNum(2);

if (Size < 1) return;

XResolutions = (long *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

YResolutions = (long *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(long) * Size);

__try {

ImageKit1.GetPrintDraw().EnumResolutions(XResolutions, YResolutions);

//various programming code

..............

} __finally {

HeapFree(GetProcessHeap(), 0, XResolutions);

HeapFree(GetProcessHeap(), 0, YResolutions);

}

VB.NET

Dim Size As Integer

Dim Ret As Integer

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

Size = ImageKit1.PrintDraw.GetArrayNum(2)

If Size < 1 Then Exit Sub

Dim XResolutions As Integer() = New Integer(Size - 1) {}

Dim YResolutions As Integer() = New Integer(Size - 1) {}

Ret = ImageKit1.PrintDraw.EnumResolutions(XResolutions(0), YResolutions(0))

' various programming code

..............

C#.NET

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

// When using the ANSI version, ImageKit10ALib.PrinterCapabilityConstants.ikPrinterResolution

Size = ImageKit1.PrintDraw.GetArrayNum(ImageKit10Lib.PrinterCapabilityConstants.ikPrinterResolution);

if (Size < 1) return;

int Ret;

int[] XResolutions = new int[Size];

int[] YResolutions = new int[Size];

Ret = ImageKit1.PrintDraw.EnumResolutions(ref XResolutions[0], ref YResolutions[0]);

// various programming code

..............


GetDefaultPrinter (ImageKit Control/PrintDraw Method)

This method retrieves the default printer

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.GetDefaultPrinter
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetDefaultPrinter()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetDefaultPrinter()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.GetDefaultPrinter()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetDefaultPrinter method retrieves the default printer registered in the Windows printer folder. If successful, the default printer name will be set in the PrinterName property. The default printer can also be retrieved using the EnumPrinters or the EnumPrintersVariant methods.


GetDevModeHandle (ImageKit Control/PrintDraw Method)

This method retrieves the handle of the specified printer's DEVMODE structure and DEVNAMES structure.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevModeHandle
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetDevModeHandle()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevModeHandle()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.GetDevModeHandle()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetDevModeHandle method retrieves the handle of the specified printer's DEVMODE structure and DEVNAMES structure.

To execute this method, set the PrinterName property or the PrintFileName property. (the printer file name saved by the SaveDevModeHandle or SavePrinterInfo methods). If both the PrinterName property and the PrintFileName property are set, the PrinterName takes precedence.

Examples:

Retrieving the DEVMODE handle from the printer name

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

ImageKit1.PrintDraw.PrintFileName = ""

ImageKit1.PrintDraw.GetDevModeHandle

'Enter your processing code here... ..

ImageKit1.PrintDraw.ReleaseDevModeHandle

Retrieving the DEVMODE handle from the printer settings file

ImageKit1.PrintDraw.PrinterName = ""

ImageKit1.PrintDraw.PrintFileName = "IkPrn.Ik"

ImageKit1.PrintDraw.GetDevModeHandle

'Enter your processing code here... ..

ImageKit1.PrintDraw.ReleaseDevModeHandle

If this method is successfully executed, the handle of the DEVMODE structure will be set in the DevMode property and the handle of the DEVNAMES structure will be set in the DevNames property. The DevMode property and the DevNames property are used by the PrintCreateDC method. For more information about the DEVMODE and DEVNAMES structures, please refer to WindowsAPI or related manuals.

Note: The handles of the DEVMODE and DEVNAMES structures are freed using the ReleaseDevModeHandle method.

Differences between ImageKit7/8/9

Successfully executing this method results in the DevMode property and the DevNames property values being updated.


GetDevModeInfo (ImageKit Control/PrintDraw Method)

This method retrieves printer information from the handle to the DEVMODE structure.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevModeInfo
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetDevModeInfo()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevModeInfo()
[C#.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevModeInfo()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetDevModeInfo method retrieves printer information from the handle to the DEVMODE structure. To execute this method, the DEVMODE structure handle must be set into the DevMode property by executing the GetDevModeHandle method. Once the GetDevModeInfo method has been successfully executed, the following property values will be set from the printer information: Collate, ColorMode, Copies, CustomPaperHeight, CustomPaperWidth, Duplex, Orientation, PaperBin, PaperSize, XResolution, YResolution, Zoom. Even if you do not execute this method, the printer information can still be set in the above properties by executing the GetDevModeHandle method.


GetDevNamesInfo (ImageKit Control/PrintDraw Method)

This method retrieves printer information from the handle to the DEVNAMES structure.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevNamesInfo
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetDevNamesInfo()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevNamesInfo()
[C#.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetDevNamesInfo()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetDevNamesInfo method retrieves printer information from the handle to the DEVNAMES structure. To execute this method, the DEVNAMES structure handle must be set into the DevNames property by executing the GetDevModeHandle method. If this method is successful, the PrinterName property and PortName property values will be set.

Even without executing this method, when the GetDevModeHandle method is executed, the string information will be set automatically.


GetImageFromHdc (ImageKit Control/PrintDraw Method)

This method retrieves the image from the screen device context.

[Visual Basic] [ Long = ]imagekitcontrolname.PrintDraw.GetImageFromHdc(hDC As LONG_PTR, Width As Long, Height As Long, BitCount As Integer)
[Visual C++] [ long = ]imagekitcontrolname.GetPrintDraw().GetImageFromHdc(LONG_PTR hDC, long Width, long Height, short BitCount)
[VB.NET] [ Integer = ]imagekitcontrolname.PrintDraw.GetImageFromHdc(hDC As Integer(x86) or Long(x64), Width As Integer, Height As Integer, BitCount As Short)
[C#.NET] [ int = ]imagekitcontrolname.PrintDraw.GetImageFromHdc(int(x86) or long(x64) hDC, int Width, int Height, short BitCount)

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hDC | The screen device context
Width | The width of the retrieved image (in pixels)
Height | The height of the retrieved image (in pixels)
BitCount | The number of bits per pixels in the image you want to create

Return Value

Returns the image handle of the raster image if successful, returns NULL (0) when not successful.

Explanation

The GetImageFromHdc method retrieves the image from the screen device context and returns it to the image data.

Note: Some components such as a PictureBox, do not always retrieve the height and width of the actual image. In such cases there can be problems with the GetImageFromHdc method retrieving the image from the screen device context.

Differences between the ImageKit7/8

The hDC argument type has changed.


GetPaperSize (ImageKit Control/PrintDraw Method)

This method retrieves the paper size and specified printing area from the printer device context.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.GetPaperSize(hDC As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, Width As Long, Height As Long, UnitMode As DeviceUnitModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetPaperSize(LONG_PTR hDC, long *left, long *top, long *right, long *bottom, long *Width, long *Height, long UnitMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetPaperSize(hDC As Integer(x86) or Long(x64), ByRef left As Integer, ByRef top As Integer, ByRef right As Integer, ByRef bottom As Integer, ByRef Width As Integer, ByRef Height As Integer, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.GetPaperSize(int(x86) or long(x64) hDC, ref int left, ref int top, ref int right, ref int bottom, ref int Width, ref int Height, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hDC | Printer device context
left,top | Retrieves the location of the top left corner of the specified printing area
right,bottom | Retrieves the location of the bottom right corner of the specified printing area
Width | Retrieves the width of the paper
Height | Retrieves the height of the paper
UnitMode | The units of measure of the retrieved values (0: pixels, 1: 0.1mm)

The following constants can be used: (ikPrinterPixel = 0, ikPrinterMM = 1).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The GetPaperSize method retrieves the paper size and specified printing area from the printer device context. When the UnitMode parameter is 0, the left, top, right, bottom,Width, and Height parameters will be in pixel units. When the UnitMode parameter is 1, the left, top, right, bottom,Width, and Height parameters will be in 0.1mm units.

For scripting languages, other programs that require variant types, or when using 64 bit builds in VB.NET or C#, please refer to the GetPaperSizeVariant method.

Differences between the ImageKit7/8

The hDC argument type has changed.


GetPaperSizeVariant (ImageKit Control/PrintDraw Method)

This method retrieves the paper size and specified printing area from the printer device context.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.GetPaperSizeVariant(hDC As LONG_PTR, left As Variant, top As Variant, right As Variant, bottom As Variant, Width As Variant, Height As Variant, UnitMode As DeviceUnitModeConstants)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetPaperSizeVariant(hDC As Integer(x86) or Long(x64), ByRef left As Object, ByRef top As Object, ByRef right As Object, ByRef bottom As Object, ByRef Width As Object, ByRef Height As Object, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.GetPaperSizeVariant(int(x86) or long(x64) hDC, ref object left, ref object top, ref object right, ref object bottom, ref object Width, ref object Height, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hDC | Printer device context
left,top | Retrieves the location of the top left corner of the specified printing area
right,bottom | Retrieves the location of the bottom right corner of the specified printing area
Width | Retrieves the width of the paper
Height | Retrieves the height of the paper
UnitMode | The units of measure of the retrieved values (0: pixels, 1: 0.1mm)

The following constants can be used: (ikPrinterPixel = 0, ikPrinterMM = 1).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The GetPaperSizeVariant method retrieves the paper size and specified printing area from the printer device context.

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

When the UnitMode parameter is 0, the left, top, right, bottom, Width, and Height parameters will be in pixel units. When the UnitMode parameter is 1, the left, top, right, bottom, Width, and Height parameters will be in 0.1mm units.

Also see the GetPaperSize method.

Differences between the ImageKit7/8

The hDC argument type has changed.


GetPixel (ImageKit Control/PrintDraw Method)

This method retrieves the RGB values from a specified pixel in the designated object. (The screen or the image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.GetPixel(DeviceValue As LONG_PTR, x As Long, y As Long, Red As Integer, Green As Integer, Blue As Integer, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetPixel(LONG_PTR DeviceValue, long x, long y, short *Red, short *Green, short *Blue, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetPixel(DeviceValue As Integer(x86) or Long(x64), x As Integer, y As Integer, ByRef Red As Short, ByRef Green As Short, ByRef Blue As Short, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.GetPixel(int(x86) or long(x64) DeviceValue, int x, int y, ref short Red, ref short Green, ref short Blue, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle)
x,y | The x,y coordinates of the pixel
Red | The red component of the RGB value
Green | The green component of the RGB value
Blue | The blue component of the RGB value
DeviceMode | The designated object (0: Screen, 2: Image data)

The following constants can be used: (ikScreen = 0, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The GetPixel method retrieves the RGB values from the pixel specified by the x and y parameters. This method is enabled when the DeviceMode parameter is 0 or 2. In other words, this method can only be used with the screen or the image data but not with the printer. Please set the x and y parameters in pixel units.

Note: With the Visual Basic PictureBox, the AutoRedraw property must be set to True.

For scripting languages, other programs that require variant types, or when using 64 bit builds in VB.NET or C#, please refer to the GetPixelVariant method.

Differences between the ImageKit7/8

The hDC argument type has changed.


GetPixelVariant (ImageKit Control/PrintDraw Method)

This method retrieves the RGB values from a specified pixel in the designated object. (The screen or the image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.GetPixelVariant(DeviceValue As Long, x As LONG_PTR, y As Long, Red As Variant, Green As Variant, Blue As Variant, DeviceMode As OutPutDeviceModeConstants)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetPixelVariant(DeviceValue As Integer(x86) or Long(x64), x As Integer, y As Integer, ByRef Red As Object, ByRef Green As Object, ByRef Blue As Object, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.GetPixelVariant(int(x86) or long(x64) DeviceValue, int x, int y, ref object Red, ref object Green, ref object Blue, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImgHandle)
x,y | The x,y coordinates of the pixel
Red | The red component of the RGB value
Green | The green component of the RGB value
Blue | The blue component of the RGB value
DeviceMode | The designated object (0: Screen, 2: Image data)

The following constants can be used: (ikScreen = 0, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The GetPixelVariant method retrieves the RGB values from the pixel specified by the x and y parameters.

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

This method is enabled when the DeviceMode parameter is 0 or 2. In other words, this method can only be used with the screen or the image data but not with the printer. Please set the x and y parameters in pixel units.

Note: With the Visual Basic PictureBox, the AutoRedraw property must be set to True.

Also see the GetPixel method.

Differences between the ImageKit7/8

The DeviceValue argument type has changed.


GetPrinterPort (ImageKit Control/PrintDraw Method)

This method retrieves the printer port.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.GetPrinterPort
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetPrinterPort()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetPrinterPort()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.GetPrinterPort()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetPrinterPort method retrieves the printer port. Before executing this method, the printer name must be set in the PrinterName property. If the GetPrinterPort method is successful, the port name will be set in the PortName property. If printers are using more than one port, the port names will be separated with a comma.

Example: "LPT1:,LPT2:"


GetTextExtent (ImageKit Control/PrintDraw Method)

ImageKit10 ActiveX

GetTextExtent (ImageKit Control/ PrintDraw Method)

This method retrieves the height and width of the text from the text information.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.GetTextExtent(hDC As LONG_PTR, Width As Long, Height As Long, UnitMode As DeviceUnitModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().GetTextExtent(LONG_PTR hDC, long *Width, long *Height, long UnitMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetTextExtent(hDC As Integer(x86) or Long(x64), ByRef Width As Integer, ByRef Height As Integer, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.GetTextExtent(int(x86) or long(x64) hDC, ref int Width, ref int Height, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hDC | The device context
Width | Retrieves the width of the text
Height | Retrieves the height of the text
UnitMode | The units of measure of the retrieved values (0: pixels, 1: 0.1mm)

The following constants can be used: (ikPrinterPixel = 0, ikPrinterMM = 1).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The GetTextExtent method retrieves the height and width of the text from the text information (single line only). To execute this method the CharSet, FontName, FontSize, Direction, CharAngle, and RotateString properties should be set. If the CharExtra property value is 1 or more, the values returned in the Width and Height parameters will reflect the additional space between characters. When the RotateString property is False, regardless of the direction of the text or the rotation of the characters, the Width parameter refers to the horizontal size of the text and the Height parameter refers to the vertical size of the text. When the RotateString property is True, the Width parameter refers to the size of the text in the direction that it is drawn and the Height parameter refers to the size of the text in the vertical direction. When the RotateString is False, the CharAngle property is enabled only for values of 0, 90, 180, and 270 degrees.

For scripting languages, other programs that require variant types, or when using 64 bit builds in VB.NET or C#, please refer to the GetTextExtentVariant method.

If the UnitMode parameter is 0 then the Width and Height parameters will be in pixel units.

If the UnitMode parameter is 1 then the Width and Height parameters will be in 0.1mm units.

Differences between the ImageKit7/8

The hDC argument type has changed.


GetTextExtentVariant (ImageKit Control/PrintDraw Method)

ImageKit10 ActiveX

GetTextExtentVariant (ImageKit Control/ PrintDraw Method)

This method retrieves the height and width of the text from the text information. This method is recommended when using scripting or other languages that require variant types.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.GetTextExtentVariant(hDC As LONG_PTR, Width As Variant, Height As Variant, UnitMode As DeviceUnitModeConstants)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.GetTextExtentVariant(hDC As Integer(x86) or Long(x64), ByRef Width As Object, ByRef Height As Object, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.GetTextExtentVariant(int(x86) or long(x64) hDC, ref object Width, ref object Height, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hDC | The device context
Width | Retrieves the width of the text
Height | Retrieves the height of the text
UnitMode | The units of measure of the retrieved values (0: pixels, 1: 0.1mm)

The following constants can be used: (ikPrinterPixel = 0, ikPrinterMM = 1).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The GetTextExtentVariant method retrieves the height and width of the text from the text information (single line only).

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

To execute this method the CharSet, FontName, FontSize, Direction, CharAngle, and RotateString properties should be set. If the CharExtra property value is 1 or more, the values returned in the Width and Height parameters will reflect the additional space between characters. When the RotateString property is False, regardless of the direction of the text or the rotation of the characters, the Width parameter refers to the horizontal size of the text and the Height parameter refers to the vertical size of the text. When the RotateString property is True, the Width parameter refers to the size of the text in the direction that it is drawn and the Height parameter refers to the size of the text in the vertical direction. When the RotateString is False, the CharAngle property is enabled only for values of 0, 90, 180, and 270 degrees.

Also see the GetTextExtent method.

If the UnitMode parameter is 0 then the Width and Height parameters will be in pixel units.

If the UnitMode parameter is 1 then the Width and Height parameters will be in 0.1mm units.

Differences between the ImageKit7/8

The hDC argument type has changed.


ImageOut (ImageKit Control/PrintDraw Method)

ImageKit10 ActiveX

ImageOut (ImageKit Control/ PrintDraw Method)

This method displays the image in the device context. (the screen or the printer).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.ImageOut(hDC As LONG_PTR, Handle As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, Aspect As Boolean, DXFBlack As Boolean, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().ImageOut(LONG_PTR hDC, LONG_PTR Handle, long left, long top, long right, long bottom, BOOL Aspect, BOOL DXFBlack, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.ImageOut(hDC As Integer(x86) or Long(x64), Handle As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, Aspect As Boolean, DXFBlack As Boolean, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.ImageOut(int(x86) or long(x64) hDC, int(x86) or long(x64) Handle, int left, int top, int right, int bottom, bool Aspect, bool DXFBlack As, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hDC | The device context
Handle | The image handle of the raster or vector image
left,top | The x,y coordinates of the top left corner of the rectangle in which the image is drawn
right,bottom | The x,y coordinates of the bottom right corner of the rectangle in which the image is drawn
Aspect | Maintains the height to width ratio [True (nonzero): Ratio maintained, False (0): Ratio not maintained]
DXFBlack | In DXF images only, this sets black to white and white to black. [True (nonzero): Black and white are exchanged, False (0): Black and white are not exchanged]
DeviceMode | If 0 (ikScreen), then the output will be drawn in pixel units. If 1 (ikPrinter), the output will be drawn in 0.1mm units.

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful. Returns False (0) if the cancel button is clicked in the "Print" dialog box.

Explanation

The ImageOut method displays the image in the device context. (the screen or the printer). The left, top, right, and bottom parameters determine the location of the rectangle in which the image is displayed. If the image does not fit within the specified rectangle, it will be scaled to fit. If the Aspect parameter is False, the image will be displayed within the specified rectangle as it is, i.e. the height to width ratio will not be maintained. If the Aspect parameter is True, the image will be displayed within the specified rectangle with the height to width ratio maintained.

If the DeviceMode parameter is 0 then the left, top, right, bottom parameters will be in pixel units.

If the DeviceMode parameter is 1 then the left, top, right, bottom parameters will be in 0.1mm units.

Differences between the ImageKit7/8

The hDC and Handle arguments' type has changed.


ImageOutToHwnd (ImageKit Control/PrintDraw Method)

ImageKit10 ActiveX

ImageOutToHwnd (ImageKit Control/ PrintDraw Method)

This method displays the image in a window using the window handle.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.ImageOutToHwnd(hWnd As LONG_PTR, Handle As LONG_PTR, Color As OLE_COLOR, Aspect As Boolean, DXFBlack As Boolean)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().ImageOutToHwnd(LONG_PTR hWnd, LONG_PTR Handle, unsigned long Color, BOOL Aspect, BOOL DXFBlack)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.ImageOutToHwnd(hWnd As Integer(x86) or Long(x64), Handle As Integer(x86) or Long(x64), Color As UInteger, Aspect As Boolean, DXFBlack As Boolean)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.ImageOutToHwnd(int(x86) or long(x64) hWnd, int(x86) or long(x64) Handle, uint Color, bool Aspect, bool DXFBlack)

*(x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hWnd | The window handle
Handle | The image handle of the raster or vector image
Color | Sets the background color of the window
Aspect | Maintains the height to width ratio [True (nonzero): Ratio maintained, False (0): Ratio not maintained]
DXFBlack | In DXF images only, this sets black to white and white to black. [True (nonzero): Black and white are exchanged, False (0): Black and white are not exchanged]

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The ImageOutToHwnd method displays the image in a window using the window handle. If the image does not fit within the window's canvas the image will be scaled to fit. If the Aspect parameter is False, the image will be displayed within the window canvas as it is, i.e. the height to width ratio will not be maintained. If the Aspect parameter is True, the image will be displayed within the window canvas with the height to width ratio maintained. To set the background color of the window, enter the appropriate RGB (red, green, blue) values in the Color parameter.

This method can draw in the following designated objects: screen only.

Differences between the ImageKit7/8

The hWnd, Handle, and Color arguments' type has changed.


Line (ImageKit Control/PrintDraw Method)

ImageKit10 ActiveX

Line (ImageKit Control/ PrintDraw Method)

This method draws a line in the designated object (the screen, printer, or image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.Line(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().Line(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.Line(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.Line(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle)
left,top | x and y coordinates of the starting point of the line
right,bottom | x and y coordinates of the ending point of the line
DeviceMode | If 0 (ikScreen), then the line will be drawn in pixel units. If 1 (ikPrinter), the line will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the line will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Line method draws a line in the designated object (the screen, printer, or image data). The line is drawn from the top, left coordinates (starting point) to the bottom right coordinates (ending point). Note: The ending point is not included in the line. This method can draw in the following designated objects: screen, printer, and image data. The line is drawn from the value set in the PenStyle property. This property must be set. When drawing a line, it is recommended that the PenWidth , PenMode, PenColor, Transparent, and BackColor properties also be set. The BackColor property is enabled when the Transparent property is False and the pen is solid.

If the DeviceMode parameter is 0 or 2 then the left, top, right, bottom parameters will be in pixel units.

If the DeviceMode parameter is 1 then the left, top, right, bottom parameters will be in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


MeasureString (ImageKit Control/PrintDraw Method)

This method uses GDI+ functionality to retrieve the height and width of text from text information.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.MeasureString(hDC As LONG_PTR, AreaWidth As Long, AreaHeight As Long, Width As Single, Height As Single, charactersFitted As Long, linesFilled As Long, FormatFlags As StringFormatFlagsConstants, UnitMode As DeviceUnitModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().MeasureString(LONG_PTR hDC, long AreaWidth, long AreaHeight, float *Width, float *Height, long *charactersFitted, long *linesFilled, long FormatFlags, long UnitMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.MeasureString(hDC As Integer(x86) or Long(x64), AreaWidth As Integer, AreaHeight As Integer, ByRef Width As Single, ByRef Height As Single, ByRef charactersFitted As Integer, ByRef linesFilled As Integer, FormatFlags As ImageKit10(A)Lib.StringFormatFlagsConstants, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.MeasureString(int(x86) or long(x64) hDC, int AreaWidth, int AreaHeight, ref float Width, ref float Height, ref int charactersFitted, ref int linesFilled, ImageKit10(A)Lib.StringFormatFlagsConstants FormatFlags, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hDC | The device context
AreaWidth | The maximum width (from 0)
AreaHeight | The maximum height (from 0)
Width | Retrieves the width of the text
Height | Retrieves the height of the text
charactersFitted | The number of characters in the retrieved text
linesFilled | The number of lines in the retrieved text
FormatFlags | The string format information (default is 0)
UnitMode | Units of measurement (0: pixels, 1: 0.1mm)

The following constants can be used: (ikPrinterPixel = 0, ikPrinterMM = 1).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The MeasureString method uses GDI+ functionality to retrieve the height and width of text from text information. To retrieve the height and width of the text set in the Text property, the following properties should be set: FontName, FontSize, HCentering, VCentering, HotkeyPrefix, Text. If 0 is set in either the AreaWidth or AreaHeight parameters, the height and width of the whole text will be retrieved. However if the AreaWidth and AreaHeight parameters contain values other than 0, then only the height and width of the text contained within that area will be retrieved. The charactersFitted and linesFilled work in the same way. If 0 is set in either the AreaWidth or AreaHeight parameters, then the number of characters or the number of lines in the whole text will be retrieved and returned in the charactersFitted and linesFilled parameters. However if the AreaWidth and AreaHeight parameters contain values other than 0, then the values in the charactersFitted and linesFilled parameters will relate only to the text contained within the area defined by the AreaWidth and AreaHeight parameters.

For scripting languages, other programs that require variant types, or when using 64 bit builds in VB.NET or C#, please refer to the MeasureStringVariant method.

If the UnitMode parameter is 0 then the AreaWidth, AreaHeight, Width, Height parameters are in pixel units.

If the UnitMode parameter is 1 then AreaWidth, AreaHeight, Width, Height parameters are in 0.1mm units.

String Format info

Value | Explanation
0x00000001 | Text is displayed from right to left
0x00000002 | Text is vertically aligned.
0x00000004 | Parts of characters are allowed to overhang the string's layout rectangle. By default, characters are repositioned to avoid any overhang.
0x00000020 | Control characters such as the left-to-right mark are shown in the output with a representative glyph.
0x00000400 | Fallback to alternate fonts for characters not supported in the requested font is disabled. Any missing characters are displayed with the fonts missing glyph, usually an open square.
0x00000800 | Includes the trailing space at the end of each line. Set this flag to include that space in measurement.
0x00001000 | Text wrapping between lines when formatting within a rectangle is disabled. This flag is implied when a point is passed instead of a rectangle, or when the specified rectangle has a zero line length.
0x00002000 | Only entire lines are laid out in the formatting rectangle. By default layout continues until the end of the text, or until no more lines are visible as a result of clipping, whichever comes first. Note that the default settings allow the last line to be partially obscured by a formatting rectangle that is not a whole multiple of the line height. To ensure that only whole lines are seen, specify this value and be careful to provide a formatting rectangle at least as tall as the height of one line.
0x00004000 | Overhanging parts of glyphs, and unwrapped text reaching outside the formatting rectangle are allowed to show. By default all text and glyph parts reaching outside the formatting rectangle are clipped.

The values of the MeasureString method in Visual Basic and .NET should start with &H instead of 0x.

In Visual Basic the following constants can be used: (ikDirectionRightToLeft = 0x00000001, ikDirectionVertical = 0x00000002, ikNoFitBlackBox = 0x00000004, ikDisplayFormatControl = 0x00000020, ikNoFontFallback = 0x00000400, ikMeasureTrailingSpaces = 0x00000800, ikNoWrap = 0x00001000, ikLineLimit = 0x00002000, ikNoClip = 0x00004000).

Sample code:

Visual Basic

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Long

Dim linesFilled As Long

Dim TxRight As Long

Dim TxBottom As Long

ImageKit1.PrintDraw.FontSize = 20

ImageKit1.PrintDraw.FontName = "Arial"

ImageKit1.PrintDraw.HotkeyPrefix = 0

ImageKit1.PrintDraw.Text = "Text"

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, 0)

TxRight = 10 + CLng(Str_Width) - 1

TxBottom = 10 + CLng(Str_Height) - 1

ImageKit1.PrintDraw.CharAngle = 0

ImageKit1.PrintDraw.TextColor1 = vbRed

ImageKit1.PrintDraw.Alpha1 = 255

ImageKit1.PrintDraw.TextColor2 = vbWhite

ImageKit1.PrintDraw.Alpha2 = 255

'use the gradiation

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, TxRight, TxBottom, 4, 0, 0, 0, 0, 0)

Visual C++

float Str_Width, Str_Height;

long charactersFitted, linesFilled, right, bottom;

ImageKit1.GetPrintDraw().ClearProperty();

ImageKit1.GetPrintDraw().SetFontSize(20);

ImageKit1.GetPrintDraw().SetFontName("Arial");

ImageKit1.GetPrintDraw().SetHotkeyPrefix(0);

ImageKit1.GetPrintDraw().SetText("Text");

ImageKit1.GetPrintDraw().MeasureString(hDC, 0, 0, &Str_Width, &Str_Height, &charactersFitted, &linesFilled, 0, 0);

right = 10 + (long)Str_Width - 1;

bottom = 10 + (long)Str_Height - 1;

ImageKit1.GetPrintDraw().SetCharAngle(0);

ImageKit1.GetPrintDraw().SetTextColor1(RGB(255, 0, 0));

ImageKit1.GetPrintDraw().SetAlpha1(255);

ImageKit1.GetPrintDraw().SetTextColor2(RGB(255, 255, 255));

ImageKit1.GetPrintDraw().SetAlpha2(255);

//use the gradiation

ImageKit1.GetPrintDraw().DrawString(hDC, 10, 10, right, bottom, 4, 0, 0, 0, 0, 0);

VB.NET

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Integer

Dim linesFilled As Integer

Dim TxRight As Integer

Dim TxBottom As Integer

ImageKit1.PrintDraw.FontSize = 20

ImageKit1.PrintDraw.FontName = "Arial"

ImageKit1.PrintDraw.HotkeyPrefix = 0

ImageKit1.PrintDraw.Text = "Text"

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, 0)

TxRight = 10 + CLng(Str_Width) - 1

TxBottom = 10 + CLng(Str_Height) - 1

ImageKit1.PrintDraw.CharAngle = 0

ImageKit1.PrintDraw.TextColor1 = ColorTranslator.ToWin32(Color.Red)

ImageKit1.PrintDraw.Alpha1 = 255

ImageKit1.PrintDraw.TextColor2 = ColorTranslator.ToWin32(Color.White)

ImageKit1.PrintDraw.Alpha2 = 255

'Use gradiation

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, TxRight, TxBottom, 4, 0, 0, 0, 0, 0)

VB.NET

float Str_Width, Str_Height;

int charactersFitted, linesFilled, right, bottom;

Str_Width = Str_Height = 0;

charactersFitted = linesFilled = 0;

ImageKit1.PrintDraw.FontSize = 20;

ImageKit1.PrintDraw.FontName = "Arial";

ImageKit1.PrintDraw.HotkeyPrefix = 0;

ImageKit1.PrintDraw.Text = "Text";

ImageKit1.PrintDraw.MeasureString(hDC, 0, 0, ref Str_Width, ref Str_Height, ref charactersFitted, ref linesFilled, 0, 0);

right = 10 + (int)Str_Width - 1;

bottom = 10 + (int)Str_Height - 1;

ImageKit1.PrintDraw.CharAngle = 0;

ImageKit1.PrintDraw.TextColor1 = (uint)ColorTranslator.ToWin32(Color.Red);

ImageKit1.PrintDraw.Alpha1 = 255;

ImageKit1.PrintDraw.TextColor2 = (uint)ColorTranslator.ToWin32(Color.White);

ImageKit1.PrintDraw.Alpha2 = 255;

//Use gradiation

ImageKit1.PrintDraw.DrawString(hDC, 10, 10, right, bottom, 4, 0, 0, 0, 0, 0);

Differences between the ImageKit7/8

The hDC argument's type has changed.


MeasureStringVariant (ImageKit Control/PrintDraw Method)

This method uses GDI+ functionality to retrieve the height and width of text from text information. This method is recommended when using scripting or other languages that require variant types.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.MeasureStringVariant(hDC As LONG_PTR, AreaWidth As Long, AreaHeight As Long, Width As Variant, Height As Variant, charactersFitted As Variant, linesFilled As Variant, FormatFlags As StringFormatFlagsConstants, UnitMode As DeviceUnitModeConstants)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.MeasureStringVariant(hDC As Integer(x86) or Long(x64), AreaWidth As Integer, AreaHeight As Integer, ByRef Width As Object, ByRef Height As Object, ByRef charactersFitted As Object, ByRef linesFilled As Object, FormatFlags As ImageKit10(A)Lib.StringFormatFlagsConstants, UnitMode As ImageKit10(A)Lib.DeviceUnitModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.MeasureStringVariant(int(x86) or long(x64) hDC, int AreaWidth, int AreaHeight, ref object Width, ref object Height, ref object charactersFitted, ref object linesFilled, ImageKit10(A)Lib.StringFormatFlagsConstants FormatFlags, ImageKit10(A)Lib.DeviceUnitModeConstants UnitMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
hDC | The device context
AreaWidth | The maximum width (from 0)
AreaHeight | The maximum height (from 0)
Width | Retrieves the width of the text
Height | Retrieves the height of the text
charactersFitted | The number of characters in the retrieved text
linesFilled | The number of lines in the retrieved text
FormatFlags | The string format information (default is 0)
UnitMode | Units of measurement (0: pixels, 1: 0.1mm)

The following constants can be used: (ikPrinterPixel = 0, ikPrinterMM = 1).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The MeasureStringVariant method uses GDI+ functionality to retrieve the height and width of text from text information.

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

To retrieve the height and width of the text set in the Text property, the following properties should be set: FontName, FontSize, HCentering, VCentering, HotkeyPrefix, Text. If 0 is set in either the AreaWidth or AreaHeight parameters, the height and width of the whole text will be retrieved. However if the AreaWidth and AreaHeight parameters contain values other than 0, then only the height and width of the text contained within that area will be retrieved. The charactersFitted and linesFilled work in the same way. If 0 is set in either the AreaWidth or AreaHeight parameters, then the number of characters or the number of lines in the whole text will be retrieved and returned in the charactersFitted and linesFilled parameters. However if the AreaWidth and AreaHeight parameters contain values other than 0, then the values in the charactersFitted and linesFilled parameters will relate only to the text contained within the area defined by the AreaWidth and AreaHeight parameters.

Also see the MeasureStringVariant method.

If the UnitMode parameter is 0 then the AreaWidth, AreaHeight, Width, Height parameters are in pixel units.

If the UnitMode parameter is 1 then AreaWidth, AreaHeight, Width, Height parameters are in 0.1mm units.

String Format info

Value | Explanation
0x00000001 | Text is displayed from right to left
0x00000002 | Text is vertically aligned.
0x00000004 | Parts of characters are allowed to overhang the string's layout rectangle. By default, characters are repositioned to avoid any overhang.
0x00000020 | Control characters such as the left-to-right mark are shown in the output with a representative glyph.
0x00000400 | Fallback to alternate fonts for characters not supported in the requested font is disabled. Any missing characters are displayed with the fonts missing glyph, usually an open square.
0x00000800 | Includes the trailing space at the end of each line. Set this flag to include that space in measurement.
0x00001000 | Text wrapping between lines when formatting within a rectangle is disabled. This flag is implied when a point is passed instead of a rectangle, or when the specified rectangle has a zero line length.
0x00002000 | Only entire lines are laid out in the formatting rectangle. By default layout continues until the end of the text, or until no more lines are visible as a result of clipping, whichever comes first. Note that the default settings allow the last line to be partially obscured by a formatting rectangle that is not a whole multiple of the line height. To ensure that only whole lines are seen, specify this value and be careful to provide a formatting rectangle at least as tall as the height of one line.
0x00004000 | Overhanging parts of glyphs, and unwrapped text reaching outside the formatting rectangle are allowed to show. By default all text and glyph parts reaching outside the formatting rectangle are clipped.

The values of the MeasureStringVisual method in Visual Basic and .NET should start with &H instead of 0x.

The following constants can be used: (ikDirectionRightToLeft = 0x00000001, ikDirectionVertical = 0x00000002, ikNoFitBlackBox = 0x00000004, ikDisplayFormatControl = 0x00000020, ikNoFontFallback = 0x00000400, ikMeasureTrailingSpaces = 0x00000800, ikNoWrap = 0x00001000, ikLineLimit = 0x00002000, ikNoClip = 0x00004000).

Differences between the ImageKit7/8

The hDC argument's type has changed.


Paint (ImageKit Control/PrintDraw Method)

Starting from a specified point in the designated object, this method can fill an existing color with a different color. It can also use an existing color as a boundary and paint all other colors inside (or outside) that boundary with a different color.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.Paint(DeviceValue As LONG_PTR, x As Long, y As Long, FColor As Long, TColor As Long, PaintMode As PaintModeConstants, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().Paint(LONG_PTR DeviceValue, long x, long y, unsigned long FColor, unsigned long TColor, long PaintMode, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.Paint(DeviceValue As Integer(x86) or Long(x64), x As Integer, y As Integer, FColor As UInteger, TColor As UInteger, PaintMode As ImageKit10(A)Lib.PaintModeConstants, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.Paint(int(x86) or long(x64) DeviceValue, int x, int y, uint FColor, uint TColor, ImageKit10(A)Lib.PaintModeConstants PaintMode, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode
x,y | The x and y coordinates of the point
FColor | The color that is replaced or the color that defines the area to be filled by Tcolor
TColor | The color that replaces FColor
PaintMode | The mode used to paint (either Border or Surface)
DeviceMode | If 0 (ikScreen), then the x,y parameters will be in pixel units. If 1 (ikPrinter), the x,y parameters will be in 0.1mm units. If 2 (ikMemoryHandle), the x,y parameters will be in pixel units and painted to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

Starting from a specified point in the designated object, the Paint method can fill an existing color with a different color. It can also use an existing color as a boundary and paint all other colors inside (or outside) that boundary with a different color.

When the PaintMode is 0: (Border)

Starting from the coordinates specified by the x and y parameters, the Paint method uses the FColor as a boundary and fills the area inside (or outside) that boundary with the TColor.

When the PaintMode is 1: (Surface)

Starting from the coordinates specified by the x and y parameters, the Paint method fills the FColor area with the Tcolor.

The following constants can be used: (ikBorder = 0, ikSurface = 1).

The FColor and TColor parameters can be set using RGB(red,green,blue) values.

If the DeviceMode parameter is 0 or 2 then the x and y parameters are in pixel units.

If the DeviceMode parameter is 1 then x and y parameters are in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue, FColor, and TColor arguments' type has changed.


Pie (ImageKit Control/PrintDraw Method)

ImageKit10 ActiveX

Pie (ImageKit Control/ PrintDraw Method)

This method draws a pie shaped figure in the designated object (the screen, printer, or image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.Pie(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, x1 As Long, y1 As Long, x2 As Long, y2 As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().Pie(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long x1, long y1, long x2, long y2, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.Pie(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.Pie(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, int x1, int y1, int x2, int y2, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode
left,top | The x, y coordinates of the top left corner of the area bounding the pie shape
right,bottom | The x, y coordinates of the bottom right corner of the area bounding the pie shape
x1,y1 | x and y coordinates of the starting point of the pie shape
x2,y2 | x and y coordinates of the ending point of the pie shape
DeviceMode | If 0 (ikScreen), then the pie will be drawn in pixel units. If 1 (ikPrinter), the pie will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the pie will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Pie method draws a pie shaped figure in the designated object. This method draws part of an ellipse and two edges that extend from the ends of the arc to the center point of the bounding rectangle to complete the pie shape. (See the Arc method)

The outline of the pie shape is drawn from the value set in the PenStyle property and the pie shape is filled by the value set in the BrushStyle property. When drawing a pie shape, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, Transparent, and BackColor properties also be set. The BackColor property is enabled when the Transparent property is False and the pen is set to draw lines other than solid lines or the brush is set to hatch pattern.

If the DeviceMode parameter is 0 or 2 then the left, top, right, bottom, x1, y1, x2, y2 parameters will be in pixel units.

If the DeviceMode parameter is 1 then the left, top, right, bottom, x1, y1, x2, y2 parameters will be in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


PolyBezier (ImageKit Control/PrintDraw Method)

This method draws a bezier curve in the designated object (the screen, printer, or image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PolyBezier(DeviceValue As LONG_PTR, x As Long, y As Long, Points As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().PolyBezier(LONG_PTR DeviceValue, long *x, long *y, long Points, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PolyBezier(DeviceValue As Integer(x86) or Long(x64), x As Integer, y As Integer, Points As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PolyBezier(int(x86) or long(x64) DeviceValue, int x, int y, int Points, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode
x,y | The array of x,y coordinates that specifies the polygon
Points | The number of points from the x,y arrays (only PolyBezier)
DeviceMode | If 0 (ikScreen), then the bezier curve will be drawn in pixel units. If 1 (ikPrinter), the bezier curve will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the bezier curve will be drawn (in pixel units) to the image data according to the DeviceValue parameter
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Integer, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The PolyBezier method draws a bezier curve in the designated object. The initial bezier curve consists of 4 points, a start point, 2 control points, and an endpoint. Thereafter the bezier curve consists of 3 points (the control points and endpoint).

To execute this method, the following properties should be set PenWidth, PenStyle, PenMode, PenColor, Transparent, and BackColor. The BackColor property is enabled when the Transparent property is False and the pen is set to draw solid lines.

The value contained in the Points parameter must be (3 X the number of beziers) + a start point

For scripting languages, other programs that require variant types, or when using 64 bit builds in VB.NET or C#, please refer to the PolyBezierVariant method.

If the DeviceMode parameter is 0 (ikScreen) or 2 (ikMemoryHandle) then x and y parameters are in pixel units.

If the DeviceMode parameter is 1 (ikPrinter) then x and y parameters are in 0.1mm units.

Sample code:

Visual Basic

Dim Ret As Boolean

Dim CurveX(3) As Long

Dim CurveY(3) As Long

CurveX(0) = 10: CurveY(0) = 100

CurveX(1) = 50: CurveY(1) = 50

CurveX(2) = 100: CurveY(2) = 150

CurveX(3) = 150: CurveY(3) = 100

ImageKit1.PrintDraw.ClearProperty

ImageKit1.PrintDraw.PenColor = vbGreen

ImageKit1.PrintDraw.PenStyle = 1

ImageKit1.PrintDraw.PenWidth = 15

Ret = ImageKit1.PrintDraw.PolyBezier(hDC, CurveX(0), CurveY(0), 4, 0)

Visual C++

long CurveX[4], CurveY[4];

CurveX[0] = 10; CurveY[0] = 100;

CurveX[1] = 50; CurveY[1] = 50;

CurveX[2] = 100; CurveY[2] = 150;

CurveX[3] = 150; CurveY[3] = 100;

ImageKit1.GetPrintDraw().ClearProperty();

ImageKit1.GetPrintDraw().SetPenColor(RGB(0, 0, 255));

ImageKit1.GetPrintDraw().SetPenStyle(1);

ImageKit1.GetPrintDraw().SetPenWidth(15);

ImageKit1.GetPrintDraw().PolyBezier(hDC, CurveX, CurveY, 4, 0);

VB.NET

Dim Ret As Boolean

Dim CurveX(3) As Integer

Dim CurveY(3) As Integer

CurveX(0) = 10: CurveY(0) = 100

CurveX(1) = 50: CurveY(1) = 50

CurveX(2) = 100: CurveY(2) = 150

CurveX(3) = 150: CurveY(3) = 100

ImageKit1.PrintDraw.ClearProperty()

ImageKit1.PrintDraw.PenColor = ColorTranslator.ToWin32(Color.Green)

ImageKit1.PrintDraw.PenStyle = 1

ImageKit1.PrintDraw.PenWidth = 15

Ret = ImageKit1.PrintDraw.PolyBezier(hDC, CurveX(0), CurveY(0), 4, 0)

C#.NET

bool Ret;

int[] CurveX = new int[4];

int[] CurveY = new int[4];

CurveX[0] = 10; CurveY[0] = 100;

CurveX[1] = 50; CurveY[1] = 50;

CurveX[2] = 100; CurveY[2] = 150;

CurveX[3] = 150; CurveY[3] = 100;

ImageKit1.PrintDraw.ClearProperty();

ImageKit1.PrintDraw.PenColor = (uint)ColorTranslator.ToWin32(Color.Green);

ImageKit1.PrintDraw.PenStyle = ImageKit10Lib.PenStyleConstants.ikPenSolid;

ImageKit1.PrintDraw.PenWidth = 15;

Ret = ImageKit1.PrintDraw.PolyBezier(hDC, ref CurveX[0], ref CurveY[0], 4, ImageKit10Lib.OutPutDeviceModeConstants.ikScreen);

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


PolyBezierVariant (ImageKit Control/PrintDraw Method)

This method draws a bezier curve in the designated object (the screen, printer, or image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PolyBezierVariant(DeviceValue As LONG_PTR, x As Variant, y As Variant, DeviceMode As OutPutDeviceModeConstants)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PolyBezierVariant(DeviceValue As Integer(x86) or Long(x64), ByRef x As Object, ByRef y As Object, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PolyBezierVariant(int(x86) or long(x64) DeviceValue, ref object x, ref object y, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode
x,y | An array of x and y coordinate values defining points of the polygon
DeviceMode | If 0 (ikScreen), then the bezier curve will be drawn in pixel units. If 1 (ikPrinter), the bezier curve will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the bezier curve will be drawn (in pixel units) to the image data according to the DeviceValue parameter
* NOTE for retrieving array values: In Visual Basic / VB.NET, if Dim x(0 to 2), then the arguments are returned in x. In C#.NET the arguments are returned in ref x.

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The PolyBezier method draws a bezier curve in the designated object.

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

The initial bezier curve consists of 4 points, a start point, 2 control points, and an endpoint. Thereafter the bezier curve consists of 3 points (the control points and endpoint).

To execute this method, the following properties should be set PenWidth, PenStyle, PenMode, PenColor, Transparent, and BackColor. The BackColor property is enabled when the Transparent property is False and the pen is set to draw solid lines.

The value contained in the Points parameter must be (3 X the number of beziers) + a start point

Also see the PolyBezier method.

If the DeviceMode parameter is 0 or2 then x and y parameters are in pixel units.

If the DeviceMode parameter is 1 then x and y parameters are in 0.1mm units.

Sample code:

VB.NET

Dim Ret As Boolean

Dim CurveX(3) As Integer

Dim CurveY(3) As Integer

CurveX(0) = 10: CurveY(0) = 100

CurveX(1) = 50: CurveY(1) = 50

CurveX(2) = 100: CurveY(2) = 150

CurveX(3) = 150: CurveY(3) = 100

ImageKit1.PrintDraw.ClearProperty()

ImageKit1.PrintDraw.PenColor = ColorTranslator.ToWin32(Color.Green)

ImageKit1.PrintDraw.PenStyle = 1

ImageKit1.PrintDraw.PenWidth = 15

Dim X As Object = CType(CurveX, Object)

Dim Y As Object = CType(CurveY, Object)

Ret = ImageKit1.PrintDraw.PolyBezierVariant(hDC, X, Y, 0)

C#.NET

bool Ret;

int[] CurveX = new int[4];

int[] CurveY = new int[4];

CurveX[0] = 10; CurveY[0] = 100;

CurveX[1] = 50; CurveY[1] = 50;

CurveX[2] = 100; CurveY[2] = 150;

CurveX[3] = 150; CurveY[3] = 100;

ImageKit1.PrintDraw.ClearProperty();

ImageKit1.PrintDraw.PenColor = (uint)ColorTranslator.ToWin32(Color.Green);

ImageKit1.PrintDraw.PenStyle = ImageKit10Lib.PenStyleConstants.ikPenSolid;

ImageKit1.PrintDraw.PenWidth = 15;

object X = (object)CurveX;

object Y = (object)CurveY;

Ret = ImageKit1.PrintDraw.PolyBezierVariant(hDC, ref X, ref Y, ImageKit10Lib.OutPutDeviceModeConstants.ikScreen);

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


Polygon (ImageKit Control/PrintDraw Method)

This method draws a polygon in the designated object.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.Polygon(DeviceValue As LONG_PTR, x As Long, y As Long, Points As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().Polygon(LONG_PTR DeviceValue, long *x, long *y, long Points, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.Polygon(DeviceValue As Integer(x86) or Long(x64), ByRef x As Integer, ByRef y As Integer, Points As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.Polygon(int(x86) or long(x64) DeviceValue, ref int x, ref int y, int Points, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode
x,y | An array of x and y coordinate values defining points of the polygon
Points | The number of points defining the polygon (2 or more)
DeviceMode | If 0 (ikScreen), then the polygon will be drawn in pixel units. If 1 (ikPrinter), the polygon will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the polygon will be drawn (in pixel units) to the image data according to the DeviceValue parameter
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Integer, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Polygon method draws a polygon in the designated object. This method draws a straight line from a designated point to another point and from there to subsequent points. The polygon is closed by drawing a line from the end point to the starting point. The points are specified by the x and y parameter arrays. The outline of the polygon is drawn from the value set in the PenStyle property and the polygon is filled by the value set in the BrushStyle property. This method can draw in the following designated objects: screen, printer, and image data. When drawing a polygon, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, Transparent, and BackColor properties also be set. The BackColor property is enabled when the Transparent property is False and the pen is set to draw lines other than solid lines or the brush is set to hatch pattern.

For scripting languages, other programs that require variant types, or when using 64 bit builds in VB.NET or C#, please refer to the PolygonVariant method.

If the DeviceMode parameter is 0 (ikScreen) or 2 (ikMemoryHandle) then x and y parameters are in pixel units.

If the DeviceMode parameter is 1 (ikPrinter) then x and y parameters are in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


PolygonVariant (ImageKit Control/PrintDraw Method)

This method draws a polygon in the designated object. This method is recommended when using scripting or other languages that require variant types.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PolygonVariant(DeviceValue As LONG_PTR, x As Variant, y As Variant, DeviceMode As OutPutDeviceModeConstants)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PolygonVariant(DeviceValue As Integer(x86) or Long(x64), ByRef x As Object, ByRef y As Object, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PolygonVariant(int(x86) or long(x64) DeviceValue, ref object x, ref object y, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode
x,y | An array of x and y coordinate values defining points of the polygon
DeviceMode | If 0 (ikScreen), then the polygon will be drawn in pixel units. If 1 (ikPrinter), the polygon will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the polygon will be drawn (in pixel units) to the image data according to the DeviceValue parameter
* NOTE for retrieving array values: In Visual Basic / VB.NET, if Dim x(0 to 2), then the arguments are returned in x. In C#.NET the arguments are returned in ref x.

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Polygon method draws a polygon in the designated object.

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

This method draws a straight line from a designated point to another point and from there to subsequent points. The polygon is closed by drawing a line from the end point to the starting point. The points are specified by the x and y parameter arrays. The outline of the polygon is drawn from the value set in the PenStyle property and the polygon is filled by the value set in the BrushStyle property. This method can draw in the following designated objects: screen, printer, and image data. When drawing a polygon, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, Transparent, and BackColor properties also be set. The BackColor property is enabled when the Transparent property is False and the pen is set to draw lines other than solid lines or the brush is set to hatch pattern.

Also see the Polygon method.

If the DeviceMode parameter is 0 or 2 then x and y parameters are in pixel units.

If the DeviceMode parameter is 1 then x and y parameters are in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


Polyline (ImageKit Control/PrintDraw Method)

This method draws a polyline in the designated object.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.Polyline(DeviceValue As LONG_PTR, x As Long, y As Long, Points As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().Polyline(LONG_PTR DeviceValue, long *x, long *y, long Points, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.Polyline(DeviceValue As Integer(x86) or Long(x64), ByRef x As Integer, ByRef y As Integer, Points As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.Polyline(int(x86) or long(x64) DeviceValue, ref int x, ref int y, int Points, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode
x,y | An array of x and y coordinate values defining points of the polyline
Points | The number of points defining the polyline (2 or more)
DeviceMode | If 0 (ikScreen), then the polyline will be drawn in pixel units. If 1 (ikPrinter), the polyline will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the polyline will be drawn (in pixel units) to the image data according to the DeviceValue parameter
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim x(0 To 2) As Integer, then the arguments are returned in x(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in x(0). In C#.NET, the arguments are returned in x[0].

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Polyline method draws a polyline in the designated object. This method draws a straight line from a designated point to another point and from there to subsequent points. Unlike the polygon, the polyline is not closed. The points are specified by the x and y parameter arrays. The polyline is drawn from the value set in the PenStyle property. This method can draw in the following designated objects: screen, printer, and image data. When drawing a polyline, it is recommended that the PenWidth, PenMode, PenColor, Transparent, and BackColor properties also be set. The BackColor property is enabled when the Transparent property is False and the pen is set to draw lines other than solid lines.

For scripting languages, other programs that require variant types, or when using 64 bit builds in VB.NET or C#, please refer to the PolylineVariant method.

If the DeviceMode parameter is 0 (ikScreen) or 2 (ikMemoryHandle) then x and y parameters are in pixel units.

If the DeviceMode parameter is 1 (ikPrinter) then x and y parameters are in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


PolylineVariant (ImageKit Control/PrintDraw Method)

This method draws a polyline in the designated object.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PolylineVariant(DeviceValue As LONG_PTR, x As Variant, y As Variant, DeviceMode As OutPutDeviceModeConstants)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PolylineVariant(DeviceValue As Integer(x86) or Long(x64), ByRef x As Object, ByRef y As Object, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PolylineVariant(int(x86) or long(x64) DeviceValue, ref object x, ref object y, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode
x,y | An array of x and y coordinate values defining points of the polyline
DeviceMode | If 0 (ikScreen), then the Polyline will be drawn in pixel units. If 1 (ikPrinter), the Polyline will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the Polyline will be drawn (in pixel units) to the image data according to the DeviceValue parameter
* NOTE for retrieving array values: In Visual Basic / VB.NET, if Dim x(0 to 2), then the arguments are returned in x. In C#.NET the arguments are returned in ref x.

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Polyline method draws a polyline in the designated object. This method draws a straight line from a designated point to another point and from there to subsequent points. Unlike the polygon, the polyline is not closed. The points are specified by the x and y parameter arrays. The polyline is drawn from the value set in the PenStyle property. This method can draw in the following designated objects: screen, printer, and image data. When drawing a polyline, it is recommended that the PenWidth, PenMode, PenColor, Transparent, and BackColor properties also be set. The BackColor property is enabled when the Transparent property is False and the pen is set to draw lines other than solid lines.

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

Also see the Polyline method.

If the DeviceMode parameter is 0 (ikScreen) or 2 (ikMemoryHandle) then x and y parameters are in pixel units.

If the DeviceMode parameter is 1 (ikPrinter) then x and y parameters are in 0.1mm units.

Differences between the ImageKit7/8

The DeviceValue argument's type has changed.


PreviewInit (ImageKit Control/PrintDraw Method)

When using the print preview, this method scales the screen resolution to the resolution of the output printer.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PreviewInit(phDC As LONG_PTR, dhDC As LONG_PTR)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().PreviewInit(LONG_PTR phDC, LONG_PTR dhDC)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PreviewInit(phDC As Integer(x86) or Long(x64), dhDC As Integer(x86) or Long(x64))
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PreviewInit(int(x86) or long(x64) phDC, int(x86) or long(x64) dhDC)

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Parameters

Name | Explanation
phDC | The device context of the output printer
dhDC | The device context of the preview screen

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

When using the print preview, the PreviewInit method scales the screen resolution to the resolution of the output printer.

Differences between the ImageKit7/8

The phDC and dhDC arguments' type has changed.


PrintAbortDoc (ImageKit Control/PrintDraw Method)

This method terminates the current print job.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintAbortDoc
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintAbortDoc()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintAbortDoc()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PrintAbortDoc()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The PrintAbortDoc method terminates the current print job and erases everything the application has written to the device since the last call of the PrintStartDoc method. The PrintAbortDoc method should be used with the PrintStartDoc, PrintStartPage, PrintEndPage, and the PrintEndDoc methods and is written between PrintStartPage and PrintEndPage. Note: when the ButtonName, Caption, and Message properties are set and the Cancel Printing dialog box is displayed, the ImageKit10 calls the PrintAbortDoc method internally so it is not necessary to use this method in such cases.

Example for terminating a print job

Visual Basic

Dim Ret As Boolean, bAbort As Boolean

Dim i As Integer

ImageKit1.PrintDraw.PrintFileName = "Default"

If ImageKit1.PrintDraw.PrintCreateDC(ikPrintFileName) = False Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc <> False) Then

bAbort = False

For i = 0 To 99

ImageKit1.PrintDraw.PrintStartPage

//code to draw image or text

If i = 50 then

ImageKit1.PrintDraw.PrintAbortDoc

bAbort = True

End If

ImageKit1.PrintDraw.PrintEndPage

If bAbort = True Then Exit For;

Next i

ImageKit1.PrintDraw.PrintEndDoc

End If

ImageKit1.PrintDraw.PrintDeleteDC

Visual C++

BOOL Ret, bAbort;

int i;

ImageKit1.GetPrintDraw().SetPrintFileName("Default");

if (ImageKit1.GetPrintDraw().PrintCreateDC(1) == FALSE) return;

ImageKit1.GetPrintDraw().SetDocName("ImageKit Print Sample");

if (ImageKit1.GetPrintDraw().PrintStartDoc() != FALSE) {

for (i = 0; i < 100; i++) {

ImageKit1.GetPrintDraw().PrintStartPage();

//code to draw image or text

if (i == 50) {

ImageKit1.GetPrintDraw().PrintAbortDoc();

bAbort = true;

}

ImageKit1.GetPrintDraw().PrintEndPage();

if (bAbort) break;

}

ImageKit1.GetPrintDraw().PrintEndDoc();

}

ImageKit1.GetPrintDraw().PrintDeleteDC();

VB.NET

Dim Ret As Boolean, bAbort As Boolean

Dim i As Integer

ImageKit1.PrintDraw.PrintFileName = "Default"

If ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikPrintFileName) = False Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc <> False) Then

bAbort = False

For i = 0 To 99

ImageKit1.PrintDraw.PrintStartPage()

'code to draw image or text

If i = 50 then

ImageKit1.PrintDraw.PrintAbortDoc()

bAbort = True

End If

ImageKit1.PrintDraw.PrintEndPage()

If bAbort = True Then Exit For

Next i

ImageKit1.PrintDraw.PrintEndDoc()

End If

ImageKit1.PrintDraw.PrintDeleteDC()

C#.NET

bool Ret, bAbort;

int i;

ImageKit1.PrintDraw.PrintFileName = "Default";

if (ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikPrintFileName) == false) return;

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample";

if (ImageKit1.PrintDraw.PrintStartDoc() != false)

{

for (i = 0; i < 100; i++)

{

ImageKit1.PrintDraw.PrintStartPage();

//code to draw image or text

if (i == 50)

{

ImageKit1.PrintDraw.PrintAbortDoc();

bAbort = true;

}

ImageKit1.PrintDraw.PrintEndPage;

if (bAbort) break;

}

ImageKit1.PrintDraw.PrintEndDoc();

}

ImageKit1.PrintDraw.PrintDeleteDC();


PrintCreateDC (ImageKit Control/PrintDraw Method)

This method creates a device context.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintCreateDC(Mode As PrintModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintCreateDC(long Mode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintCreateDC(Mode As ImageKit10(A)Lib.PrintModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PrintCreateDC(ImageKit10(A)Lib.PrintModeConstants Mode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Mode | The method for creating the device context (from 0 to 2)

The following constants can also be used: (ikPrinterName = 0, ikPrintFileName = 1, ikDevMode = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The PrintCreateDC method creates a device context in one of three ways.

When the Mode parameter is 0:

The device context is created for the printer that has its name set in the PrinterName property.

When the Mode parameter is 1:

The device context is created for the printer that is listed in the file set in the PrintFileName property.

When the Mode parameter is 2:

The device context is created from the handle of the DEVMODE structure that is set in the DevMode property and from the handle of the DEVNAMES structure set in the DevNames property.

To print with the default printer using the current settings, set the Mode parameter to 1 (ikPrintFileName) and in the PrintFileName property set, "Default" .

When the device context is created successfully, it will be set in the Hdc property. Also, the device context resolution will be set in the XResolution property and the YResolution property. The device context is freed using the PrintDeleteDC method.

As an extension to the PrintFileName property, it's possible to print without changing the settings that have been already set in the printer information file by adding the print number of copies, the printer orientation, and the paper size (in that order) in the back of the file name before executing the PrintCreateDC method. The delimiter for the settings is a semicolon (;). These settings (the the print number of copies, the printer orientation, and the paper size) can be omitted.

Note: Enter a zero (0) into the properties that you do not want to change. For more information please refer to the PrintFileName property as well as the Copies, PaperSize and Orientation properties.

The printer orientation: ( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI.

Value | Explanation
1 | Vertical (DMORIENT_PORTRAIT)
2 | Horizontal (DMORIENT_LANDSCAPE)

the paper size: ( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI.

Value | Explanation
8 | A3(DMPAPER_A3)
9 | A4(DMPAPER_A4)
12 | B4(DMPAPER_B4)
13 | B5(DMPAPER_B5)

Sample Code: Using a printer setting file (IkPrint.Ik) to print (VisualBasic)

(1) Standard case

ImageKit1.PrintDraw.PrintFileName = "C:\Test\IkPrint.Ik"

(2) Using the extended functions of the printer setting file

A) Number of copies= 3, Orientation = Horizontal, PaperSize = B5

ImageKit1.PrintDraw.PrintFileName = "C:\Test\Ik8Print.Ik8;3;2;13"

B) Retrieve the number of copies and paper size from the printer file but the orientation to horizontal

ImageKit1.PrintDraw.PrintFileName = "C:\Test\IkPrint.Ik;0;2;0" or ImageKit1.PrintDraw.PrintFileName = "C:\Test\IkPrint.Ik;0;2"

Sample Code: Using a printer setting file (IkPrn.Ik) to print

Visual Basic

Dim Ret As Boolean

ImageKit1.PrintDraw.PrintFileName = "C:\Test\IkPrn.Ik"

Ret = ImageKit1.PrintDraw.PrintCreateDC(ikPrintFileName)

If Ret = False Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc <> False) Then

ImageKit1.PrintDraw.PrintStartPage

//code to draw image or text

ImageKit1.PrintDraw.PrintEndPage

ImageKit1.PrintDraw.PrintEndDoc

End If

ImageKit1.PrintDraw.PrintDeleteDC

Visual C++

BOOL Ret;

ImageKit1.GetPrintDraw().SetPrintFileName("C:\\Test\\IkPrn.Ik");

Ret = ImageKit1.GetPrintDraw().PrintCreateDC(1);

if (Ret == FALSE) return;

ImageKit1.GetPrintDraw().SetDocName("ImageKit Print Sample");

if (ImageKit1.GetPrintDraw().PrintStartDoc() != FALSE) {

ImageKit1.GetPrintDraw().PrintStartPage();

//code to draw image or text

ImageKit1.GetPrintDraw().PrintEndPage();

ImageKit1.GetPrintDraw().PrintEndDoc();

}

ImageKit1.GetPrintDraw().PrintDeleteDC();

VB.NET

Dim Ret As Boolean

ImageKit1.PrintDraw.PrintFileName = "C:\Test\IkPrn.Ik"

Ret = ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikPrintFileName)

If Ret = False Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc() <> False) Then

ImageKit1.PrintDraw.PrintStartPage()

'code to draw image or text

ImageKit1.PrintDraw.PrintEndPage()

ImageKit1.PrintDraw.PrintEndDoc()

End If

ImageKit1.PrintDraw.PrintDeleteDC()

C#.NET

bool Ret;

ImageKit1.PrintDraw.PrintFileName = @"C:\Test\IkPrn.Ik";

Ret = ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikPrintFileName);

if (Ret == false) return;

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample";

if (ImageKit1.PrintDraw.PrintStartDoc() != false)

{

ImageKit1.PrintDraw.PrintStartPage();

//code to draw image or text

ImageKit1.PrintDraw.PrintEndPage();

ImageKit1.PrintDraw.PrintEndDoc();

}

ImageKit1.PrintDraw.PrintDeleteDC();

Differences between ImageKit7/8/9

If this method succeeds, the resolution of the device context will be set in the XResolution and YResolution properties.


PrintDeleteDC (ImageKit Control/PrintDraw Method)

Ths method deletes the device context.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintDeleteDC
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintDeleteDC()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintDeleteDC()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PrintDeleteDC()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The PrintDeleteDC method deletes the device context. Please execute this method after printing has completed and if the device context is no longer needed. Please refer to the sample code in the PrintCreateDC and PrintDialog methods.


PrintDialog (ImageKit Control/PrintDraw Method)

This method displays the Print dialog box and creates a device context.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintDialog
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintDialog()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintDialog()
[C#.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintDialog()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The PrintDialog method displays the Print dialog box and creates a device context using those settings. By executing the GetDevModeHandle method and retrieving the DevMode property and the DevNames property, the "Print" dialog box can be displayed with the printer name and printing conditions. To use the current printer with its existing settings then it is not necessary to execute the GetDevModeHandle method.

The Collate, Copies, FromPage, ToPage, MaxPage, MinPage, Options, PrintRange, and PrintToFile property values are displayed in the "Print" dialog box when it is initialized and changes made to those settings in the "Print" dialog box are returned to the properties when the printing is complete.

If the PrintDialog method is successful, the printer device context is set into the Hdc property, the information provided by the DevMode and DevNames properties is updated. Also, the device context resolution is set in the XResolution and YResolution properties.

The acquired device context is deleted with the PrintDeleteDC method, and the DevMode property and DevNames property are released with the ReleaseDevModeHandle method.

The PrintDialog method corresponds to the Print Control's PrintDlg method in earlier versions of the ImageKit.

Sample code: Printing:

Visual Basic

Dim Ret As Boolean

ImageKit1.PrintDraw.ClearProperty

ImageKit1.PrintDraw.Copies = 1

ImageKit1.PrintDraw.Options = &H4 Or &H8 Or &H100000

Ret = ImageKit1.PrintDraw.PrintDialog

If Ret = 0 Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc <> False) Then

ImageKit1.PrintDraw.PrintStartPage

'code for displaying image or text

ImageKit1.PrintDraw.PrintEndPage

ImageKit1.PrintDraw.PrintEndDoc

End If

ImageKit1.PrintDraw.PrintDeleteDC

ImageKit1.PrintDraw.ReleaseDevModeHandle

Visual C++

BOOL Ret;

ImageKit1.GetPrintDraw().ClearProperty();

ImageKit1.GetPrintDraw().SetCopies(1);

ImageKit1.GetPrintDraw().SetOptions(0x4 | 0x8 | 0x100000);

Ret = ImageKit1.GetPrintDraw().PrintDialog();

if (Ret == FALSE) return;

ImageKit1.GetPrintDraw().SetDocName("ImageKit Print Sample");

if (ImageKit1.GetPrintDraw().PrintStartDoc() != FALSE) {

ImageKit1.GetPrintDraw().PrintStartPage();

//code for displaying image or text

ImageKit1.GetPrintDraw().PrintEndPage();

ImageKit1.GetPrintDraw().PrintEndDoc();

}

ImageKit1.GetPrintDraw().PrintDeleteDC();

ImageKit1.GetPrintDraw().ReleaseDevModeHandle();

VB.NET

Dim Ret As Boolean

ImageKit1.PrintDraw.ClearProperty()

ImageKit1.PrintDraw.Copies = 1

ImageKit1.PrintDraw.Options = &H4 Or &H8 Or &H100000

Ret = ImageKit1.PrintDraw.PrintDialog()

If Ret = False Then Exit Sub

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample"

If (ImageKit1.PrintDraw.PrintStartDoc() <> False) Then

ImageKit1.PrintDraw.PrintStartPage()

'code for displaying image or text

ImageKit1.PrintDraw.PrintEndPage()

ImageKit1.PrintDraw.PrintEndDoc()

End If

ImageKit1.PrintDraw.PrintDeleteDC()

ImageKit1.PrintDraw.ReleaseDevModeHandle()

C#.NET

bool Ret;

ImageKit1.PrintDraw.ClearProperty();

ImageKit1.PrintDraw.Copies = 1;

ImageKit1.PrintDraw.Options = 0x4 | 0x8 | 0x100000;

Ret = ImageKit1.PrintDraw.PrintDialog();

if (Ret == false) return;

ImageKit1.PrintDraw.DocName = "ImageKit Print Sample";

if (ImageKit1.PrintDraw.PrintStartDoc() != false)

{

ImageKit1.PrintDraw.PrintStartPage();

//code for displaying image or text

ImageKit1.PrintDraw.PrintEndPage();

ImageKit1.PrintDraw.PrintEndDoc();

}

ImageKit1.PrintDraw.PrintDeleteDC();

ImageKit1.PrintDraw.ReleaseDevModeHandle();

Differences between ImageKit7/8/9

If this method succeeds, the information indicated by DevMode property and DevNames property is updated, and the resolution of the device context will be set in the XResolution and YResolution properties.


PrintEndDoc (ImageKit Control/PrintDraw Method)

This method ends the print job.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintEndDoc
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintEndDoc()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintEndDoc()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PrintEndDoc()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The PrintEndDoc method ends the print job. This method should be used with the PrintStartDoc, PrintStartPage, and PrintEndPage methods. Please refer to the sample code in the PrintCreateDC and PrintDialog methods.


PrintEndPage (ImageKit Control/PrintDraw Method)

This method ends the printing of a page and goes to the next page. This method needs to be called at the end of each page.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintEndPage
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintEndPage()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintEndPage()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PrintEndPage()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The PrintEndPage method ends the printing of a page and goes to the next page. This method needs to be called at the end of each page. This method should be used with the PrintStartDoc, PrintStartPage, and PrintEndDoc methods. Please refer to the sample code in the PrintCreateDC and PrintDialog methods.


PrintStartDoc (ImageKit Control/PrintDraw Method)

This method starts a print job.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintStartDoc
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintStartDoc()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintStartDoc()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PrintStartDoc()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The PrintStartDoc method starts the print job. This method should be used with the PrintStartPage, PrintEndPage, and PrintEndDoc methods. If the Caption, ButtonName, or Message properties are not set, the Cancel Printing dialog box will not be displayed. Please refer to the sample code in the PrintCreateDC and PrintDialog methods.


PrintStartPage (ImageKit Control/PrintDraw Method)

This method starts the printing of a page.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintStartPage
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().PrintStartPage()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.PrintStartPage()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.PrintStartPage()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The PrintStartPage method starts the printing of a page. This method should be used with the PrintStartPage, PrintEndPage, and PrintEndDoc methods. Please refer to the sample code in the PrintCreateDC and PrintDialog methods.


Rectangle (ImageKit Control/PrintDraw Method)

This method draws a rectangle in the designated object (screen, printer, image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.Rectangle(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().Rectangle(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.Rectangle(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.Rectangle(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode
left,top | The x and y coordinates for the top left corner of the rectangle
right,bottom | The x and y coordinates for the bottom right corner of the rectangle
DeviceMode | If 0 (ikScreen), then the Rectangle will be drawn in pixel units. If 1 (ikPrinter), the Rectangle will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the Rectangle will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The Rectangle method draws a rectangle in the designated object (screen, printer, image data). The left, top, right, and bottom parameters define the coordinates specifying the rectangle. The outline of the rectangle is drawn from the value set in the PenStyle property and the rectangle is filled by the value set in the BrushStyle property. When drawing a rectangle, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, Transparent, and BackColor properties also be set. The BackColor property is enabled when the Transparent property is False and the pen is solid or the brush is hatch pattern.

If the DeviceMode parameter is 0 or2 then left, top, right, bottom parameters are in pixel units.

If the DeviceMode parameter is 1 then left, top, right, bottom parameters are in 0.1mm units.

Differences between ImageKit7/8

The DeviceValue argument's type has changed.


ReleaseDevModeHandle (ImageKit Control/PrintDraw Method)

This method frees the handle to the DEVMODE structure and the handle to the DEVNAMES structure.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.ReleaseDevModeHandle
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().ReleaseDevModeHandle()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.ReleaseDevModeHandle()
[C#.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.ReleaseDevModeHandle()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The ReleaseDeveModeHandle method frees the handle to the DEVMODE and DEVNAMES structures. These handles are occupied by the DevMode and DevNames properties acquired by executing the GetDevModeHandle method and the PrintDialog method.

Differences between ImageKit7/8/9

When this method succeeds, the memory occupied by the DevNames property is also released in addition to the DevMode property being released.


RoundRect (ImageKit Control/PrintDraw Method)

This method draws a rounded rectangle in the designated object (screen, printer, image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.RoundRect(DeviceValue As LONG_PTR, left As Long, top As Long, right As Long, bottom As Long, x As Long, y As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().RoundRect(LONG_PTR DeviceValue, long left, long top, long right, long bottom, long x, long y, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.RoundRect(DeviceValue As Integer(x86) or Long(x64), left As Integer, top As Integer, right As Integer, bottom As Integer, x As Integer, y As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.RoundRect(int(x86) or long(x64) DeviceValue, int left, int top, int right, int bottom, int x, int y, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode
left,top | The x and y coordinates for the top left corner of the rounded rectangle
right,bottom | The x and y coordinates for the bottom right corner of the rounded rectangle
x,y | The height and width of the arc used to round the rectangles corners
DeviceMode | If 0 (ikScreen), then the output will be drawn in pixel units. If 1 (ikPrinter), the output will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the output will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The RoundRect method draws a rounded rectangle in the designated object (screen, printer, image data). The left, top, right, and bottom parameters define the coordinates specifying the rounded rectangle. The corners of the rounded rectangle are rounded according to the arc defined in the x and y parameters. The outline of the rounded rectangle is drawn from the value set in the PenStyle property and the rounded rectangle is filled by the value set in the BrushStyle property. When drawing a rounded rectangle, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, Transparent, and BackColor properties also be set. The BackColor property is enabled when the Transparent property is False and the the pen is not solid or the brush is hatch pattern.

If the DeviceMode parameter is 0 or2 then left, top, right, bottom, x and y parameters are in pixel units.

If the DeviceMode parameter is 1 then left, top, right, bottom, x and y parameters are in 0.1mm units.

Differences between ImageKit7/8

The DeviceValue argument's type has changed.


SaveDevModeHandle (ImageKit Control/PrintDraw Method)

This method saves the handle to the DEVMODE structure and the DEVNAMES structure into the file specified by the PrintFileName property.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.SaveDevModeHandle
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().SaveDevModeHandle()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.SaveDevModeHandle()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.SaveDevModeHandle()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The SaveDevModeHandle method saves the handle to the DEVMODE structure and the DEVNAMES structure into the file specified by the PrintFileName property. The GetDevModeHandle method retrieves the handle to the DEVMODE structure and the DEVNAMES structure and sets them into the DevMode property and the DevNames property respectively. The file format of the file is the same as that saved by the SavePrinterInfo method. The saved file can be used by the GetDevModeHandle, PrintCreateDC, and the SavePrinterInfo methods. For more information about the DEVMODE structure and the DEVNAMES structure, please refer to WindowsAPI or related manuals. If the PrintFileName property has been set with just a file name then the printer file will be saved in the current folder.

Differences between ImageKit7/8/9

If this method succeeds, the information indicated by the DevNames property in addition to the DevMode property is saved in the file.


SavePrinterInfo (ImageKit Control/PrintDraw Method)

This method saves the settings entered in the "Print Setup" dialog. These settings are saved into the file specified by the PrintFileName property.
[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.SavePrinterInfo
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().SavePrinterInfo()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.SavePrinterInfo()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.SavePrinterInfo()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The SavePrinterInfo method displays the "Print Setup" dialog and allows you to set the printer settings. When the OK button in the "Print Setup" dialog is clicked, the SavePrinterInfo method saves these setting in a file specified by the PrintFileName property. This saved file is used by the GetDevModeHandle and the PrintCreateDC methods.

At the same time, the printer name and the port are saved in another file, a text file, whose name is constructed from the value of the PrintFileName property + "PrnTxt". The first record in this text file is the printer name. The second record in this text file is the printer port. (The records are delimited by {CR}{LF}).

When the "Print Setup" dialog is closed by clicking "OK", the above two files are saved and a nonzero value is returned. If only the file name has been set in the PrintFileName property, then the printer setting files will be saved in the current directory.

The SavePrinterInfo method corresponds to the Print Control's SetPrint method in earlier versions of the ImageKit.


SetDefaultPrinter (ImageKit Control/PrintDraw Method)

This method sets the default printer.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.SetDefaultPrinter
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().SetDefaultPrinter()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.SetDefaultPrinter()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.SetDefaultPrinter()

Parameters

None

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The SetDefaultPrinter method sets the printer specified in the PrinterName property as the default printer. To get a list of the installed printers, execute the EnumPrinters or the EnumPrintersVariant method.


SetDevModeInfo (ImageKit Control/PrintDraw Method)

This method updates the contents referred to by the handle of the DEVMODE structure.

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.SetDevModeInfo
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().SetDevModeInfo()
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.SetDevModeInfo()
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.SetDevModeInfo()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The SetDevModeInfo method updates the contents referred to by the handle of the DEVMODE structure. To execute this method, it is first necessary to execute the GetDevModeHandle and retrieve the handle to the DEVMODE structure in the DevMode property. The Collate, ColorMode, Copies, CustomPaperHeight, CustomPaperWidth, Duplex, Orientation, PaperBin, PaperSize, XResolution, YResolution, and Zoom property settings are all reflected in the DevMode property. If each of these properties are set to 0 then the update will have no affect. (Except for the Collate property). Note: These property settings are dependent upon the printer driver. Because of this, it is possible that some of the property settings will have no affect or an affect different than expected. For details about the printer driver and these properties, please refer to the printer manufacturer's manual.

Sample Codes:

Visual Basic

Dim Ret As Boolean

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

ImageKit1.PrintDraw.PrintFileName = ""

Ret = ImageKit1.PrintDraw.GetDevModeHandle

If Ret = False Then Exit Sub

'GetDevModeHandle method calls GetDevModeInfo so the next line is commented out

'Ret = ImageKit1.PrintDraw.GetDevModeInfo

If ImageKit1.PrintDraw.Copies <> 3 Then

ImageKit1.PrintDraw.Copies = 3

End If

Ret = ImageKit1.PrintDraw.SetDevModeInfo

Ret = ImageKit1.PrintDraw.PrintCreateDC(ikDevMode)

If Ret <> False Then

'printing code

Ret = ImageKit1.PrintDraw.PrintDeleteDC

End If

Ret = ImageKit1.PrintDraw.ReleaseDevModeHandle

Visual C++

BOOL Ret;

ImageKit1.GetPrintDraw().SetPrinterName("EPSON LP-8200C");

ImageKit1.GetPrintDraw().SetPrintFileName("");

Ret = ImageKit1.GetPrintDraw().GetDevModeHandle();

if (Ret == FALSE) return;

//GetDevModeHandle method calls GetDevModeInfo so the next line is commented out

//Ret = ImageKit1.GetPrintDraw().GetDevModeInfo();

if (ImageKit1.GetPrintDraw().GetCopies() != 3)

ImageKit1.GetPrintDraw().SetCopies(3);

Ret = ImageKit1.GetPrintDraw().SetDevModeInfo();

Ret = ImageKit1.GetPrintDraw().PrintCreateDC(ikDevMode);

if (Ret != false)

{

//printing code

Ret = ImageKit1.GetPrintDraw().PrintDeleteDC();

}

Ret = ImageKit1.GetPrintDraw().ReleaseDevModeHandle();

VB.NET

Dim Ret As Boolean

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C"

ImageKit1.PrintDraw.PrintFileName = ""

Ret = ImageKit1.PrintDraw.GetDevModeHandle()

If Ret = False Then Exit Sub

'GetDevModeHandle method calls GetDevModeInfo so the next line is commented out

'Ret = ImageKit1.PrintDraw.GetDevModeInfo()

If ImageKit1.PrintDraw.Copies <> 3 Then

ImageKit1.PrintDraw.Copies = 3

End If

Ret = ImageKit1.PrintDraw.SetDevModeInfo()

Ret = ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikDevMode)

If Ret <> False Then

'Printing code...

Ret = ImageKit1.PrintDraw.PrintDeleteDC()

End If

Ret = ImageKit1.PrintDraw.ReleaseDevModeHandle()

C#.NET

bool Ret;

ImageKit1.PrintDraw.PrinterName = "EPSON LP-8200C";

ImageKit1.PrintDraw.PrintFileName = "";

Ret = ImageKit1.PrintDraw.GetDevModeHandle();

if (Ret == false) return;

//GetDevModeHandle method calls GetDevModeInfo so the next line is commented out

//Ret = ImageKit1.PrintDraw.GetDevModeInfo();

if (ImageKit1.PrintDraw.Copies != 3)

ImageKit1.PrintDraw.Copies = 3;

Ret = ImageKit1.PrintDraw.SetDevModeInfo();

Ret = ImageKit1.PrintDraw.PrintCreateDC(ImageKit10Lib.PrintModeConstants.ikDevMode);

if (Ret != false)

{

//Printing code...

Ret = ImageKit1.PrintDraw.PrintDeleteDC();

}

Ret = ImageKit1.PrintDraw.ReleaseDevModeHandle();


SetPixel (ImageKit Control/PrintDraw Method)

This method sets a color in the specified pixel in the designated object (screen, or image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.SetPixel(DeviceValue As LONG_PTR, x As Long, y As Long, Color As OLE_COLOR, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().SetPixel(LONG_PTR DeviceValue, long x, long y, unsigned long Color, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.SetPixel(DeviceValue As Integer(x86) or Long(x64), x As Integer, y As Integer Color As UInteger, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.SetPixel(int(x86) or long(x64) DeviceValue, int x, int y, uint Color, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle)
x,y | The x,y coordinates of the pixel
Color | The new color of the pixel
DeviceMode | The designated object where the pixel color is set (0: Screen, 2: Image data)

The following constants can be used: (ikScreen = 0, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The SetPixel method sets a color specified by the Color parameter into the pixel whose coordinates are specified by the x and y parameters. To set the Color parameter, use the RGB(red, green, blue) value. If the specified color can not be accurately produced by the device, the nearest color is used.

This method can draw in the following designated objects: screen and image data. This method is enabled when the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data). Please set the x and y parameters in pixel units.

Note: In the Visual Basic PictureBox, please set the AutoRedraw property to True.

Differences between ImageKit7/8

The DeviceValue and Color arguments' type has changed.


TextOut (ImageKit Control/PrintDraw Method)

ImageKit10 ActiveX

TextOut (ImageKit Control/ PrintDraw Method)

This method draws text in the designated object. The text is drawn from a specified point in the designated object (screen, printer, image data).

[Visual Basic] [ Boolean = ]imagekitcontrolname.PrintDraw.TextOut(DeviceValue As LONG_PTR, x As Long, y As Long, DeviceMode As OutPutDeviceModeConstants)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetPrintDraw().TextOut(LONG_PTR DeviceValue, long x, long y, long DeviceMode)
[VB.NET] [ Boolean = ]imagekitcontrolname.PrintDraw.TextOut(DeviceValue As Integer(x86) or Long(x64), x As Integer, y As Integer, DeviceMode As ImageKit10(A)Lib.OutPutDeviceModeConstants)
[C#.NET] [ bool = ]imagekitcontrolname.PrintDraw.TextOut(int(x86) or long(x64) DeviceValue, int x, int y, ImageKit10(A)Lib.OutPutDeviceModeConstants DeviceMode)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version, (x86) refers to the 32 bit version, and (x64) refers to the 64 bit version.

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode
x,y | The x and y coordinates of the starting point of the text
DeviceMode | If 0 (ikScreen), then the output will be drawn in pixel units. If 1 (ikPrinter), the output will be drawn in 0.1mm units. If 2 (ikMemoryHandle), the output will be drawn (in pixel units) to the image data according to the DeviceValue parameter

The following constants can also be used: (ikScreen = 0, ikPrinter = 1, ikMemoryHandle = 2).

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful. Returns False (0) if the cancel button is clicked in the "Print" dialog box.

Explanation

The TextOut method draws text in the designated object from a point specified by the x and y parameters.(screen, printer, image data). It is recommended that you set the following properties prior to executing this method: TextColor1, TextColor2, FontName, FontSize, Transparent, Direction, CharAngle, CharExtra, Text, RotateString.

If 1 or more is set into the CharExtra property then the character spacing is enabled.

When the RotateString property is False, the CharAngle property is enabled for 0, 90, 180, and 270 degrees only. When the RotateString property is True, the Direction property is disabled and the text is drawn from the x and y coordinates in the direction set in the CharAngle property. Note: Because there can be problem with multiline text containing line break code, it is recommended that you process each line of text seperately or use the DrawText method.

If the DeviceMode parameter is 0 or 2 then x, y parameters, and the CharExtra property are in pixel units.

If the DeviceMode parameter is 1 then x, y parameters, and the CharExtra property are in 0.1mm units.

Differences between ImageKit7/8

The DeviceValue argument's type has changed.


ImageKit Scan Interface

The ImageKit Scan interface exposes properties and methods for retrieving images from scan devices and digital cameras.

The ways in which the ImageKit10 retrieves images:

Scan Device or Camera | Scan Results | Scan Mode
Image scanner (document plate) | Scans single images | Can scan using manufacturer's user interface or using a customer interface
Image scanner (ADF) | Scans multiple images | Can scan using manufacturer's user interface or using a customer interface
Digital camera | Scans multiple images | Can scan using manufacturer's user interface or using a customer interface
Film scanner | Scans multiple images | Can scan using manufacturer's user interface only

Order for executing scan methods:

[LoadTwain]
|
Initialize (Necessary)
|
GetDSInfo, List, Select
|
[OpenDS]
|
GetBitDepth, GetCapEnum, GetCapRange, GetPhysicalSize, GetMinimumSize, IsCapSupported
|
Exec
|
[CloseDS]
|
Terminate (Necessary)
|
[FreeTwain]

Important:
Although it is not necessary to execute the LoadTwain/FreeTwain or the OpenDS/CloseDS method pairs, it is highly recommended that you do so.

Aside from the LoadTwain/FreeTwain and the Initialize/Terminate method pairs, the order that you execute other methods is not so important. In general, you can execute any methods in any order that is necessary. However, the LoadTwain/FreeTwain and the Initialize/Terminate method pairs must be executed in the order presented above. Furthermore, if the OpenDS/CloseDS method pair is also used, then the scanning methods you execute must be done so after the OpenDS method. Please refer to the scan order shown above.

Property List

Custom Properties | Explanation
AdjustGamma | Sets the gamma adjustment coefficient
AutoBright | Sets whether to automatically adjust brightness
BitDepth | Sets the number of bits per pixel in the scanned image
BitDepthReduction | Sets the method used to reduce the bit depth when scanning in 1 bit color
Border | Sets whether or not border correction is used
BorderColor | Adjusts the border color
BorderDetection | Enables automatic border detection
Brightness | Sets the scan brightness.
Cancel | Sets whether or not the scan process is canceled
ColorBWRatio | Sets the allowable ratio of color pixels in a document for the scanner to scan in black and white.
Compression | Sets the compression method used when an image is transferred via memory
Contrast | Sets the scan contrast
Deskew | Sets whether or not deskew is enabled
DropoutColor | Sets the dropout color
DsName | Sets the name of the scan device
DsNameCount | Refers to the number of scan devices retrieved by the List method
DsNameList | Refers to the list of scan devices retrieved by the List method
DynamicThreshold | Sets the dynamic threshold level
ExtUiMode | Sets whether or not the extended user interface is used
FileFormat | Sets the file format when saving a file using file transfer.
FileName | Sets the file name when saving a file using file transfer or using memory transfer with compression.
FocusPosition | Sets the focus position
Gamma | Sets the gamma correction
HalfTone | Sets the halftone.
HalfToneList | Refers to the halftone list that is retrieved by the GetCapEnum or the GetCapEnumVariant method
Highlight | Sets the scanning highlight
IgnoreBackColor | Sets whether or not the background color of the document is ignored when automatically determining whether to scan in black and white or in color
ImageFilter | Sets the image filter
ImageMerge | Sets a double sided composition
Indicator | Sets whether or not the indicator is displayed when scanning
InformationFileName | Sets the filename and path were the information file is saved
JpegQuality | Sets the JpegQuality when using file or memory transfer with JPEG compression.
Manufacturer | Refers to to the scan device manufacturer's name
MoireFilter | Sets the level for the Moire filter
NoiseFilter | Sets the noise reduction filter
Orientation | Sets the orientation of the paper
OverScan | Sets how over scanning is handled
PageCount | Sets the number of images to be scanned
PaperSize | Sets the size of the paper
PixelType | Sets the type of image scanned
ProductFamily | Refers to the scan device product family name
ProductName | Refers to the scan device product name
ProtocolMajor | Refers to the TWAIN Major version number
ProtocolMinor | Refers to the TWAIN minor version number
RangeCurrent | Refers to the current setting for a specified functionality
RangeDefault | Refers to the default setting for a specified functionality
RangeMax | Refers to the maximum setting for a specified functionality
RangeMin | Refers to the minimum setting for a specified functionality
RangeStep | Refers to a range of possible setting values for the specified functionality
RectBottom | Sets the bottom position of the area on the image to be scanned
RectLeft | Sets the left position of the area on the image to be scanned
RectRight | Sets the right position of the area on the image to be scanned
RectTop | Sets the top position of the area on the image to be scanned
RemoveHole | Sets how punch holes are handled
RotateBack | Sets whether or not the back side of the page is rotated when scanning on both sides using an ADF
Rotation | Sets the angle of rotation for the image
ScanCount | Refers to the number of images that have been scanned
ScanMode | Sets the scanning mode
ScanningSpeed | Increases the speed at which a document is scanned
Shadow | Sets the shadow
Sharpness | Sets the level of sharpness
SkipBlankPage | Sets how blank pages are handled
SkipBlankThreshold | Sets the threshold for determining if a page is blank and whether it will be skipped
SourceMajor | Refers to the major version number of the scan device
SourceMinor | Refers to the minor version number of the scan device
SourceVersionInfo | Refers to the scan device's version information
TextEnhancement | Sets the text enhancement
Threshold | Sets the scanning threshold
TransferMode | Sets whether native, file, or memory transfer is used
UiMode | Sets whether the scan driver's user interface is used or if a custom built user interface is used.
UnitFlag | Sets whether the scan units are determined by the scan device or by the ImageKit
UnitMode | Sets the units of measurement
XResolution | Sets the horizontal scan resolution
XScaling | Sets the horizontal scaling (magnification)
YResolution | Sets the vertical scan resolution
YScaling | Sets the vertical scaling (magnification)

Method List

Custom Method | Explanation
ClearProperty | Resets the scan control properties
CloseDS | Closes the scan device
Exec | Retrieves an image from a TWAIN scan device
ExecVariant | Retrieves an image from a TWAIN scan device. Recommended when using scripting or other languages that require variant types
FreeTwain | Frees the TWAIN DLL
GetBitDepth | Retrieves the bit depth supported by the scan device
GetBitDepthVariant | Retrieves the bit depth supported by the scan device. Recommended when using scripting or other languages that require variant types
GetCapEnum | Retrieves the possible setting values for a specified property of the scan device
GetCapEnumVariant | Retrieves the possible setting values for a specified property of the scan device. Recommended when using scripting or other languages that require variant types
GetCapRange | Retrieves the range of possible setting values for a specified functionality of the scan device
GetCapRangeVariant | Retrieves the range of possible setting values for a specified functionality of the scan device. Recommended when using scripting or other languages that require variant types
GetDSInfo | retrieves information about the specified scan device, such as manufacturer, product name, etc
GetMinimumSize | Retrieves the smallest size that can be scanned with a given scan device
GetMinimumSizeVariant | Retrieves the smallest size that can be scanned with a given scan device. Recommended when using scripting or other languages that require variant types
GetPhysicalSize | Retrieves the largest physical size that can be scanned with a given scan device
GetPhysicalSizeVariant | Retrieves the largest physical size that can be scanned with a given scan device. Recommended when using scripting or other languages that require variant types
Initialize | Starts the TWAIN process
IsCapSupported | Confirms whether or not a functionality is supported by the scan device
IsCapSupportedVariant | Confirms whether or not a functionality is supported by the scan device. Recommended when using scripting or other languages that require variant types
IsOpenDS | Checks whether or not the scan device is open
List | Lists the scan devices
LoadTwain | Loads the TWAIN DLL
OpenDS | Opens the scan device
Select | Selects the scan device
Terminate | Ends the TWAIN process


ImageKit Scan Properties

Custom Properties | Explanation
AdjustGamma | Sets the gamma adjustment coefficient
AutoBright | Sets whether to automatically adjust brightness
BitDepth | Sets the number of bits per pixel in the scanned image
BitDepthReduction | Sets the method used to reduce the bit depth when scanning in 1 bit color
Border | Sets whether or not border correction is used
BorderColor | Adjusts the border color
BorderDetection | Enables automatic border detection
Brightness | Sets the scan brightness.
Cancel | Sets whether or not the scan process is canceled
ColorBWRatio | Sets the allowable ratio of color pixels in a document for the scanner to scan in black and white.
Compression | Sets the compression method used when an image is transferred via memory
Contrast | Sets the scan contrast
Deskew | Sets whether or not deskew is enabled
DropoutColor | Sets the dropout color
DsName | Sets the name of the scan device
DsNameCount | Refers to the number of scan devices retrieved by the List method
DsNameList | Refers to the list of scan devices retrieved by the List method
DynamicThreshold | Sets the dynamic threshold level
ExtUiMode | Sets whether or not the extended user interface is used
FileFormat | Sets the file format when saving a file using file transfer.
FileName | Sets the file name when saving a file using file transfer or using memory transfer with compression.
FocusPosition | Sets the focus position
Gamma | Sets the gamma correction
HalfTone | Sets the halftone.
HalfToneList | Refers to the halftone list that is retrieved by the GetCapEnum or the GetCapEnumVariant method
Highlight | Sets the scanning highlight
IgnoreBackColor | Sets whether or not the background color of the document is ignored when automatically determining whether to scan in black and white or in color
ImageFilter | Sets the image filter
ImageMerge | Sets a double sided composition
Indicator | Sets whether or not the indicator is displayed when scanning
InformationFileName | Sets the filename and path were the information file is saved
JpegQuality | Sets the JpegQuality when using file or memory transfer with JPEG compression.
Manufacturer | Refers to to the scan device manufacturer's name
MoireFilter | Sets the level for the Moire filter
NoiseFilter | Sets the noise reduction filter
Orientation | Sets the orientation of the paper
OverScan | Sets how over scanning is handled
PageCount | Sets the number of images to be scanned
PaperSize | Sets the size of the paper
PixelType | Sets the type of image scanned
ProductFamily | Refers to the scan device product family name
ProductName | Refers to the scan device product name
ProtocolMajor | Refers to the TWAIN Major version number
ProtocolMinor | Refers to the TWAIN minor version number
RangeCurrent | Refers to the current setting for a specified functionality
RangeDefault | Refers to the default setting for a specified functionality
RangeMax | Refers to the maximum setting for a specified functionality
RangeMin | Refers to the minimum setting for a specified functionality
RangeStep | Refers to a range of possible setting values for the specified functionality
RectBottom | Sets the bottom position of the area on the image to be scanned
RectLeft | Sets the left position of the area on the image to be scanned
RectRight | Sets the right position of the area on the image to be scanned
RectTop | Sets the top position of the area on the image to be scanned
RemoveHole | Sets how punch holes are handled
RotateBack | Sets whether or not the back side of the page is rotated when scanning on both sides using an ADF
Rotation | Sets the angle of rotation for the image
ScanCount | Refers to the number of images that have been scanned
ScanMode | Sets the scanning mode
ScanningSpeed | Increases the speed at which a document is scanned
Shadow | Sets the shadow
Sharpness | Sets the level of sharpness
SkipBlankPage | Sets how blank pages are handled
SkipBlankThreshold | Sets the threshold for determining if a page is blank and whether it will be skipped
SourceMajor | Refers to the major version number of the scan device
SourceMinor | Refers to the minor version number of the scan device
SourceVersionInfo | Refers to the scan device's version information
TextEnhancement | Sets the text enhancement
Threshold | Sets the scanning threshold
TransferMode | Sets whether native, file, or memory transfer is used
UiMode | Sets whether the scan driver's user interface is used or if a custom built user interface is used.
UnitFlag | Sets whether the scan units are determined by the scan device or by the ImageKit
UnitMode | Sets the units of measurement
XResolution | Sets the horizontal scan resolution
XScaling | Sets the horizontal scaling (magnification)
YResolution | Sets the vertical scan resolution
YScaling | Sets the vertical scaling (magnification)


AdjustGamma (ImageKit Control/ Scan Property)

This property sets the coefficient used for gamma adjustment. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.AdjustGamma[ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetAdjustGamma(short Val)
[VB.NET] imagekitcontrolname.Scan.AdjustGamma[ = Short ]
[C#.NET] imagekitcontrolname.Scan.AdjustGamma[ = short ]

Property Value

Value | Explanation
0 | The gamma adjustment coefficient is 1.0 (Default)
1 | The gamma adjustment coefficient is 1.8

Explanation

The AdjustGamma property sets the coefficient used for gamma adjustment. This property is only enabled when using and Epson scan driver supporting this capability and when the UiMode property is 2 (ikScanNONUI).

To determine whether or not your scanner supports this capability, execute the IsCapSupported method or the IsCapSupportedVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


AutoBright (ImageKit Control/ Scan Property)

This property sets whether to automatically adjust the brightness. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.AutoBright[ = Boolean ]
[Visual C++] imagekitcontrolname.GetScan().SetAutoBright(BOOL Val)
[VB.NET] imagekitcontrolname.Scan.AutoBright[ = Boolean ]
[C#.NET] imagekitcontrolname.Scan.AutoBright[ = bool ]

Property Value

Value | Explanation
True | The brightness is automatically adjusted
False | The brightness is not automatically adjusted (Default)

Explanation

The AutoBright property sets whether to automatically adjust the brightness. The default value is False. This property is only enabled when using a custom-built user interface (UiMode=2).

To determine whether or not your scanner supports this capability, execute the IsCapSupported method or the IsCapSupportedVariant method. If the data source supports TWAIN 2.0 or later, GetCapEnum method or the GetCapEnumVariant method can get the supported values.

If the value of the AutoBright property is False or the data source does not support the function, the value of the Brightness property will be valid.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


BitDepth (ImageKit Control/ Scan Property)

This property sets the number of bits per pixel in the scanned image. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.BitDepth [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetScan().GetBitDepth()
imagekitcontrolname.GetScan().SetBitDepth(short Val)
[VB.NET] imagekitcontrolname.Scan.BitDepth [ = Short ]
[C#.NET] imagekitcontrolname.Scan.BitDepth [ = short ]

Property Value

When the Pixeltype property is 0 (ikScanPixelBW), the BitDepth is 1

When the Pixeltype property is 1 (ikScanPixelGray), the BitDepth is 4, 8, 12, 14, or 16

When the Pixeltype property is 2 (ikScanPixelRGB), the BitDepth is 24, 36, 42, or 48

When the Pixeltype property is 3 (ikScanPixelPalette), the BitDepth is 4 or 8

When the Pixeltype property is 1000 (ikScanPixelAutomation), the BitDepth is 24

Explanation

The BitDepth property sets the number of bits per pixel in the scanned image. This property is only enabled when the UiMode property is 2 (ikScanNONUI). Note: If a digital camera image or other scan device does not support this functionality, then this property is disabled.

To retrieve the range of possible bit depth settings for a scan device, execute the GetBitDepth or GetBitDepthVariant method. When scanning in 12, 14, 16, 36, 42, or 48 bit color, please set the TransferMode property to 2 (ikScanMemory). If an error is returned for a value that the scan device is supposed to support, please set 0 into the BitDepth property in which case the bit depth default value indicated by the PixelType property will be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


BitDepthReduction (ImageKit Control/ Scan Property)

This property sets the method used to reduce the bit depth when scanning in 1 bit color. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.BitDepthReduction[ = BitDepthReductionConstants ]
[Visual C++] imagekitcontrolname.GetScan().SetBitDepthReduction(long Val)
[VB.NET] imagekitcontrolname.Scan.BitDepthReduction[ = ImageKit10(A)Lib.BitDepthReductionConstants ]
[C#.NET] imagekitcontrolname.Scan.BitDepthReduction[ = ImageKit10(A)Lib.BitDepthReductionConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | threshold value
1 | halftone
2 | custom halftone *1
3 | diffusion
4 | dynamic threshold

*1 This is a TWAIN setting that is not supported by the ImageKit10.

The following constants can be used: (ikBitDepthReductionThreshold = 0, ikBitDepthReductionHalfTone = 1, ikBitDepthReductionCustomHalfTone = 2, ikBitDepthReductionDiffusion = 3, ikBitDepthReductionDynamicThreshold = 4)

Explanation

The BitDepthReduction property sets the method used to reduce the bit depth when scanning in 1 bit color. This property is enabled when the UiMode property is 2 (ikScanNONUI) and the PixelType property is 0 (ikScanPixelBW). Note: The BitDepthReduction property is disabled when using a digital camera.

When the BitDepthReduction property is 0, the Threshold property is enabled (In some scan devices the Brightness property is enabled). When the BitDepthReduction property is 1, the HalfTone, Brightness, and Contrast properties are enabled.

To retrieve the value of the BitDepthReduction property that is supported by the scan device, please execute the ScanGetCapEnum method. In the case where the scan device does not support the BitDepthReduction functionality, but supports either Threshold or HalfTone, then set this property to 0 or 1 whichever the case may be.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Border (ImageKit Control/ Scan Property)

This property sets whether or not border correction is used in certain Epson and Panasonic scanners. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.Border [ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetBorder(short Val)
[VB.NET] imagekitcontrolname.Scan.Border [ = Short ]
[C#.NET] imagekitcontrolname.Scan.Border [ = short ]

Property Value

Epson scan drivers (Border Correction for Epson scanners is called "Edge Fill")

Value | Explanation
0 | Border correction is not used
1 | Border correction is used

Panasonic scan drivers (Border Removal)

Value | Explanation
0 | Border removal is not used
1 | Border is removed - automatic mode (Detects the edges of the document area and corrects to the width specified)
2 | Border is removed - fixed mode (Corrects uniformly from the edges of the image to the width specified

Explanation

The Border property removes the black borders, formed during scanning or copying, from around the images and is enabled for Epson and Panasonic scan drivers only. This property sets whether or not border correction is used. If used, border correction is set via the scan driver's user interface. For Epson scanners, border correction is known as "Edge Fill". For Panasonic scanners border correction is known as "Border Removal". After using the scan driver's interface to set the appropriate values for border correction, then if the UiMode property is 2, the Border property will determine if border correction is used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


BorderColor (ImageKit Control/ Scan Property)

This property sets the border color when border correction is used. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.BorderColor [ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetBorderColor(short Val)
[VB.NET] imagekitcontrolname.Scan.BorderColor [ = Short ]
[C#.NET] imagekitcontrolname.Scan.BorderColor [ = short ]

Property Value

Epson scan drivers

Value | Explanation
0 | Border color is white
1 | Border color is white

Panasonic scan drivers

Value | Explanation
0 | Edge color is the border color
1 | Background color is the border color
2 | Border color is white

Explanation

The Border property is enabled for Epson and Panasonic scan drivers only.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


BorderDetection (ImageKit Control/ Scan Property)

This property enables automatic border detection. This property is only enabled when using a custom-built user interface (UiMode= 2).

[Visual Basic] imagekitcontrolname.Scan.BorderDetection [ = Boolean ]
[Visual C++] imagekitcontrolname.GetScan().SetBorderDetection(BOOL Val)
[VB.NET] imagekitcontrolname.Scan.BorderDetection [ = Boolean ]
[C#.NET] imagekitcontrolname.Scan.BorderDetection [ = bool ]

Property Value

Value | Explanation
True | Automatic border detection is enabled
False | Automatic border detection is disabled

Explanation

The BorderDetection property enables automatic border detection. The document plate scan area will automatically be set according to paper size. This property is only enabled when the UiMode property is 2(ikScanNONUI) and the PaperSize property is 1000(ikScanUndefinedSize) or above. Note: If a digital camera image or other scan device does not support this functionality, then this property is disabled. To find out if the datasource supports this functionality, please execute the IsCapSupported or the IsCapSupportedVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Brightness (ImageKit Control/ Scan Property)

This property sets the scan brightness. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.Brightness [ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetBrightness(short Val)
[VB.NET] imagekitcontrolname.Scan.Brightness[ = Short ]
[C#.NET] imagekitcontrolname.Scan.Brightness[ = short ]

Property Value

From -1000 to 1000
The Brightness property default value is 0

Important:
When using a Canon DR scan driver with the PixelType property set to 0 (ikScanPixelBW), the BitDepthReduction property set to 0 (ikBitDepthReductionThreshold), the TextEnhancement property set 1 or more, then the range of acceptable values for the Brightness property is from 1 to 255 (default value 128).

When using a PFU scan driver with the PixelType property set to 1000 (ikScanPixelAutomation), 1001 (ikScanPixelGrayAndBW), or 1002 (ikScanPixelRGBAndBW), then the range of acceptable values for the Brightness property is from -127 to 127 (default 0).

Explanation

The Brightness property sets the scan brightness. This property is only enabled when using a custom-built user interface (UiMode=2).

Note: There are cases when the PixelType property is 0 (ikScanPixelBW) and depending on the BitDepthReduction property value the Brightness property has no affect. See below.

The Brightness property is okay

When PixelType = 0 (ikScanPixelBW) and the BitDepthReduction = 0 (*) or 1.

When the PixelType = 1 (ikScanPixelGray), 2 (ikScanPixelRGB), or 3 (ikScanPixelPalette)

(*) This is only for scan devices that do not support Threshold and use uses Brightness instead.

Note: This property is disabled for digital cameras and scanners that do not support these functions. The possible setting values supported by a scan device can be retrieved using the GetCapRange (GetCapRangeVariant) method or the GetCapEnum (GetCapEnumVariant) method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Cancel (ImageKit Control/ Scan Property)

This property sets whether or not the scan process is canceled.

[Visual Basic] imagekitcontrolname.Scan.Cancel [ = Boolean ]
[Visual C++] imagekitcontrolname.GetScan().SetCancel(BOOL Val)
[VB.NET] imagekitcontrolname.Scan.Cancel [ = Boolean ]
[C#.NET] imagekitcontrolname.Scan.Cancel [ = Boolean ]

Property Value

Value | Explanation
True | Cancels the scan process
False | Does not cancel the scan process

Explanation

The Cancel property sets whether or not the scan process is canceled. By setting the Cancel property to true within the BeforeScan, Scanning, or AfterScan events, the scanning process can be canceled.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


ColorBWRatio (ImageKit Control/ Scan Property)

This property sets the allowable ratio of color pixels in a document for the scanner to scan in black and white. Beyond this value, the scanner will scan in rgb color. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.ColorBWRatio [ = Single ]
[Visual C++] imagekitcontrolname.GetScan().SetColorBWRatio(float Val)
[VB.NET] imagekitcontrolname.Scan.ColorBWRatio [ = Single ]
[C#.NET] imagekitcontrolname.Scan.ColorBWRatio [ = float ]

Property Value

The value range is from 0.01 to 50.00 in percentage units.

Default value is 1.

Explanation

The ColorBWRatio property is useful in determining whether or not to scan in RGB color or black and white. This property sets the allowable ratio of color pixels in a document for the scanner to scan in black and white. Beyond this value, the scanner will scan in rgb color. This property is only enabled when using a custom-built user interface (UiMode=2).

ENABLED FOR PANASONIC SCAN DRIVERS ONLY

The default value is one, meaning that the scanner will scan in rgb color. The allowable range that can be set in the ColorBWRatio property is from 0.01 to 50.00 percent. As the value of this property increases, a larger proportion of pixels in the document must be color before the scanner will scan in rgb color. This property is only enabled when the UiMode property is 2(ikScanNONUI), and the PixelType property is 1000(ikScanPixelAutomation).

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Compression (ImageKit Control/ Scan Property)

This property sets the compression method used when an image is transferred via memory.

[Visual Basic] imagekitcontrolname.Scan.Compression[ = ScanCompressionConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetCompression()
imagekitcontrolname.GetScan().SetCompression(long Val)
[VB.NET] imagekitcontrolname.Scan.Compression[ = ImageKit10(A)Lib.ScanCompressionConstants ]
[C#.NET] imagekitcontrolname.Scan.Compression[ = ImageKit10(A)Lib.ScanCompressionConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Uncompressed
1 | PACKBITS
2 | GROUP3-1D
3 | GROUP3-1DEOL
4 | GROUP3-2D
5 | GROUP4
6 | JPEG
7 | LZW
8 | JBIG
9 | PNG
10 | RLE4
11 | RLE8
12 | BITFIELDS

2,3,4,5 are in FAX[CCITT] format, and 10,11,12 are in BMP format.

The following constants can be used:
                (ikScanNoCompress = 0, ikScanPackbits = 1, ikScanGroup3_1D = 2,
                ikScanGroup3_1D_EOL = 3, ikScanGroup3_2D = 4, ikScanGroup4 = 5, ikScanJPEG = 6,
                ikScanLZW = 7, ikScanJBIG = 8, ikScanPNG = 9, ikScanRLE4 = 10, ikScanRLE8 = 11,
                ikScanBITFIELDS = 12).

Explanation

The Compression property sets the compression method used when an image is transferred via memory. When scanning with a custom user interface (with the scan driver's user interface suppressed), be sure to set appropriate values in the PixelType and the BitDepth properties. For example, Tiff group 3 or 4 compression images must be 1 bit black and white; JPEG compression images must be either 8 bit grayscale or 24 bit color.

For details about the different methods for transferring images, please refer to the TransferMode property. The possible setting values supported by a scan device can be retrieved using the GetCapEnum (GetCapEnumVariant) method. Depending on the datasource, uncompressed may be the only file transfer compression method available.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Contrast (ImageKit Control/ Scan Property)

This property sets the scan contrast. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.Contrast[ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetContrast(short Val)
[VB.NET] imagekitcontrolname.Scan.Contrast[ = Short ]
[C#.NET] imagekitcontrolname.Scan.Contrast[ = short ]

Property Value

From -1000 to 1000
The Contrast property default value is 0

Important:
When using a Canon DR scan driver with the PixelType property set to 0 (ikScanPixelBW), the BitDepthReduction property set to 0 (ikBitDepthReductionThreshold), the TextEnhancement property set 1 or more, then the range of acceptable values for the Contrast property is from 1 to 255 (default value 128).

When using a PFU scan driver with the PixelType property set to 1000 (ikScanPixelAutomation), 1001 (ikScanPixelGrayAndBW), or 1002 (ikScanPixelRGBAndBW), then the range of acceptable values for the Contrast property is from -127 to 127 (default 0).

Explanation

The Contrast property sets the scan contrast. This property is only enabled when using a custom-built user interface (UiMode=2).

Note: There are cases when the PixelType property is 0 (ikScanPixelBW) and depending on the BitDepthReduction property value the Contrast property has no affect. See below.

The Contrast property is okay

When PixelType = 0 (ikScanPixelBW) and the BitDepthReduction = 1.

When the PixelType = 1 (ikScanPixelGray), 2 (ikScanPixelRGB), or 3 (ikScanPixelPalette)

(*) This is only for scan devices that do not support Threshold and use uses Brightness instead.

Note: This property is disabled for digital cameras and scanners that do not support these functions. The possible setting values supported by a scan device can be retrieved using the GetCapRange (GetCapRangeVariant) method or the GetCapEnum (GetCapEnumVariant) method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Deskew (ImageKit Control/ Scan Property)

This method sets whether or not deskew is enabled. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.Descrew [ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetDescrew(short Val)
[VB.NET] imagekitcontrolname.Scan.Descrew [ = Short ]
[C#.NET] imagekitcontrolname.Scan.Descrew [ = short ]

Property Value

Value | Explanation
0 | Deskew is disabled
1 | Deskew is enabled
2 | Deskew is enabled (with smoothing)

Explanation

The Deskew method sets whether or not deskew is enabled when scanning. This property is only enabled when the UiMode property is 2(ikScanNONUI). Note: If a digital camera image or other scan device does not support this functionality, then this property is disabled. The Deskew property is enabled when the PaperSize property is set to 1000(ikScanUndefinedSize) or above. However, there are cases, depending on the datasource, when the Deskew property is enabled for other paper sizes as well.

Deskew with smoothing is only available for certain Panasonic scan drivers (memory transfer uncompressed mode only).

To find out if the datasource supports this functionality, please execute the IsCapSupported or the IsCapSupportedVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


DropoutColor (ImageKit Control/ Scan Property)

This property sets the dropout color. This property is only enabled when using a custom-built user interface (UiMode= 2).

[Visual Basic] imagekitcontrolname.Scan.DropoutColor [ = DropoutColorConstants ]
[Visual C++] imagekitcontrolname.GetScan().SetDropoutColor(long Val)
[VB.NET] imagekitcontrolname.Scan.DropoutColor [ = ImageKit10(A)Lib.DropoutColorConstants ]
[C#.NET] imagekitcontrolname.Scan.DropoutColor [ = ImageKit10(A)Lib.DropoutColorConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Red
1 | Green
2 | Blue
3 | None (Default)
4 | White

*1 This is a TWAIN setting that is not supported by the ImageKit10.

The following constants can be used: (ikDropoutColorRed = 0, ikDropoutColorGreen = 1, ikDropoutColorBlue = 2, ikDropoutColorNone = 3, ikDropoutColorWhite = 4)

Explanation

The DropoutColor property sets the dropout color. This property is only enabled when the UiMode property is 2(ikScanNONUI). Note: If a digital camera image or other scan device does not support this functionality, then this property is disabled. To disable the dropout color, please set this property to 3(ikDropoutColorNone) or 4(ikDropoutColorWhite). To find out if the datasource supports this functionality, please execute the GetCapEnum or the GetCapEnumVariant method.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


DsName (ImageKit Control/ Scan Property)

This property sets the name of the scan device. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.DsName [ = String ]
[Visual C++] imagekitcontrolname.GetScan().SetDsName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Scan.DsName [ = String ]
[C#.NET] imagekitcontrolname.Scan.DsName [ = string ]

Property Value

The name of the scan device

Explanation

The DsName property sets the name of the scan device. This property is only enabled when using a custom-built user interface (UiMode=2). The DsName property must be set prior to executing the OpenDS or the Exec (ExecVariant) methods. However, if the Exec (ExecVariant) method is executed after the OpenDS method then the DsName property value will be disregarded. If the DsName property is not set, the scan device selected by the Select method will be used.

The DsName property corresponds to the Scan Control's ScanDsName property in earlier versions of the ImageKit.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


DsNameCount (ImageKit Control/ Scan Property)

This property refers to the number of scan devices retrieved by the List method.

[Visual Basic] imagekitcontrolname.Scan.DsNameCount[ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetScan().GetDsNameCount()
[VB.NET] imagekitcontrolname.Scan.DsNameCount[ = Short ]
[C#.NET] imagekitcontrolname.Scan.DsNameCount[ = short ]

Property Value

The DsNameCount value is the number of scan devices retrieved by the List method

Explanation

The DsNameCount property refers to the number of scan devices retrieved by the List method.

The DsNameCount property corresponds to the Scan Control's ScanDsNameCount property in earlier versions of the ImageKit.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


DsNameList (ImageKit Control/ Scan Property)

This property refers to the list of scan devices retrieved by the List method.

[Visual Basic] imagekitcontrolname.Scan.DsNameList[ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetScan().GetDsNameList()
[VB.NET] imagekitcontrolname.Scan.DsNameList[ = String ]
[C#.NET] imagekitcontrolname.Scan.DsNameList[ = string ]

Property Value

The DsNameList value is the list of scan devices retrieved by the List method

Explanation

The DsNameList property refers to the list of scan devices retrieved by the List method. When the List method executes successfully this property will be set with a string value listing the scan devices as follows,

"current,XXX,XXX,... ... .., "

"current" referes to a scan device currently selected. If the scan device isn't set then this property will start with a single comma, "," . There is a comma at the end of the string.

The DsNameList property corresponds to the Scan Control's ScanDsNameList property in earlier versions of the ImageKit.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


DynamicThreshold (ImageKit Control/ Scan Property)

This method sets the dynamic threshold level. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.DynamicThreshold [ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetDynamicThreshold(short Val)
[VB.NET] imagekitcontrolname.Scan.DynamicThreshold [ = Short ]
[C#.NET] imagekitcontrolname.Scan.DynamicThreshold [ = short ]

Property Value

Value | Explanation
0 | None
1 | Bright
2 | A little brighter
3 | Standard
4 | A little darker
5 | Dark

Explanation

This method sets the dynamic threshold level.

Dyanamic threshold is only available on certain Panasonic scan drivers

Dyanamic threshold functionality allows you to scan text and images clearly with optimum quality. This property is enabled when the UiMode property is 2(ikScanNONUI) and PixelType property is 0(ikScanPixelBW). The possible setting values supported by a scan device can be retrieved using the GetCapEnum (GetCapEnumVariant) method. When setting the DynamicThreshold property to 1 or more, then the values set in the BitDepthReduction, HalfTone, Sharpness , and Threshold properties will be disabled.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


ExtUiMode (ImageKit Control/ Scan Property)

This property sets whether or not the extended user interface is used.

[Visual Basic] imagekitcontrolname.Scan.ExtUiMode [ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetExtUiMode(short Val)
[VB.NET] imagekitcontrolname.Scan.ExtUiMode [ = Short ]
[C#.NET] imagekitcontrolname.Scan.ExtUiMode [ = short ]

Property Value

Value | Explanation
0 | Start up the UI mode that was last used
1 | Start up the professional mode
2 | Start up the automatic mode
3 | Start up the home mode
4 | Start up the automatic mode (with no error messages and supressed UI)
5 | Start up office mode
7 | Start up sheet feed only mode

Explanation

This property sets whether or not the extended user interface is used.

Extended UI mode is available only for certain Epson scan drivers

The ExtUiMode property settings are only possible when displayed with the standard "EPSON Scan" user interface. For example: In ES Series, all settings except 2 and 4 are possible. In the GT Series, all settings except 5 is possible when not connected to the ADF but if the ADF is connected then settings 2 or 4 are also not possible. The ExtUiMode property is enabled when the UiMode property is 0 (ikScanUI) or 1 (ikScanUICLOSE).

To retrieve the value supported by the scanner, execute the GetCapEnum method or the GetCapEnumVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


FileFormat (ImageKit Control/ Scan Property)

This property sets the file format when saving a file using file transfer.

[Visual Basic] imagekitcontrolname.Scan.FileFormat [ = ScanFileFormatConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetFileFormat()
imagekitcontrolname.GetScan().SetFileFormat(long Val)
[VB.NET] imagekitcontrolname.Scan.FileFormat [ = ScanFileFormatConstants ]
[C#.NET] imagekitcontrolname.Scan.FileFormat [ = ScanFileFormatConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refer to the Unicode version.

Property Value

Value | Explanation
0 | TIFF
1 | PICT
2 | BMP(Default)
3 | XBM
4 | JFIF(JPEG)
5 | FPX
6 | TIFF MULTI
7 | PNG
8 | SPIFF
9 | EXIF
10 | PDF
11 | JP2 (JPEG2000 Part1)
13 | JPX (JPEG2000 Part2)
14 | DEJAVE
15 | PDF/A (Version1)
16 | PDF/A (Version2)

The following constants can be used: (ikScanFileTIFF = 0, ikScanFilePICT = 1, ikScanFileBMP = 2, ikScanFileXBM = 3, ikScanFileJFIF = 4, ikScanFileFPX = 5, ikScanFileTIFFMULTI = 6, ikScanFilePNG = 7, ikScanFileSPIFF = 8, ikScanFileEXIF = 9, ikScanFilePdf = 10, ikScanFileJp2 = 11, ikScanFileJpx = 13, ikScanFileDejavu = 14, ikScanFilePdfA = 15, ikScanFilePdfA2 = 16)

Explanation

The FileFormat property sets the file format when saving a file using file transfer. Please set at appropriate value in the Compression property for the file format set here. Note that depending on the datasource, only uncompressed mode is possible when using file transfer. To retrieve the values supported by the datasource, please execute the GetCapEnum or the GetCapEnumVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


FileName (ImageKit Control/ Scan Property)

This property sets the file name when saving a file using file transfer or using memory transfer with compression.

[Visual Basic] imagekitcontrolname.Scan.FileName[ = String ]
[Visual C++] imagekitcontrolname.GetScan().SetFileName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Scan.FileName[ = String ]
[C#.NET] imagekitcontrolname.Scan.FileName[ = string ]

Property Value

The file name of the saved file

Explanation

The FileName property sets the file name when saving a file using file transfer or using memory transfer with compression. When the TransferMode property is 1 (ikScanFile) or 2 (ikScanMemory) and the Compression property is set to values other than 0 then the file will be saved according to the FileName property. (up to 255 bytes).

If the FileName property is set with an empty string, vbNullString(Visual Basic), NULL(Visual C++), Nothing(VB.NET), or null (C#.NET), or then the file cannot be saved. When using file transfer mode the a FileName property MUST be set. When the UiMode property is 2 (ikScanNONUI) and the ScanMode property is 0 (ikScanDOC), the file will be saved according to the FileName property. However, for other settings, a four digit series of numbers will be added just before the file extention. (i.e. Image.bmp will be Image0001.bmp).

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


FocusPosition (ImageKit Control/ Scan Property)

This property sets the focus position. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.FocusPosition[ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetFocusPosition(short Val)
[VB.NET] imagekitcontrolname.Scan.FocusPosition[ = Short ]
[C#.NET] imagekitcontrolname.Scan.FocusPosition[ = short ]

Property Value

The focus position. Default value is 0.

Explanation

The FocusPosition property sets the focus position, This is the position on the document plate where the focal sensor is. This property is only enabled when using and Epson scan driver supporting this capability and when using a custom-built user interface (UiMode=2).

To retrieve the values supported by the datasource, please use the GetCapRange or GetCapRangeVariant methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Gamma (ImageKit Control/ Scan Property)

This property sets the gamma correction. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.Gamma [ = Single ]
[Visual C++] imagekitcontrolname.GetScan().SetGamma(float Val)
[VB.NET] imagekitcontrolname.Scan.Gamma [ = Single ]
[C#.NET] imagekitcontrolname.Scan.Gamma [ = float ]

Property Value

The default value is 2.2.

Explanation

The Gamma property sets the gamma correction for the scan. This property is enabled when the UiMode property is 2 (ikScanNONUI). However, the Gamma property is disabled when using a digital camera or when the datasource does not support this functionality. To retrieve the values supported, please execute the GetCapRange or the GetCapRangeVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


HalfTone (ImageKit Control/ Scan Property)

This property sets the halftone. This property is only enabled when using a custom-built user interface (UiMode= 2).

[Visual Basic] imagekitcontrolname.Scan.HalfTone[ = String ]
[Visual C++] imagekitcontrolname.GetScan().SetHalfTone(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Scan.HalfTone[ = String ]
[C#.NET] imagekitcontrolname.Scan.HalfTone[ = string ]

Property Value

The halftone name

Explanation

The HalfTone property sets the halftone. This property is enabled when the UiMode property is 2 (ikScanNONUI), the PixelType property is 0 (ikScanPixelBW), and the BitDepthReduction property is 1 (ikBitDepthReductionHalfTone). However, the Halftone property is disabled when using a digital camera or when the datasource does not support this functionality. To retrieve the values supported, please execute the GetCapEnum or the GetCapRangeVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


HalfToneList (ImageKit Control/ Scan Property)

This property refers to the halftone list that is retrieved by the GetCapEnum or the GetCapEnumVariant method.

[Visual Basic] imagekitcontrolname.Scan.HalfToneList [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetScan().GetHalfToneList()
[VB.NET] imagekitcontrolname.Scan.HalfToneList [ = String ]
[C#.NET] imagekitcontrolname.Scan.HalfToneList [ = string ]

Property Value

The halftone list

Explanation

The HalfToneList property refers to the halftone list that is retrieved by the GetCapEnum or the GetCapEnumVariant method. If the GetCapEnum or the GetCapEnumVariant method is successfully executed, the list of halftone names is set into the HalfToneList property.

For example:

If only one halftone name is retrieved: "XXX,"

If more than one halftone name is retrieved: "XXX,YYY, ..., ..., ..., "

Where XXX and YYY refer to the halftone names separated by a comma and a comma is after the last halftone name in the list.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


Highlight (ImageKit Control/ Scan Property)

This property sets the scanning highlight. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.Highlight [ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetHighlight(short Val)
[VB.NET] imagekitcontrolname.Scan.Highlight [ = Short ]
[C#.NET] imagekitcontrolname.Scan.Highlight [ = short ]

Property Value

From 0 to 255

The Highlight property sets the highlight. (Default value is 255)

Explanation

The Highlight property sets the scanning highlight. This property is enabled when the UiMode property is 2 (ikScanNONUI).

The Highlight property is disabled if the PixelType property id 0 (ikScanPixelBW). The Highlight property cannot be used when scanning in black and white.

Note: This property is disabled for digital cameras and scanners that do not support this function. To retrieve the values supported by the datasource, please execute the GetCapRange, the GetCapRangeVariant, the GetCapEnum or the GetCapEnumVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


IgnoreBackColor (ImageKit Control/ Scan Property)

This property sets whether or not the background color of the document is ignored when automatically determining whether to scan in black and white or in color. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.IgnoreBackColor [ = Boolean ]
[Visual C++] imagekitcontrolname.GetScan().SetIgnoreBackColor(BOOL Val)
[VB.NET] imagekitcontrolname.Scan.IgnoreBackColor [ = Boolean ]
[C#.NET] imagekitcontrolname.Scan.IgnoreBackColor [ = bool ]

Property Value

Value | Explanation
True | Ignore the back color
False | Does not ignore the back color(Default)

Explanation

The IgnoreBackColor property sets whether or not the background color of the document is ignored when automatically determining whether to scan in black and white or in color.

IgnoreBackColor is only available with certain Panasonic scan drivers
This property is enabled when the UiMode property is 2(ikScanNONUI) and the PixelType property is 1000(ikScanPixelAutomation).

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


ImageFilter (ImageKit Control/ Scan Property)

This property sets the image filter. This property is only enabled when using a custom-built user interface (UiMode= 2).

[Visual Basic] imagekitcontrolname.Scan.ImageFilter [ = ImageFilterConstants ]
[Visual C++] imagekitcontrolname.GetScan().SetImageFilter(long Val)
[VB.NET] imagekitcontrolname.Scan.ImageFilter [ = ImageKit10(A)Lib.ImageFilterConstants ]
[C#.NET] imagekitcontrolname.Scan.ImageFilter [ = ImageKit10(A)Lib.ImageFilterConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | None
1 | Automation
2 | LOWPASS
3 | BANDPASS
4 | HIGHPASS

The following constants can be used: (ikImageFilterNone = 0, ikImageFilterAuto = 1, ikImageFilterLowPass = 2, ikImageFilterBandPass = 3, ikImageFilterHiPass = 4)

Explanation

This property sets the image filter, which can improve image quality. LOWPASS is recommended for haftone images, BANDPASS for images that include text, and HIGHPASS for images that include lines. The ImageFilter property is enabled whent the UiMode property is 2 (ikScanNONUI). Note that the ImageFilter property is disabled when using a digital camera or when the datasource does not support this functionality. To retrieve the values supported, please execute the GetCapEnum or the GetCapRangeVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


ImageMerge (ImageKit Control/ Scan Property)

This property sets the double sided merge mode. This property is only enabled when using a custom-built user interface (UiMode= 2).

[Visual Basic] imagekitcontrolname.Scan.ImageMerge [ = ScanImageMergeConstants ]
[Visual C++] imagekitcontrolname.GetScan().SetImageMerge(long Val)
[VB.NET] imagekitcontrolname.Scan.ImageMerge [ = ImageKit10(A)Lib.ScanImageMergeConstants ]
[C#.NET] imagekitcontrolname.Scan.ImageMerge [ = ImageKit10(A)Lib.ScanImageMergeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Images from both sides of the document are not merged
1 | Images are merged. The front image is on top and the back image is on the bottom.
2 | Images are merged. The back image is on top and the front image is on the bottom.
3 | Images are merged. The front image is on the left and the back image is on the left.
4 | Images are merged. The front image is on the right and the back image is on the right.

The following constants can be used: (ikScanImageMergeNone = 0, ikScanImageMergeFrontOnTop = 1, ikScanImageMergeFrontOnBottom = 2, ikScanImageMergeFrontOnLeft = 3, ikScanImageMergeFrontOnRight = 4)

Explanation

The ImageMerge property sets the double sided merge mode. When using ADF duplex scanning, a value of 1 or more for this property will merge the front and back images into a single image. Default value is 0. This property is enabled when using a custom-built user interface (UiMode= 2) and when the ScanMode property is 2 (ikScanADF2). Keep in mind that rotation settings will affect the output of ImageMerge. To find out if the datasource supports this property, exercute the GetCapEnum or GetCapEnumVariant methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Indicator (ImageKit Control/ Scan Property)

This property sets whether or not the indicator is displayed when scanning. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.Indicator[ = Boolean ]
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().GetIndicator()
imagekitcontrolname.GetScan().SetIndicator(BOOL Val)
[VB.NET] imagekitcontrolname.Scan.Indicator[ = Boolean ]
[C#.NET] imagekitcontrolname.Scan.Indicator[ = bool ]

Property Value

Value | Explanation
True | The indicator is displayed (Default)
False | The indicator is not displayed

Explanation

The Indicator property sets whether or not the indicator is displayed when scanning. This property is enabled when the UiMode property is 2 (ikScanNONUI). The default value is True.

Note: The Indicator property is disabled for scan devices that do not support this function.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


InformationFileName (ImageKit Control/ Scan Property)

This property sets the filename and path where the information file is saved.

[Visual Basic] imagekitcontrolname.Scan.InformationFileName[ = String ]
[Visual C++] imagekitcontrolname.GetScan().SetInformationFileName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Scan.InformationFileName[ = String ]
[C#.NET] imagekitcontrolname.Scan.InformationFileName[ = string ]

Property Value

The filename and path of the information file

Explanation

The InformationFileName property sets the filename and path where the information file is saved.

Using the InformationFileName property, you can save the settings from the manufacturer's scan interface (UI) into an information file so that those settings can be used thereafter. It is necessary to display the manufacturer's UI at least once, but after the property values from the UI have been saved in the information file, you can scan using the settings from the information file.

Here is some sample code to illustrate:

     'Display manufacturer's UI and save the settings
                in the information file.
Dim Index(10) As Integer
ImageKit1.Scan.UiMode = ikScanSetUIOnly
ImageKit1.Scan.InformationFileName = "ui.dat"
Ret = ImageKit1.Scan.Exec(Index(0))

'Use the information file to scan
Dim Index(10) As Integer
ImageKit1.Scan.UiMode = ikScanNONUI
ImageKit1.Scan.ScanMode = ikInformationFile
ImageKit1.Scan.InformationFileName = "ui.dat"
Ret = ImageKit1.Scan.Exec(Index(0))

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


JpegQuality (ImageKit Control/ Scan Property)

This property sets the JpegQuality when using file or memory transfer with JPEG compression.

[Visual Basic] imagekitcontrolname.Scan.JpegQuality [ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetJpegQuality(short Val)
[VB.NET] imagekitcontrolname.Scan.JpegQuality [ = Short ]
[C#.NET] imagekitcontrolname.Scan.JpegQuality [ = Short ]

Property Value

-4Fundefined, -3:Low quality, -2FMiddle quality, -1: High quality, 0`100.

Explanation

The JpegQuality property sets the JpegQuality when using file or memory transfer with JPEG compression. This property is enabled when the TransferMode property is 1 (ikScanFile) or 2 (ikScanMemory) and the Compression property is 6 (ikScanJPEG). The possible setting values supported by a scan device can be retrieved using the GetCapRange, the GetCapRangeVariant, the GetCapEnum, or the GetCapEnumVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Manufacturer (ImageKit Control/ Scan Property)

This property refers to to the scan device manufacturer's name as retrieved by the Select method or the GetDSInfo method.

[Visual Basic] imagekitcontrolname.Scan.Manufacturer [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetScan().GetManufacturer()
[VB.NET] imagekitcontrolname.Scan.Manufacturer [ = String ]
[C#.NET] imagekitcontrolname.Scan.Manufacturer [ = string ]

Reference

The scan device manufacturer's name

Explanation

The Manufacturer property refers to various information about the scan device as retrieved by the Select method or the GetDSInfo method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


MoireFilter (ImageKit Control/ Scan Property)

This property sets the level for the Moire filter. This property is only enabled when using a custom-built user interface (UiMode= 2).

[Visual Basic] imagekitcontrolname.Scan.MoireFilter[ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetMoireFilter(short Val)
[VB.NET] imagekitcontrolname.Scan.MoireFilter[ = Short ]
[C#.NET] imagekitcontrolname.Scan.MoireFilter[ = short ]

Property Value

For Epson Scan Drivers
Value | Explanation
0 | None
1 | Standard (This can be used for general settings)
2 | 85lpi (This can be used for Newspapers)
3 | 133lpi (This can be used for Magazines and Catalogs)
4 | 175lpi (This can be used for Pictures)

For Canon DR Scan Drivers
Value | Explanation
1 | None
2 | High scan speed
3 | High scan quality

For PFU Scan Drivers
Value | Explanation
0 | None
1 | Moire Filter level 1
2 | Moire Filter level 2
3 | Moire Filter level 3
4 | Moire Filter level 4

For Pamasonic Scan Drivers
Value | Explanation
0 | None
1 | Moire Filter

Explanation

The MoireFilter property sets the level for removal of moire interference. This property is enabled when the UiMode property is 2(ikScanNONUI).

The Moire filter is enabled for certain Epson, Canon DR, PFU, and Panasonic scan drivers. When using an Epson scanner, the datasource will be "Epson Scan" which will allow the above settings. Note that some Epson scanners, depending on the version, allow for only "on / off" settings. In this case the ImageKit will accept values of 0 or nonzero.

When using a Canon DR scanner, this property is enabled when the scan resolution is set to 300dpi or less.

When using a PFU scanner, this property is enabled when the Sharpness property is set to 0.

When using a Panasonic scanner, moire filter and multistream cannot be used at the same time. You must choose to use one or the other.

This property is disabled when the scan datasource does not support Moire filter.

The possible setting values supported by a scan device can be retrieved using the GetCapEnum or the GetCapEnumVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


NoiseFilter (ImageKit Control/ Scan Property)

This property sets the noise reduction filter. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.NoiseFilter [ = NoiseFilterConstants ]
[Visual C++] imagekitcontrolname.GetScan().SetNoiseFilter(long Val)
[VB.NET] imagekitcontrolname.Scan.NoiseFilter [ = ImageKit10(A)Lib.NoiseFilterConstants ]
[C#.NET] imagekitcontrolname.Scan.NoiseFilter [ = ImageKit10(A)Lib.NoiseFilterConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | None
1 | Automatic
2 | LONEPIXEL
3 | MAJORITYRULE

The following constants can be used: (ikNoiseFilterNone = 0, ikNoiseFilterAuto = 1, ikNoiseFilterLonePixel = 2, ikNoiseFilterMajorityRule = 3).

Explanation

This property sets the noise reduction filter for black and white images. This property is enabled when the UiMode property is 2(ikScanNONUI) however it is disabled when using a digital camera. The possible setting values supported by a scan device can be retrieved using the GetCapEnum or the GetCapEnumVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


Orientation (ImageKit Control/ Scan Property)

This property sets the orientation of the paper. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.Orientation[ = ScanOrientationConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetOrientation()
imagekitcontrolname.GetScan().SetOrientation(long Val)
[VB.NET] imagekitcontrolname.Scan.Orientation[ = ImageKit10(A)Lib.ScanOrientationConstants ]
[C#.NET] imagekitcontrolname.Scan.Orientation[ = ImageKit10(A)Lib.ScanOrientationConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | 0 degrees (portrait orientation). Default
1 | 90 degrees
2 | 180 degrees
3 | 270 degrees (landscape orientation)
1000 | Text orientation detection or automatic rotation

*Rotation is counter-clockwise.

The following constants can be used: (ikScanRotate0 = 0, ikScanRotate90 = 1, ikScanRotate180 = 2, ikScanRotate270 = 3), (ikScanTextOrientationRecognition = 1000)

Explanation

The Orientation property sets the orientation of the paper. The default value is 0 (portrait orientation). This property allows you to rotate the scan output of a page placed on the document plate or change the orientation of pages scanned from an ADF. This property is enabled when the UiMode property is 2 (ikScanNONUI). The Orientation property is disabled for digital cameras and scanners that do not support this function. The possible setting values supported by a scan device can be retrieved using the GetCapEnum or the GetCapEnumVariant method.

When the Orientation property is set to 1000 (ikScanTextOrientationRecognition), the orientation of the text contained in the document is recognized and the scan output is rotated in 90 degree increments to "correct" the text orientation. Canon DR scan drivers use "text orientation recognition". Panasonic scan drivers use "document orientation adjustment". Scan drivers that support TWAIN specification's "automatic rotation" also use the value of 1000 (ikScanTextOrientationRecognition).

To check whether or not the scan driver supports 1000 (ikScanTextOrientationRecognition), use the IsCapSupported method or the IsCapSupportedVariant method.

With a scan driver that supports 1000 (ikScanTextOrientationRecognition), if the output is not appropriate to the ikScanTextOrientationRecognition settings, please set the paper to portrait orientation.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

Text orientation recognition or automatic rotation was added in the Ik8.


OverScan (ImageKit Control/ Scan Property)

This property sets whether or not overscan is used when scanning. Overscan refers to increasing the scanning area to scan beyond that area.

[Visual Basic] imagekitcontrolname.Scan.OverScan [ = OverScanConstants ]
[Visual C++] imagekitcontrolname.GetScan().SetOverScan(long Val)
[VB.NET] imagekitcontrolname.Scan.OverScan [ = ImageKit10(A)Lib.OverScanConstants ]
[C#.NET] imagekitcontrolname.Scan.OverScan [ = ImageKit10(A)Lib.OverScanConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Uses the set scan size to scan
1 | Considers the scan size setting and automatically scans
2 | Uses the scan size setting as a base then increases the top and bottom dimensions to scan
3 | Uses the scan size setting as a base then increases the left and right dimensions to scan
4 | Uses the scan size setting as a base then increases the top, bottom, left, and right dimensions to scan

The following constants can be used: (ikScanNone = 0, IkScanAuto = 1, ikScanTopBottom = 2, ikScanLeftRight = 3, ikScanAll = 4)

Explanation

The OverScan property sets whether or not overscan is used when scanning. Overscan refers to increasing the scanning area to scan beyond that area. By using this property, the scanning area (see RectLeft, RectTop, RectRight, RectBottom, PaperSize properties) can be increased to capture portions of the document outside of this area, for example when the paper is not properly aligned on the document plate.

The OverScan property is enabled with the UiMode property is set to 2 (ikScanNONUI). However, it is not enabled when using digital cameras or scan drivers that do not support overscan. To check whether the scan driver support overscan use the GetCapEnum or GetCapEnumVariant methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


PageCount (ImageKit Control/ Scan Property)

This property sets the number of images to be scanned. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.PageCount[ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetPageCount(short Val)
[VB.NET] imagekitcontrolname.Scan.PageCount[ = Short ]
[C#.NET] imagekitcontrolname.Scan.PageCount[ = short ]

Property Value

Value | Explanation
0 or less | Scans all images (ADF, digital camera)
1 or more | Scans the specified number of images

Explanation

The PageCount property sets the number of images to be scanned. This property is enabled when the UiMode property is 2. To scan all of the images in the ADF or digital camera, set this property to 0 or less. To specify the number of images to be scanned, set that number in the PageCount property. When retrieving images from a digital camera using an array, set the PageCount property to be the same as the number of elements in the array. When the ScanMode property is 2 (ADF duplex), even if an odd number is set into the PageCount property, the number of pages scanned will be an even number (so as to scan both sides of the paper).

The PageCount property is disabled when the UiMode property is NOT 2 (ikScanNONUI) or when using the document plate to scan.

When the PixelType property is set to 1001(ikScanPixelGrayAndBW) or 1002(ikScanPixelRGBAndBW), for each page, two images are scanned so you should set the PageCount property to an even number. When using Panasonic scan drivers with the PixelType property is set to 1001(ikScanPixelGrayAndBW) or 1002(ikScanPixelRGBAndBW), set the PageCount property to 0 or less (1 or more is ignored).

Note: Not all scan devices support this functionality. In some cases where the scan device does not support this function or does not correctly support this function, after the number of images specified by the PageCount property have been scanned, the scanning procedure is canceled. Depending on the type of equipment, paper could be left inside the scan device or ADF.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


PaperSize (ImageKit Control/ Scan Property)

This property sets the size of the paper. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.PaperSize [ = ScanPaperSizeConstants ]
[Visual C++] imagekitcontrolname.GetScan().SetPaperSize(long Val)
[VB.NET] imagekitcontrolname.Scan.PaperSize [ = ImageKit10(A)Lib.ScanPaperSizeConstants ]
[C#.NET] imagekitcontrolname.Scan.PaperSize [ = ImageKit10(A)Lib.ScanPaperSizeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation | Size
0 | User defined size |
1 | A4 | 210mm x 297mm
2 | JIS B5 | 182mm x 257mm
3 | US letter | 8.5" x 11.0" (216mm x 280mm)
4 | US legal | 11.0" x 17.0" (216mm x 356mm)
5 | A5 | 148mm x 210mm
6 | ISO B4 | 250mm x 353mm
7 | ISO B6 | 125mm x 176mm
9 | US ledger | 11.0" x 17.0" (280mm x 432mm)
10 | US executive | 7.25" x 10.5" (184mm x 267mm)
11 | A3 | 297mm x 420mm
12 | ISO B3 | 353mm x 500mm
13 | A6 | 105mm x 148mm
14 | C4 | 229mm x 324mm
15 | C5 | 162mm x 229mm
16 | C6 | 114mm x 162mm
17 | 4A0 | 1682mm x 2378mm
18 | 2A0 | 1189mm x 1682mm
19 | A0 | 841mm x 1189mm
20 | A1 | 594mm x 841mm
21 | A2 | 420mm x 594mm
22 | A7 | 74mm x 105mm
23 | A8 | 52mm x 74mm
24 | A9 | 37mm x 52mm
25 | A10 | 26mm x 37mm
26 | ISO B0 | 1000mm x 1414mm
27 | ISO B1 | 707mm x 1000mm
28 | ISO B2 | 500mm x 707mm
29 | ISO B5 | 176mm x 250mm
30 | ISO B7 | 88mm x 125mm
31 | ISO B8 | 62mm x 88mm
32 | ISO B9 | 44mm x 62mm
33 | ISO B10 | 31mm x 44mm
34 | JIS B0 | 1030mm x 1456mm
35 | JIS B1 | 728mm x 1030mm
36 | JIS B2 | 515mm x 728mm
37 | JIS B3 | 364mm x 515mm
38 | JIS B4 | 257mm x 364mm
39 | JIS B6 | 128mm x 182mm
40 | JIS B7 | 91mm x 128mm
41 | JIS B8 | 64mm x 91mm
42 | JIS B9 | 45mm x 64mm
43 | JIS B10 | 32mm x 45mm
44 | C0 | 917mm x 1297mm
45 | C1 | 648mm x 917mm
46 | C2 | 458mm x 648mm
47 | C3 | 324mm x 458mm
48 | C7 | 81mm x 114mm
49 | C8 | 57mm x 81mm
50 | C9 | 40mm x 57mm
51 | C10 | 28mm x 40mm
52 | US statement | 5.5" x 8.5" (140mm x 216mm)
53 | Business card | 90mm x 55mm
54 | Maximum Size |
1000 | Undefined |

The following constants can be used:
                (ikScanUserSize = 0, ikScanA4LETTER = 1, ikScanB5LETTER = 2, ikScanUSLETTER =
                3, ikScanUSLEGAL = 4, ikScanA5 = 5, ikScanB4 = 6, ikScanB6 = 7, ikScanUSLEDGER
                = 9, ikScanUSEXECUTIVE = 10, ikScanA3 = 11, ikScanB3 = 12, ikScanA6 = 13,
                ikScanC4 = 14, ikScanC5 = 15, ikScanC6 = 16, ikScan4A0 = 17, ikScan2A0 = 18,
                ikScanA0 = 19, ikScanA1 = 20, ikScanA2 = 21, ikScanA4 = 1, ikScanA7 = 22,
                ikScanA8 = 23, ikScanA9 = 24, ikScanA10 = 25, ikScanISOB0 = 26, ikScanISOB1 =
                27, ikScanISOB2 = 28, ikScanISOB3 = 12, ikScanISOB4 = 6, ikScanISOB5 = 29,
                ikScanISOB6 = 7, ikScanISOB7 = 30, ikScanISOB8 = 31, ikScanISOB9 = 32,
                ikScanISOB10 = 33, ikScanJISB0 = 34, ikScanJISB1 = 35, ikScanJISB2 = 36,
                ikScanJISB3 = 37, ikScanJISB4 = 38, ikScanJISB5 = 2, ikScanJISB6 = 39,
                ikScanJISB7 = 40, ikScanJISB8 = 41, ikScanJISB9 = 42, ikScanJISB10 = 43,
                ikScanC0 = 44, ikScanC1 = 45, ikScanC2 = 46, ikScanC3 = 47, ikScanC7 = 48,
                ikScanC8 = 49, ikScanC9 = 50, ikScanC10 = 51, ikScanUSSTATEMENT = 52,
                ikScanBUSINESSCARD = 53, ikScanBUSINESSCARD = 54, ikScanUndefinedSize = 1000).

Explanation

The PaperSize property sets the size of thepaper. This property is enabled when the UiMode property is 2 (ikScanNONUI). However this property is disabled when using a digital camera. To enable the RectLeft, RectTop, RectRight, and RectBottom properties, set the PaperSize property to 0 or less.

Depending on the datasource (scan driver), using a user defined paper size (0) and setting the scan area, may still result in a start position of the scan being incorrect. If that is the case, please use one of the above constant values (1 or more) for the paper size and set this to a NEGATIVE value. (Please refer to the example code below).

Example Code

(The PaperSize is set to 0 and the scan area is set but the scan position is wrong)

ImageKit1.Scan.UiMode = ikScanNONUI

ImageKit1.Scan.UnitMode = ikScanCM

ImageKit1.Scan.PaperSize = 0

ImageKit1.Scan.RectLeft = 0

ImageKit1.Scan.RectTop = 0

ImageKit1.Scan.RectRight = 6.9

ImageKit1.Scan.RectBottom = 10.2

(The PaperSize is set to one of the above constants with a NEGATIVE value -> the scan position is correct)

ImageKit1.Scan.UiMode = ikScanNONUI

ImageKit1.Scan.UnitMode = ikScanCM

ImageKit1.Scan.PaperSize = -3 ' US Letter size

ImageKit1.Scan.RectLeft = 0

ImageKit1.Scan.RectTop = 0

ImageKit1.Scan.RectRight = 6.9

ImageKit1.Scan.RectBottom = 10.2

Note: Please set the PaperSize property to a size supported by the datasource (scan driver) or set it to the largest supported paper size. With some datasources the PaperSize property has no effect. Please refer to the scan manufacturer for details.

The possible PaperSize settings supported by a scan device can be retrieved using the GetCapEnum or the GetCapEnumVariant method. For scan devices that only support a fixed paper size or do not support paper size settings set this property to 0.

When PaperSize is set to "undefined" (1000), the paper size is automatically detected then the document is scanned, however, with scanners that can only detect one dimension (either height or width) there are cases when the automatic detection does not work properly. To find out if "Undefined" paper size is supported by the datasource, please execute the IsCapSupported or the IsCapSupportedVariant method.

If undefined size is supported and the automatic detection of paper size does not work properly, even if you set 1000 to PaperSize property, try the following procedure.

(1) Set BorderDetection property to True. If you are using a PFU scanner driver that does not work properly at this stage, go to (2).

(2) In addition to 1000, set the maximum readable paper size to the PaperSize property. For example, if the maximum size is A3, set PaperSize = 1000 + 11.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


PixelType (ImageKit Control/ Scan Property)

This property sets the type of image scanned. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.PixelType[ = ScanPixelTypeConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetPixelType()
imagekitcontrolname.GetScan().SetPixelType(long Val)
[VB.NET] imagekitcontrolname.Scan.PixelType[ = ImageKit10(A)Lib.ScanPixelTypeConstants ]
[C#.NET] imagekitcontrolname.Scan.PixelType[ = ImageKit10(A)Lib.ScanPixelTypeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Black and White (1bit)
1 | Grayscale (4bit, 8bit, 12bit, 14bit, or 16bit)
2 | RGB color (24bit, 36bit, 42bit, or 48bit). Default
3 | Palette color (4bit, 8bit)
1000 | Automatically detects whether scan is black & white or color (1bit or 24bit)
1001 | Black & white and grayscale (1bit and 8bit)
1002 | Black & white and RGB color (1bit and 24bit)

The following constants can be used: (ikScanPixelBW = 0, ikScanPixelGray = 1, ikScanPixelRGB = 2, ikScanPixelPalette = 3, ikScanPixelAutomation = 1000, ikScanPixelGrayAndBW = 1001, ikScanPixelRGBAndBW = 1002).

Explanation

The PixelType property sets the type of image scanned. The default value is 2 (RGB color). This property is enabled when the UiMode is 2 (ikScanNONUI). This property is disabled for digital cameras and scanners that do not support this function. The possible setting values supported by a scan device can be retrieved using the GetCapEnum or theGetCapEnumVariant method.

The value 1000(ikScanPixelAutomation) is enabled for certain Panasonic scanners (memory transfer uncompressed only) or for certain Canon DR scanners, Epson scanners, and PFU scanners. 1001 (ikScanPixelGrayAndBW), and 1002 (ikScanPixelRGBAndBW) are enabled for certain Canon DR scanners, Panasonic scanners (memory transfer uncompressed only), Epson, or PFU scanners.

To check whether or not 1000(ikScanPixelAutomation), 1001 (ikScanPixelGrayAndBW), and 1002 (ikScanPixelRGBAndBW) are supported by your scanner, execute the IsCapSupported or the IsCapSupportedVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

Multi-stream scanning is now possible.

[Differences from the ImageKit8 ActiveX]

Supports Epson scan driver double image output (multi-stream).


ProductFamily (ImageKit Control/ Scan Property)

This property refers to the scan device product family name as retrieved by the Select method or the GetDSInfo method.

[Visual Basic] imagekitcontrolname.Scan.ProductFamily [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetScan().GetProductFamily()
[VB.NET] imagekitcontrolname.Scan.ProductFamily [ = String ]
[C#.NET] imagekitcontrolname.Scan.ProductFamily [ = string ]

Reference

The scan device product family name

Explanation

The ProductFamily property refers to the scan device product family name as retrieved by the Select method or the GetDSInfo method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


ProductName (ImageKit Control/ Scan Property)

This property refers to the scan device product name as retrieved by the Select method or the GetDSInfo method.

[Visual Basic] imagekitcontrolname.Scan.ProductName [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetScan().GetProductName()
[VB.NET] imagekitcontrolname.Scan.ProductName [ = String ]
[C#.NET] imagekitcontrolname.Scan.ProductName [ = string ]

Reference

The scan device product name

Explanation

The ProductName property refers to the scan device product name as retrieved by the Select method or the GetDSInfo method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


ProtocolMajor (ImageKit Control/ Scan Property)

This property refers to the TWAIN major version number as retrieved by the Select method or the GetDSInfo method.

[Visual Basic] imagekitcontrolname.Scan.ProtocolMajor [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetScan().GetProtocolMajor()
[VB.NET] imagekitcontrolname.Scan.ProtocolMajor [ = Short ]
[C#.NET] imagekitcontrolname.Scan.ProtocolMajor [ = short ]

Reference

The the major version number of the TWAIN specification supported by the scan device

Explanation

The ProtocolMajor property refers to the TWAIN major version number as retrieved by the Select method or the GetDSInfo method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


ProtocolMinor (ImageKit Control/ Scan Property)

This property refers to the TWAIN minor version number as retrieved by the Select method or the GetDSInfo method.

[Visual Basic] imagekitcontrolname.Scan.ProtocolMinor [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetScan().GetProtocolMinor()
[VB.NET] imagekitcontrolname.Scan.ProtocolMinor [ = Short ]
[C#.NET] imagekitcontrolname.Scan.ProtocolMinor [ = short ]

Reference

The minor version number of the TWAIN specification supported by the scan device

Explanation

The ProtocolMinor property refers to the TWAIN minor version number as retrieved by the Select method or the GetDSInfo method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


RangeCurrent (ImageKit Control/ Scan Property)

This property refers to the current setting for a specified functionality as retrieved by the GetCapRange or theGetCapRangeVariant method.

[Visual Basic] imagekitcontrolname.Scan.RangeCurrent [ = Single ]
[Visual C++] [ float = ]imagekitcontrolname.GetScan().GetRangeCurrent()
[VB.NET] imagekitcontrolname.Scan.RangeCurrent [ = Single ]
[C#.NET] imagekitcontrolname.Scan.RangeCurrent [ = float ]

Reference

The current setting for that functionality

Explanation

The RangeCurrent property refers to the current setting for a specified functionality as retrieved by the GetCapRange or theGetCapRangeVariant method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


RangeDefault (ImageKit Control/ Scan Property)

This property refers to the default setting for a specified functionality as retrieved by the GetCapRange or theGetCapRangeVariant method.

[Visual Basic] imagekitcontrolname.Scan.RangeDefault [ = Single ]
[Visual C++] [ float = ]imagekitcontrolname.GetScan().GetRangeDefault()
[VB.NET] imagekitcontrolname.Scan.RangeDefault [ = Single ]
[C#.NET] imagekitcontrolname.Scan.RangeDefault [ = float ]

Reference

The default setting for that functionality. (The setting when the device is turned on.)

Explanation

The RangeDefault property refers to the maximum setting for a specified functionality as retrieved by the GetCapRange or theGetCapRangeVariant method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


RangeMax (ImageKit Control/ Scan Property)

This property refers to the maximum setting for a specified functionality as retrieved by the GetCapRange or theGetCapRangeVariant method.

[Visual Basic] imagekitcontrolname.Scan.RangeMax [ = Single ]
[Visual C++] [ float = ]imagekitcontrolname.GetScan().GetRangeMax()
[VB.NET] imagekitcontrolname.Scan.RangeMax [ = Single ]
[C#.NET] imagekitcontrolname.Scan.RangeMax [ = float ]

Reference

The maximum setting for that functionality

Explanation

The RangeMax property refers to the maximum setting for a specified functionality as retrieved by the GetCapRange or theGetCapRangeVariant method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


RangeMin (ImageKit Control/ Scan Property)

This property refers to the minimum setting for a specified functionality as retrieved by the GetCapRange or theGetCapRangeVariant method.

[Visual Basic] imagekitcontrolname.Scan.RangeMin [ = Single ]
[Visual C++] [ float = ]imagekitcontrolname.GetScan().GetRangeMin()
[VB.NET] imagekitcontrolname.Scan.RangeMin [ = Single ]
[C#.NET] imagekitcontrolname.Scan.RangeMin [ = float ]

Reference

The minimum setting for the specified functionality

Explanation

The RangeMin property refers to the minimum setting for a specified functionality as retrieved by the GetCapRange or theGetCapRangeVariant method

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


RangeStep (ImageKit Control/ Scan Property)

This property refers to the information retrieved by the GetCapRange or the GetCapRangeVariant method, which can retrieve a range of possible setting values for the specified functionality in the scan device.

[Visual Basic] imagekitcontrolname.Scan.RangeStep [ = Single ]
[Visual C++] [ float = ]imagekitcontrolname.GetScan().GetRangeStep()
[VB.NET] imagekitcontrolname.Scan.RangeStep [ = Single ]
[C#.NET] imagekitcontrolname.Scan.RangeStep [ = float ]

Reference

The size of the steps in the settings from RangeMin to RangeMax

Explanation

The RangeStep property refers to the information retrieved by the GetCapRange or the GetCapRangeVariant method, which can retrieve a range of possible setting values for the specified functionality in the scan device.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


RectBottom (ImageKit Control/ Scan Property)

This property sets the scanning position. This property is enabled when using a custom-built user interface (UiMode=2).
[Visual Basic] imagekitcontrolname.Scan.RectBottom [ = Single ]
[Visual C++] [ float = ]imagekitcontrolname.GetScan().GetRectBottom()
imagekitcontrolname.GetScan().SetRectBottom(float Val)
[VB.NET] imagekitcontrolname.Scan.RectBottom [ = Single ]
[C#.NET] imagekitcontrolname.Scan.RectBottom [ = float ]

Property Value

The value of this property depends on the UnitMode property setting. When the UnitMode property is 0, the unit of this property is inches. Other possible UnitMode property settings: 1 = cm, 2 = pica, 3 = points, 4 = twips, 5 = pixels.

Explanation

The RectBottom property sets the bottom position of the area on the image to bescanned. This property value is enabled when the UiMode property is 2 (ikScanNONUI) and the PaperSize property is 0. (If the PaperSize property is set to a value other than 0, the scan device will scan the area specifed by that size.)

After the scan has completed, the exact dimensions (in the units specified in the UnitMode property) of the actual area scanned are reset into the value of the RectBottom, RectLeft, RectRight, and RectTop properties. (These dimensions may be slightly different than the value set by the user prior to the scan). If you wish to use the default values of the scan device, set the RectLeft, RectTop, RectRight, and RectBottom properties to 0.

Note: The RectBottom, RectLeft, RectRight, and RectTop properties are disabled when using a digital camera.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


RectLeft (ImageKit Control/ Scan Property)

This property sets the scanning position. This property is enabled when using a custom-built user interface (UiMode=2).
[Visual Basic] imagekitcontrolname.Scan.RectLeft [ = Single ]
[Visual C++] [ float = ]imagekitcontrolname.GetScan().GetRectLeft()
imagekitcontrolname.GetScan().SetRectLeft(float Val)
[VB.NET] imagekitcontrolname.Scan.RectLeft [ = Single ]
[C#.NET] imagekitcontrolname.Scan.RectLeft [ = float ]

Property Value

The value of this property depends on the UnitMode property setting. When the UnitMode property is 0, the unit of this property is inches. Other possible UnitMode property settings: 1 = cm, 2 = pica, 3 = points, 4 = twips, 5 = pixels.

Explanation

The RectLeft property sets the left position of the area on the image to bescanned. This property value is enabled when the UiMode property is 2 (ikScanNONUI) and the PaperSize property is 0. (If the PaperSize property is set to a value other than 0, the scan device will scan the area specifed by that size.)

After the scan has completed, the exact dimensions (in the units specified in the UnitMode property) of the actual area scanned are reset into the value of the RectBottom, RectLeft, RectRight, and RectTop properties. (These dimensions may be slightly different than the value set by the user prior to the scan). If you wish to use the default values of the scan device, set the RectLeft, RectTop, RectRight, and RectBottom properties to 0.

Note: The RectBottom, RectLeft, RectRight, and RectTop properties are disabled when using a digital camera.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


RectRight (ImageKit Control/ Scan Property)

This property sets the scanning position. This property is enabled when using a custom-built user interface (UiMode=2).
[Visual Basic] imagekitcontrolname.Scan.RectRight [ = Single ]
[Visual C++] [ float = ]imagekitcontrolname.GetScan().GetRectRight()
imagekitcontrolname.GetScan().SetRectRight(float Val)
[VB.NET] imagekitcontrolname.Scan.RectRight [ = Single ]
[C#.NET] imagekitcontrolname.Scan.RectRight [ = float ]

Property Value

The value of this property depends on the UnitMode property setting. When the UnitMode property is 0, the unit of this property is inches. Other possible UnitMode property settings: 1 = cm, 2 = pica, 3 = points, 4 = twips, 5 = pixels.

Explanation

The RectRight property sets the right position of the area on the image to bescanned. This property value is enabled when the UiMode property is 2 (ikScanNONUI) and the PaperSize property is 0. (If the PaperSize property is set to a value other than 0, the scan device will scan the area specifed by that size.)

After the scan has completed, the exact dimensions (in the units specified in the UnitMode property) of the actual area scanned are reset into the value of the RectBottom, RectLeft, RectRight, and RectTop properties. (These dimensions may be slightly different than the value set by the user prior to the scan). If you wish to use the default values of the scan device, set the RectLeft, RectTop, RectRight, and RectBottom properties to 0.

Note: The RectBottom, RectLeft, RectRight, and RectTop properties are disabled when using a digital camera.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


RectTop (ImageKit Control/ Scan Property)

This property sets the scanning position. This property is enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.RectTop [ = Single ]
[Visual C++] [ float = ]imagekitcontrolname.GetScan().GetRectTop()
imagekitcontrolname.GetScan().SetRectTop(float Val)
[VB.NET] imagekitcontrolname.Scan.RectTop [ = Single ]
[C#.NET] imagekitcontrolname.Scan.RectTop [ = float ]

Property Value

The value of this property depends on the UnitMode property setting. When the UnitMode property is 0, the unit of this property is inches. Other possible UnitMode property settings: 1 = cm, 2 = pica, 3 = points, 4 = twips, 5 = pixels.

Explanation

The RectTop property sets the top position of the area on the image to be scanned. This property value is enabled when the UiMode property is 2 (ikScanNONUI) and the PaperSize property is 0. (If the PaperSize property is set to a value other than 0, the scan device will scan the area specifed by that size.)

After the scan has completed, the exact dimensions (in the units specified in the UnitMode property) of the actual area scanned are reset into the value of the RectBottom, RectLeft, RectRight, and RectTop properties. (These dimensions may be slightly different than the value set by the user prior to the scan). If you wish to use the default values of the scan device, set the RectLeft, RectTop, RectRight, and RectBottom properties to 0.

Note: The RectBottom, RectLeft, RectRight, and RectTop properties are disabled when using a digital camera.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


RemoveHole (ImageKit Control/ Scan Property)

This property sets whether or not punch hole removal is used. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.RemoveHole[ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetRemoveHole(short Val)
[VB.NET] imagekitcontrolname.Scan.RemoveHole[ = Short ]
[C#.NET] imagekitcontrolname.Scan.RemoveHole[ = short ]

Property Value

Value | Explanation
0 | Punch hole removal is not used. (Default)
1 | Punch hole removal is used. (For PFU: The hole is filled with white)
2 | Punch hole removal is used. (For PFU: The hole is filled with the surrounding color)

Explanation

The RemoveHole property sets whether or not punch hole removal is used. This property is enabled for Canon DR scan drivers, Epson scan drivers, Panasonic scan drivers, and PFU scan drivers.

This property is only enabled when using a custom-built user interface (UiMode=2). Setting value 2 is only available for PFU scan drivers.

Note: This property is disabled for digital cameras and scanners that do not support this function. To check if this property is supported by the datasource, use the IsCapSupported, the IsCapSupportedVariant methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


RotateBack (ImageKit Control/ Scan Property)

This property sets whether or not the back side of the page is rotated when scanning on both sides using an ADF.

[Visual Basic] imagekitcontrolname.Scan.RotateBack[ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetRotateBack(short Val)
[VB.NET] imagekitcontrolname.Scan.RotateBack[ = Short ]
[C#.NET] imagekitcontrolname.Scan.RotateBack[ = short ]

Property Value

Value | Explanation
0 | Do not rotate the back side of pages (Default)
1 | Rotate the back side of pages 180 degrees

Explanation

The RotateBackproperty sets whether or not the back side of the page is rotated when scanning on both sides using an ADF. The default value is 0.

Enabled for Canon DR drivers and the Epson scan driver "EPSON Scan", however it does not support EPSON Scan" Ver.1.x or sizes bigger than A4.

If the property value is 1, it is equivalent to enabling the "Rotate the back side +180 degrees" option when displaying the UI in the Canon DR scanner driver. With the Epson scanner driver, this is equivalent to enabling the "Align back side to front side" option in "EPSON Scan" preferences.

This property is enabled when the UiMode is 2(ikScanNONUI) and ScanMode property is 2(ikScanADF2). This property is disabled for digital cameras and scan devices that do not support this function. The possible setting values supported by a scan device can be retrieved using the IsCapSupported or the IsCapSupportedVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Rotation (ImageKit Control/ Scan Property)

This property sets the angle of rotation for the scanned image. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.Rotation[ = Long ]
[Visual C++] imagekitcontrolname.GetScan().Rotation(long Val)
[VB.NET] imagekitcontrolname.Scan.Rotation[ = Integer ]
[C#.NET] imagekitcontrolname.Scan.Rotation[ = int ]

Property Value

-360 to 360 (in degrees)

Default value is 0

Explanation

The Rotation property sets the angle of rotation for the scanned image. The default value is 0. Negative numbers rotate the image counter clockwise by that number of degress, positive numbers rotate the image clockwise.

The Rotation property is enabled when the UiMode property is set to 2 (ikScanNONUI). Although the Orientation property is similiar to this property, when the Orientation property can only be set to 0(ikScanRotate0), then use the Rotation property instead. There are scan drivers that support both Orientation and Rotation, others that depending on the value of one of these properties will only rotate by a set number of degrees, and some scan drivers that use only Rotation and ignore Orientation. Because of this, it is recommended that when setting Rotation property values to something other than 0, then set the Orientation property to 0(ikScanRotate0). Furthermore, when the Orientation property is set to 1000(ikScanTextOrientationRecognition) or when a digital camera is used or if Rotation is not supported, this property will be ignored.

To check whether the scan driver support rotation use the GetCapEnum or GetCapEnumVariant methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


ScanCount (ImageKit Control/ Scan Property)

This property refers to the number of images that have been scanned.

[Visual Basic] imagekitcontrolname.Scan.ScanCount [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetScanCount()
[VB.NET] imagekitcontrolname.Scan.ScanCount [ = Integer ]
[C#.NET] imagekitcontrolname.Scan.ScanCount [ = int ]

Property Value

The number of scanned images

Explanation

The ScanCount property refers to the number of images that have been scanned. Once the Exec or the ExecVariant method has completed execution, the ScanCount property value can be retrieved.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


ScanMode (ImageKit Control/ Scan Property)

This property sets the scanning mode. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.ScanMode[ = ScanModeConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetScanMode()
imagekitcontrolname.GetScan().SetScanMode(long Val)
[VB.NET] imagekitcontrolname.Scan.ScanMode[ = ImageKit10(A)Lib.ScanModeConstants ]
[C#.NET] imagekitcontrolname.Scan.ScanMode[ = ImageKit10(A)Lib.ScanModeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Document plate (Default) (transmissive or reflective)
1 | ADF Simplex (The original images in the digital camera) (transmissive or reflective)
2 | ADF Duplex (transmissive or reflective)
3 | The original images in the digital camera
4 | The original images in the digital camera (using an array)
5 | The thumbnail images in the digital camera
6 | The thumbnail images in the digital camera (using an array)
7 | Positive film, using film holder
8 | Positive film, using film area guide
100 | Manufacturer provided UI using settings from information file

The following constants can be used: (ikScanDOC = 0, ikScanADF1 = 1, ikScanADF2 = 2, ikScanCAM = 3, ikScanCAMArray = 4, ikScanCAMThumb = 5, ikScanCAMThumbArray = 6, ikPositiveFilm1 = 7, ikPositiveFilm2 = 8, ikInformationFile = 100)

Explanation

The ScanMode property sets the scanning mode. The default value is 0 (document plate). This property is enabled when the UiMode is 2 (ikScanNONUI). When the ScanMode property is 4 or 6, the array values passed to the Exec or the ExecVariant method are enabled, otherwise these array values are disabled. To preserve compatiblilty with the ImageKit5, the orginal images may be retrived from the digital camera by setting the ScanMode property to 1 and the XResolution property to 0.

Values of 7(ikPositiveFilm1) and 8(ikPositiveFilm2) are enabled when using some Epson scan device drivers. 8(ikPositiveFilm2) can be used only when using drivers supporting film area guide. When using value 100, be sure to set the path to the information file in the InformationFileName property.

Note: Even if the scan device being used supports duplex scanning, some scan drivers will not fully support duplex scanning when the when the user interface is suppressed (UiMode=2).

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

Epson scanner's positive film scanning and scanning with the manufacturer's user interface via information file are new capabilities in Ik8.


ScanningSpeed (ImageKit Control/ Scan Property)

This property increases the speed at which a document is scanned. This property is only enabled when using a custom-built user interface (UiMode= 2).

[Visual Basic] imagekitcontrolname.Scan.ScanningSpeed[ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetScanningSpeed(short Val)
[VB.NET] imagekitcontrolname.Scan.ScanningSpeed[ = Short ]
[C#.NET] imagekitcontrolname.Scan.ScanningSpeed[ = short ]

Property Value

For Epson scan drivers

Value | Explanation
0 | For quality (Default)
1 | For speed

For Panasonic scan drivers

Value | Explanation
0 | Slow (Default)
1 | Normal
2 | Fast

Explanation

The ScanningSpeed property increases the speed at which a document is scanned.

Scanning speed is available only for certain Epson and Panasonic scanners

The default value is 0. This property is enabled when the UiMode is 2(ikScanNONUI). Note: Increasing the speed at which the scan drivers scan a document can result in reduced quality. The possible setting values supported by a scan device can be retrieved using the GetCapEnum (GetCapEnumVariant) method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Shadow (ImageKit Control/ Scan Property)

This property sets the shadow. This property is only enabled when using a custom-built user interface (UiMode=2).
[Visual Basic] imagekitcontrolname.Scan.Shadow [ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetShadow(short Val)
[VB.NET] imagekitcontrolname.Scan.Shadow [ = Short ]
[C#.NET] imagekitcontrolname.Scan.Shadow [ = short ]

Property Value

From 0 to 255 (Default value is 0)

Explanation

The Shadow propertysets the shadow. This property is enabled when the UiMode property is 2 (ikScanNONUI).

The Shadow property is disabled if the PixelType property is 0 (ikScanPixelBW).

Note: This property is disabled for digital cameras and scanners that do not support this function. The possible setting values supported by a scan device can be retrieved using the GetCapRange, the GetCapRangeVariant, the GetCapEnum, or the GetCapEnumVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Sharpness (ImageKit Control/ Scan Property)

This property sets the level of sharpness. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.Sharpness[ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetSharpness(short Val)
[VB.NET] imagekitcontrolname.Scan.Sharpness[ = Short ]
[C#.NET] imagekitcontrolname.Scan.Sharpness[ = short ]

Property Value

Canon DR scan driver (Edge Enhancement)

Value | Explanation
From 0 to 5 | O uses the scan driver's default value and has the same effect as 3. 1 weakens edges. 5 strengthens edges.

Epson scan driver (Unsharp Mask)

Value | Explanation
0 | None (Default)
1 | Weak
2 | Normal
3 | Strong

Panasonic scan driver (Quality)

Value | Explanation
0 | None (Default)
1 | Smooth
2 | Low
3 | Standard
4 | High
5 | Automatic

PFU scan driver (Outline enhancement)

Value | Explanation
0 | None (Default)
1 | Weak outline enhancement
2 | Medium outline enhancement
3 | Strong outline enhancement

Explanation

The Sharpness property sets the level of sharpness. The default value is 0.

Sharpness is enabled for certain Canon DR, Epson, Panasonic, and PFU scan drivers. When using an Epson scanner, the datasource will be "Epson Scan" which will allow the above gradated settings. Note that some Epson scanners, depending on the version, allow for only "on / off" settings. In this case the ImageKit will accept values of 0 or nonzero.

For Canon scanners, "edge enhancement" is used. For Epson scanners, the "unsharp mask" is used. For Panasonic scanners, "image quality" is used. For PFU scanners, "outline enhancement" is used.

This property is enabled when the UiMode is 2(ikScanNONUI). The possible setting values supported by a scan device can be retrieved using the GetCapEnum or the GetCapEnumVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


SkipBlankPage (ImageKit Control/ Scan Property)

This property sets whether or not blank pages are skipped. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.SkipBlankPage[ = Long ]
[Visual C++] imagekitcontrolname.GetScan().SetSkipBlankPage(long Val)
[VB.NET] imagekitcontrolname.Scan.SkipBlankPage[ = Integer ]
[C#.NET] imagekitcontrolname.Scan.SkipBlankPage[ = int ]

Property Value

Value | Explanation
-2 | Blank pages are not skipped
-1 | Blank pages are skipped

Canon DR Scan Drivers

Value | Explanation
0 | Blank pages are not skipped
1 | Blank pages are skipped

Epson Scan Drivers

Value | Explanation
0 | Blank pages are not skipped
1 | Blank pages are skipped (weak level)
2 | Blank pages are skipped (medium level)
3 | Blank pages are skipped (strong level)

Explanation

The SkipBlankPage property sets whether or not blank pages are skipped.

For Canon DR scan drivers and Panasonic scan drivers, use this property in conjunction with the SkipBlankThreshold property. For Canon DR drivers to skip blank pages, the ScanMode property must be set to -1 or to 1(ikScanADF1). When SkipBlankPage is enabled, even though the ScanMode property is 1(ikScanADF1), both sides of the paper will be scanned.

When using an Epson scanner and skipping blank pages, set the SkipBlankPage property to a value of -1 or values of 1 or more. When the SkipBlankPage is -1, the default TWAIN capability will be used. Setting the SkipBlankPage property to values of 1 or more will allow the Epson capability to be used. In this case, set the AdjustGamma property to 1. When the AdjustGamma property is 0, the skip blank page functionality does not work properly in all cases. Also, if the AdjustGamma capability is not supported, you can use the default -1 value for SkipBlankPage but because the page may be darker than it should, skipping blank pages may not work as expected. In that case, you can make adjustments to darkness using the Brightness and Gamma properties.

This property is enabled when the UiMode is 2(ikScanNONUI). The possible setting values supported by a scan device can be retrieved using the GetCapEnum or the GetCapEnumVariant methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


SkipBlankThreshold (ImageKit Control/ Scan Property)

This property sets the threshold for determining if a page is blank and whether it will be skipped. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.SkipBlankThreshold[ = Single ]
[Visual C++] imagekitcontrolname.GetScan().SetSkipBlankThreshold(float Val)
[VB.NET] imagekitcontrolname.Scan.SkipBlankThreshold[ = Single ]
[C#.NET] imagekitcontrolname.Scan.SkipBlankThreshold[ = float ]

Property Value

Canon DR Scan Drivers
Value range from 0.1 to 20.0 (in %)

Panasonic Scan Drivers
Value range from 0.01 to 5.00 (in %)

Explanation

The SkipBlankThreshold property sets the threshold for determining if a page is blank and whether it will be skipped. This property is enabled for Canon DR scan drivers and Panasonic scan drivers. For Canon DR Scanners, ass this property value gets larger, it is more likely that a page will be determined to be blank. For Panasonic scanners, as this value gets smaller, it is more likely that a page will be determined to be blank.

This property is only enabled when using a custom-built user interface (UiMode=2) and when the SkipBlankPage property is set to -1 or 1.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


SourceMajor (ImageKit Control/ Scan Property)

This property refers to various information about the scan device as retrieved by the Select method or the GetDSInfo method.

[Visual Basic] imagekitcontrolname.Scan.SourceMajor [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetScan().GetSourceMajor()
[VB.NET] imagekitcontrolname.Scan.SourceMajor [ = Short ]
[C#.NET] imagekitcontrolname.Scan.SourceMajor [ = short ]

Reference

The major version number of the scan device

Explanation

The SourceMajor property refers to the version number of the scan device as retrieved by the Select method or the GetDSInfo method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


SourceMinor (ImageKit Control/ Scan Property)

This property refers to the minor version number of the scan device as retrieved by the Select method or the GetDSInfo method.

[Visual Basic] imagekitcontrolname.Scan.SourceMinor [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetScan().GetSourceMinor()
[VB.NET] imagekitcontrolname.Scan.SourceMinor [ = Short ]
[C#.NET] imagekitcontrolname.Scan.SourceMinor [ = short ]

Reference

The minor version number of the scan device

Explanation

The SourceMinor property refers to the minor version number of the scan device as retrieved by the Select method or the GetDSInfo method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at runtime.


SourceVersionInfo (ImageKit Control/ Scan Property)

This property refers to the scan device's version information as retrieved by the Select method or the GetDSInfo method.

[Visual Basic] imagekitcontrolname.Scan.SourceVersionInfo [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetScan().GetSourceVersionInfo()
[VB.NET] imagekitcontrolname.Scan.SourceVersionInfo [ = String ]
[C#.NET] imagekitcontrolname.Scan.SourceVersionInfo [ = string ]

Reference

The scan device's version information

Explanation

The SourceVersionInfo property refers to the scan device's version information as retrieved by the Select method or the GetDSInfo method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


TextEnhancement (ImageKit Control/ Scan Property)

This property sets the type of text enhancement used. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.TextEnhancement[ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetTextEnhancement(short Val)
[VB.NET] imagekitcontrolname.Scan.TextEnhancement[ = Short ]
[C#.NET] imagekitcontrolname.Scan.TextEnhancement[ = short ]

Property Value

Canon DR Scan Drivers

Value | Explanation
0 | Text enhancement is not used (default)
1 | Text enhancement is used
2 | Advanced text enhancement is used
3 | High speed text enhancement is used
4, 5 | Advanced text enhancement II is used. (Value depends on the functions used)

Epson Scan Drivers

Value | Explanation
0 | Character distinction is not used. (default)
1 | Standard character distinction is used
2 | Strong character distinction is used

Explanation

The TextEnhancement property sets what type of text enhancement is used. The default value is 0.

This property is enabled for Canon DR scan drivers and Epson scan drivers. For Canon DR drivers, the PixelType property must be 0(ikScanPixelBW) and the BitDepthReduction property must be 0(ikBitDepthReductionThreshold). Canon DR drivers refer to this functionality as "text enhancement". Epson scan drivers refer to it as "character distinction". The different levels of character distinction are available on Epson Scan ver 5.0 scan drivers or higher.

This property is enabled when the UiMode is 2(ikScanNONUI). The possible setting values supported by a scan device can be retrieved using the GetCapEnum or the GetCapEnumVariant methods.

For some Epson scanners, only settings of enabled and disabled are allowed. In that case, the ImageKit will accept 0 as disabled and non-zero as enabled. If the datasource doesn't support this function then the value is ignored.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


Threshold (ImageKit Control/ Scan Property)

This property sets the scanning threshold. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.Threshold [ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetThreshold(short Val)
[VB.NET] imagekitcontrolname.Scan.Threshold [ = Short ]
[C#.NET] imagekitcontrolname.Scan.Threshold [ = short ]

Property Value

From 0 to 255 (Default value is 128)

Explanation

The Threshold property sets the scanning threshold. This property is only enabled when using a custom-built user interface (UiMode=2).

The Threshold property requires that the PixelType property be 0 (ikScanPixelBW) and the BitDepthReduction property be 0 (set to threshold value). For scan devices that use brightness instead of threshold, the Brightness property value will be used.

Note: This property is disabled for digital cameras and scanners that do not support this function. The possible setting values supported by a scan device can be retrieved using the GetCapRange, the GetCapRangeVariant, the GetCapEnum or the GetCapEnumVariant method.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


TransferMode (ImageKit Control/ Scan Property)

This property sets whether native, file, or memory transfer is used.

[Visual Basic] imagekitcontrolname.Scan.TransferMode[ = ScanTransferConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetTransferMode()
imagekitcontrolname.GetScan().SetTransferMode(long Val)
[VB.NET] imagekitcontrolname.Scan.TransferMode[ = ImageKit10(A)Lib.ScanTransferConstants ]
[VB.NET] imagekitcontrolname.Scan.TransferMode[ = ImageKit10(A)Lib.ScanTransferConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | Native (Transferred as DIB) Default
1 | File
2 | Memory (Transferred in block units)
3 | File 2 (NOT SUPPORTED BY THE ImageKit10) *1

*1 The ImageKit does not support transfer methods 3. This value is listed here simply because they exist in TWAIN specifications.

The following constants can be used: (ikScanNative = 0, ikScanFile = 1, ikScanMemory = 2, ikScanFile2 = 3)

Explanation

The TransferMode property sets whether native, file, or memory transfer is used. The default value is 0 (ikScanNative). It is necessary to set this property prior to executing the Exec or the ExecVariant method. The possible transfer methods supported by a scan device can be retrieved using the GetCapEnum or the GetCapEnumVariant method. Scanning events are generated for the memory transfer mode only.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


UiMode (ImageKit Control/ Scan Property)

This property sets whether the scan driver's user interface is used when scanning or if a custom built user interface is used.

[Visual Basic] imagekitcontrolname.Scan.UiMode[ = ScanUiModeConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetUiMode()
imagekitcontrolname.GetScan().SetUiMode(long Val)
[VB.NET] imagekitcontrolname.Scan.UiMode[ = ImageKit10(A)Lib.ScanUiModeConstants ]
[C#.NET] imagekitcontrolname.Scan.UiMode[ = ImageKit10(A)Lib.ScanUiModeConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | The scan device manufacturer's user interface is displayed. It is not closed after the scan is complete (Default)
1 | The scan device manufacturer's user interface is displayed. It is closed after the scan is complete
2 | The scan device manufacturer's user interface is suppressed. A custom built user interface is used
3 | The scan device manufacturer's user interface is displayed and a value is set but scanning is not performed.

The following constants can be used: (ikScanUI = 0, ikScanUICLOSE = 1, ikScanNONUI = 2, ikScanSetUIOnly = 3)

Explanation

The UiMode property sets whether the scan driver's user interface is used when scanning or if a custom built user interface is used. The default value is 0 (ikScanUI).

It is necessary to set the UiMode property before executing the Exec or ExecVariant methods.

To check whether the manufacturer's user interface can be suppressed or it can be displayed and set without scanning, please use the IsCapSupported or the IsCapSupportedVariant methods.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.

[Differences from the ImageKit7 ActiveX]

Scanning with the manufacturer's user interface via information file is now possible in Ik8. The information file is set via the InformationFileName property.


UnitFlag (ImageKit Control/ Scan Property)

When scanning with a custom user interface (UiMode=2), this property sets whether the scan units are determined by the scan device or by the ImageKit.

[Visual Basic] imagekitcontrolname.Scan.UnitFlag[ = Integer ]
[Visual C++] imagekitcontrolname.GetScan().SetUnitFlag(short Val)
[VB.NET] imagekitcontrolname.Scan.UnitFlag[ = Short ]
[C#.NET] imagekitcontrolname.Scan.UnitFlag[ = short ]

Property Value

Value | Explanation
0 | The datasource function is used to determine the scan units (Default)
1 | The ImageKit determines the scan units

Explanation

The UnitFlag property sets whether the scan units are determined by the scan device or by the ImageKit. The default value is 0. This property is enabled when the UiMode is 2(ikScanNONUI).

Set this property to 1 when you want to use a unit of measurement that the scan device does not support or when the PaperSize property is set to 0 or less and the RectLeft, RectTop, RectRight, and RectBottom properties are set but the scan is not correct or the scan area is not enabled, etc.

This property is disabled when the XResolution and YResolution properties are -1 and the UnitMode property is 5 (ikScanPixel).

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


UnitMode (ImageKit Control/ Scan Property)

This sets the units of measurement when scanning with a custom built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.UnitMode[ = ScanUnitConstants ]
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetUnitMode()
imagekitcontrolname.GetScan().SetUnitMode(long Val)
[VB.NET] imagekitcontrolname.Scan.UnitMode[ = ImageKit10(A)Lib.ScanUnitConstants ]
[C#.NET] imagekitcontrolname.Scan.UnitMode[ = ImageKit10(A)Lib.ScanUnitConstants ]

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Property Value

Value | Explanation
0 | inches (Default)
1 | centimeters
2 | pica
3 | points
4 | twips
5 | pixels
6 | millimeters

The following constants can be used: (ikScanInch = 0, ikScanCM = 1, ikScanPica = 2, ikScanPoint = 3, ikScanTwip = 4, ikScanPixel = 5, ikScanMillimeters = 6)

Explanation

The UnitMode sets the units of measurement used to set the scanning area. The default value is 9 (ikScanInch). This property is enabled when the UiMode is 2 (ikScanNONUI). The RectLeft, RectTop, RectRight, and RectBottom property values will use the unit of measurement set in the UnitMode property. When the UnitFlag property is 0, the scan device must support the unit of measurement set in the UnitMode property.

Although the UnitMode property is disabled when the UiMode is NOT 2, when scanning, the units of measurement of the scan are returned to this property. To retrieve the values of the UnitMode property supported by the scan device, execute the GetCapEnum or the (GetCapEnumVariant) method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


XResolution (ImageKit Control/ Scan Property)

This property sets the horizontal scan resolution. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.XResolution [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetXResolution()
imagekitcontrolname.GetScan().SetXResolution(long Val)
[VB.NET] imagekitcontrolname.Scan.XResolution [ = Integer ]
[C#.NET] imagekitcontrolname.Scan.XResolution [ = int ]

Property Value

The horizontal and vertical scan resolution are set in DPI units.

XResolution is the horizontal scan resolution

Explanation

The XResolution property sets the horizontal scan resolution. This property is enabled when the UiMode property is 2 (ikScanNONUI). When the UiMode property is NOT 2 or when a digital camera is being used, these properties are disabled. The resolution values supported by the scan device can be retrieved by executing the GetCapEnum, the GetCapEnumVariant, the GetCapRange, or the GetCapRangeVariant method. To use the scan device default resolution values, set this property to -1.

Note: Although it is possible to set different values for the horizontal and vertical resolution, some datasources (scanner drivers) do not support different values for horizontal and vertical resolution. In such cases, either the horizontal resolution or the vertical resolution will be enabled. To retrieve the actual resolution, refer to the XResolution and YResolution properties within the BeforeScan event or after executing the Exec or the ExecVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


XScaling (ImageKit Control/ Scan Property)

This property sets the horizontal scaling (magnification). This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.XScaling [ = Single ]
[Visual C++] imagekitcontrolname.GetScan().SetXScaling(float Val)
[VB.NET] imagekitcontrolname.Scan.XScaling [ = Single ]
[C#.NET] imagekitcontrolname.Scan.XScaling [ = float ]

Property Value

XScaling is the horizontal scaling

Default value is 1.0

Explanation

The XScaling property sets the horizontal scaling (magnification). This property is only enabled when the UiMode property is 2(ikScanNONUI). If the UiMode is set to a value other than 2 or if a digital camera is being used, this property is disabled. The range of scaling supported by the scan device can be retrieved by executing the GetCapEnum, the GetCapEnumVariant , the GetCapRange, or the GetCapRangeVariant method.

To scan in actual size, set the XScaling and YScaling properties to 1.0

Note: Although it is possible to set different values for horizontal and vertical scaling some datasources (scan drivers) do not support this. In such cases, either the horizontal scaling value or the vertical scaling value will be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


YResolution (ImageKit Control/ Scan Property)

This property sets the vertical scan resolution. This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.YResolution [ = Long ]
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetYResolution()
imagekitcontrolname.GetScan().SetYResolution(long Val)
[VB.NET] imagekitcontrolname.Scan.YResolution [ = Integer ]
[C#.NET] imagekitcontrolname.Scan.YResolution [ = int ]

Property Value

The horizontal and vertical scan resolution are set in DPI units.

YResolution is the vertical scan resolution

Explanation

The YResolution property sets the vertical scan resolution. This property is enabled when the UiMode property is 2 (ikScanNONUI). When the UiMode property is NOT 2 or when a digital camera is being used, this property is disabled. The resolution values supported by the scan device can be retrieved by executing the GetCapEnum, the GetCapEnumVariant, the GetCapRange, or the GetCapRangeVariant method. To use the scan device default resolution values, set this property to -1.

Note: Although it is possible to set different values for the horizontal and vertical resolution, some datasources (scanner drivers) do not support different values for horizontal and vertical resolution. In such cases, either the horizontal resolution or the vertical resolution will be enabled. To retrieve the actual resolution, refer to the XResolution and YResolutionproperties within the BeforeScan event or after executing the Exec or the ExecVariant method.

Setting this value

This value can be set at runtime.

Retrieving this value

This value can be retrieved at runtime.


YScaling (ImageKit Control/ Scan Property)

This property sets the vertical scaling (magnification). This property is only enabled when using a custom-built user interface (UiMode=2).

[Visual Basic] imagekitcontrolname.Scan.YScaling [ = Single ]
[Visual C++] imagekitcontrolname.GetScan().SetYScaling(float Val)
[VB.NET] imagekitcontrolname.Scan.YScaling [ = Single ]
[C#.NET] imagekitcontrolname.Scan.YScaling [ = float ]

Property Value

YScaling is the vertical scaling

Default value is 1.0

Explanation

The YScaling property sets the vertical scaling (magnification). This property is only enabled when the UiMode property is 2(ikScanNONUI). If the UiMode is set to a value other than 2 or if a digital camera is being used, this property is disabled. The range of scaling supported by the scan device can be retrieved by executing the GetCapEnum, theGetCapEnumVariant, the GetCapRange or the GetCapRangeVariant method.

To scan in actual size, set the XScaling and YScaling properties to 1.0

Note: Although it is possible to set different values for horizontal and vertical scaling some datasources (scan drivers) do not support this. In such cases, either the horizontal scaling value or the vertical scaling value will be used.

Setting this value

This value can be set at runtime.

Retrieving this value

This value cannot be retrieved.


ImageKit Scan Methods

Custom Method | Explanation
ClearProperty | Resets the scan control properties
CloseDS | Closes the scan device
Exec | Retrieves an image from a TWAIN scan device
ExecVariant | Retrieves an image from a TWAIN scan device. Recommended when using scripting or other languages that require variant types
FreeTwain | Frees the TWAIN DLL
GetBitDepth | Retrieves the bit depth supported by the scan device
GetBitDepthVariant | Retrieves the bit depth supported by the scan device. Recommended when using scripting or other languages that require variant types
GetCapEnum | Retrieves the possible setting values for a specified property of the scan device
GetCapEnumVariant | Retrieves the possible setting values for a specified property of the scan device. Recommended when using scripting or other languages that require variant types
GetCapRange | Retrieves the range of possible setting values for a specified functionality of the scan device
GetCapRangeVariant | Retrieves the range of possible setting values for a specified functionality of the scan device. Recommended when using scripting or other languages that require variant types
GetDSInfo | retrieves information about the specified scan device, such as manufacturer, product name, etc
GetMinimumSize | Retrieves the smallest size that can be scanned with a given scan device
GetMinimumSizeVariant | Retrieves the smallest size that can be scanned with a given scan device. Recommended when using scripting or other languages that require variant types
GetPhysicalSize | Retrieves the largest physical size that can be scanned with a given scan device
GetPhysicalSizeVariant | Retrieves the largest physical size that can be scanned with a given scan device. Recommended when using scripting or other languages that require variant types
Initialize | Starts the TWAIN process
IsCapSupported | Confirms whether or not a functionality is supported by the scan device
IsCapSupportedVariant | Confirms whether or not a functionality is supported by the scan device. Recommended when using scripting or other languages that require variant types
IsOpenDS | Checks whether or not the scan device is open
List | Lists the scan devices
LoadTwain | Loads the TWAIN DLL
OpenDS | Opens the scan device
Select | Selects the scan device
Terminate | Ends the TWAIN process


ClearProperty (ImageKit Control/ Scan Method)

This method resets the scan control properties.

[Visual Basic] imagekitcontrolname.Scan.ClearProperty
[Visual C++] imagekitcontrolname.GetScan().ClearProperty()
[VB.NET] imagekitcontrolname.Scan.ClearProperty()
[C#.NET] imagekitcontrolname.Scan.ClearProperty()

Parameters

None

Return Value

None

Explanation

The ClearProperty method resets all property values to their default values. (Doesn't include specialized referenced properties)


CloseDS (ImageKit Control/ Scan Method)

This method closes the scan datasource (scan device).

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.CloseDS
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().CloseDS()
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.CloseDS()
[C#.NET] [ bool = ]imagekitcontrolname.Scan.CloseDS()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The CloseDS method closes the datasource that was opened by the OpenDS method.

Prior to executing the CloseDS and OpenDS methods, you must execute the Initialize method.

The CloseDS and OpenDS methods correspond to the Scan Control's ScanCloseDS and ScanOpenDS methods in earlier versions of the ImageKit.


Exec (ImageKit Control/ Scan Method)

This method retrieves an image from a TWAIN datasource (scan device).

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.Exec(Index As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().Exec(long *Index)
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.Exec(ByRef Index As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Scan.Exec(ref int Index)

Parameters

Value | Explanation
Index | An array containing the image indexes. (used with a digital camera)
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim Ix(0 To 2) As Long, then the arguments are returned in Ix(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in Ix(0). In C#.NET, the arguments are returned in Ix[0]. When not using the Index array, set NULL(Visual C++), Nothing(VB.NET) or a dummy array

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The Exec method retrieves an image from a TWAIN datasource (scan device). Events are generated before, during, and after the scan (BeforeScan, AfterScan, and Scanning events) so it is possible to write processing code in each of these stages of the scan process.

The Index parameter is enabled only when the UiMode property is 2 (ikScanNONUI) and the ScanMode property is 4 or 6 (set for a digital camera). However, in other situations where this array of index values is not needed, please set the Index parameter to NULL(Visual C++), Nothing(VB.NET) or to a dummy array. The Index parameter is used to specify which image is retrieved from the digital camera.

For example, to retrieve the 5th and 8th image from a digital camera, set the Index array parameter to

Index(0) = 5

Index(1) = 8

Then set the number of elements in the Index array (2) into the PageCount property. Some scan devices do not support these functions. In such cases, only the supported functions are used to scan the image.

Prior to executing the Exec method, you must execute the Initialize method.

If the OpenDS method is executed prior to the Exec method, then while the scan device is open, other applications can not use that scan device and it becomes the exclusive datasource for this execution.

For scripting languages and other programs that require variant types, please refer to the ExecVariant method.

The Exec method corresponds to the Scan Control's ScanExec method in earlier versions of the ImageKit.

<The following properties should be set prior to executing the Exec method>

[Required properties]

  • DsName - if this property is blank, then select the scan device by executing the Select method. Note: If the OpenDS method is executed prior to executing the DsName method then the DsName is disabled and the open scan device is used.
  • TransferMode
  • Compression
  • UiMode
  • ExtUiMode) - This property is required only when using Epson scanner drivers.

[These properties may be required depending on the settings]

  • FileFormat
  • FileName
  • InformationFileName
  • JpegQuality

[When UiMode is 2 (ikScanNONUI) and ScanMode is 100 (ikInformationFile)]

  • ScanMode
  • PageCount
  • UnitMode

[If the UiMode property is 2 and ScanMode is other than 100]

  1. When using a scanner, it is recommended that the following properties be set when the UiMode property is 2:
    AdjustGamma, AutoBright, BitDepth, BitDepthReduction, Border, BorderColor, BorderDetection, Brightness, ColorBWRatio, Contrast, Deskew , DropoutColor, DynamicThreshold, FocusPosition, Gamma, HalfTone, Highlight, IgnoreBackColor, ImageFilter, ImageMerge, Indicator, MoireFilter, NoiseFilter, Orientation, OverScan, PageCount, PaperSize, PixelType, RemoveHole, Rotation, ScanMode, ScanningSpeed, Shadow, Sharpness, SkipBlankPage, SkipBlankThreshold, TextEnhancement, Threshold, UnitFlag, UnitMode, XResolution, XScaling, YResolution, YScaling, PaperSize<=0: RectBottom , RectLeft, RectRight, RectTop

    Note: The AdjustGamma, Border, BorderColor, ColorBWRatio, DynamicThreshold, FocusPosition, IgnoreBackColor, MoireFilter, RemoveHole, RotateBack, ScanningSpeed, Sharpness, SkipBlankThreshold, TextEnhancement properties are sometimes disabled depending on the scan driver.

  2. When using a digital camera, it is recommended that these properties be set when the UiMode property is 2:
    PageCount, ScanMode , UnitMode

    Note: If the ScanMode property is 1, then the XResolution should be set to 0.

<The following properties are set after the scan has executed>

BitDepth, Compression, ErrorStatus, FileFormat (when using file transfer method), PixelType , RectBottom, RectLeft, RectRight, RectTop, ScanCount, UnitMode, XResolution, YResolution

For details, please refer to the respective properties' explanations.

Important points when using a custom built user interface (UiMode = 2)

When UiMode is 2, depending on the scan device and the property values set, the scan can fail. For the most part the causes for scan failure when the UiMode is 2 can be traced to the following:

  1. The scan units set are not supported by the scan device. The supported scan unit values can be retrieved using the GetCapEnum or the GetCapEnumVariant method.
  2. The pixel type set is not supported by the scan device. The supported pixel type values can be retrieved using the GetCapEnum or the GetCapEnumVariant method.
  3. The bit count set is not supported by the scan device. The supported bit count values can be retrieved using the GetBitDepth or the GetBitDepthVariant method.
  4. The resolution set is not supported by the scan device. The supported resolution values can be retrieved using the GetCapEnum, the GetCapEnumVariant, the GetCapRange, or the GetCapRangeVariant methods.
  5. The paper size set is not supported by the scan device. The supported values can be retrieved using the GetCapEnum or the GetCapEnumVariant method.
    1. If settings for paper size are not supported at all, then set the PaperSize property to 0 and set the appropriate scan area in the RectLeft, RectTop, RectRight, and RectBottom properties. If the scan area is not correctly set (i.e. it is smaller than the minimum or larger than the maximum), the scan can fail. The proper scan area values can be retrieved using the GetMinimumSize(GetMinimumSizeVariant) and GetPhysicalSize(GetPhysicalSizeVariant) methods.
    2. If paper size settings are supported and the scan still fails, check to make sure the PaperSize property is set to a value other than 0.

Sample Code:

Visual Basic

Dim Index(0 To 2) As Long

Dim Ret As Boolean

Ret = ImageKit1.Scan.Initialize(hWnd, 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKit Scan Sample")

If Ret = False Then Exit Sub

ImageKit1.Scan.ClearProperty

ImageKit1.Scan.TransferMode = 2

ImageKit1.Scan.Compression = 0

ImageKit1.Scan.UiMode = 0

ImageKit1.Scan.DsName = "EPSON TWAIN Pro"

Ret = ImageKit1.Scan.Exec(Index(0))

Ret = ImageKit1.Scan.Terminate

'Event

Private Sub ImageKit1_AfterScan(ByVal DibHandle As ImageKit10ALibCtl.LONG_PTR, ByVal OrgHandle As ImageKit10ALibCtl.LONG_PTR, ByVal ImageCount As Long, ByVal BitOrder As Integer)

ImageKit1.DisplayMode = ikScale

ImageKit1.ImageHandle = ImageKit1.CopyImage(DibHandle)

ImageKit1.DisplayImage 'Disabled when AutoDisplay is True

End Sub


FreeTwain (ImageKit Control/ Scan Method)

This method frees the TWAIN DLL loaded with the LoadTwain method.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.FreeTwain
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().FreeTwain()
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.FreeTwain()
[C#.NET] [ bool = ]imagekitcontrolname.Scan.FreeTwain()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The FreeTwain method frees the TWAIN DLL loaded with the LoadTwain method.

If you haven't used the LoadTwain method, then it isn't necessary to execute the FreeTwain method. If you do use it, make use to use the LoadTwain / FreeTwain as a pair.

Before executing FreeTwain, be sure to execute the Terminate method.


ExecVariant (ImageKit Control/ Scan Method)

This method retrieves an image from a TWAIN datasource (scan device). This method is recommended when using scripting or other languages that require variant types.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.ExecVariant(Index As Variant)
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.ExecVariant(ByRef Index As Object)
[C#.NET] [ bool = ]imagekitcontrolname.Scan.ExecVariant(ref object Index)

Parameters

Value | Explanation
Index | An array containing the image indexes. (used with a digital camera)
* NOTE for retrieving array values: In Visual Basic / VB.NET, if the array is defined as Dim Ix(0 To 2), then the arguments are returned in Ix. In C#.NET the arguments are returned in ref Ix. When not using the Index array, it can be omitted (except in C#.NET), or set NULL(Visual C++), Nothing(VB.NET) or a dummy array

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The ExecVariant method retrieves an image from a TWAIN datasource (scan device). This method is recommended when using scripting or other languages that require variant types.

Events are generated before, during, and after the scan (BeforeScan, AfterScan, and Scanning events) so it is possible to write processing code in each of these stages of the scan process.

The Index parameter is enabled only when the UiMode property is 2 (ikScanNONUI) and the ScanMode property is 4 or 6 (set for a digital camera). However, in other situations where this array of index values are not needed, please set the Index parameter to NULL or to a dummy array. It is also possible to omit the Index parameter (except in C#.NET). The Index parameter is used to specify which image is retrieved from the digital camera.

For example, to retrieve the 5th and 8th image from a digital camera, set the Index array parameter to

Index(0) = 5

Index(1) = 8

Then set the number of elements in the Index array (2) into the PageCount property. Some scan devices do not support these functions. In such cases, only the supported functions are used to scan the image.

Prior to executing the ExecVariant method, you must execute the Initialize method.

If the OpenDS method is executed prior to the ExecVariant method, then while the scan device is open, other applications can not use that scan device and it becomes the exclusive datasource for this execution.

Also see the Exec method.

The ExecVariant method corresponds to the Scan Control's ScanExec method in earlier versions of the ImageKit.

<The following properties should be set prior to executing the ExecVariant method>

[Required properties]

  • DsName - if this is blank, then select the scan device by executing the Select method. Note: If the OpenDS method is executed prior to executing the DsName method then the DsName is disabled and the open scan device is used.
  • TransferMode
  • Compression
  • UiMode
  • ExtUiMode - This property is required only when using Epson scanner drivers.

[These properties may be required depending on the settings]

  • FileFormat
  • FileName
  • InformationFileName
  • JpegQuality

[When UiMode is 2 (ikScanNONUI) and ScanMode is 100 (ikInformationFile)]

  • ScanMode
  • PageCount
  • UnitMode

[If the UiMode property is 2 and ScanMode is other than 100]

  1. When using a scanner it is recommended that these properties be set when the UiMode property is 2:
    AdjustGamma, AutoBright, BitDepth, BitDepthReduction, BorderDetection, Brightness, ColorBWRatio, Contrast, Deskew , DropoutColor, DynamicThreshold, FocusPosition, Gamma, HalfTone, Highlight, IgnoreBackColor, ImageFilter, Indicator, MoireFilter, NoiseFilter, Orientation, OverScan, PageCount, PaperSize, PixelType, RemoveHole, Rotation, ScanMode, ScanningSpeed, Shadow, Sharpness, SkipBlankPage, SkipBlankThreshold, TextEnhancement, Threshold, UnitFlag, UnitMode, XResolution, XScaling, YResolution, YScaling, PaperSize<=0: RectBottom , RectLeft, RectRight, RectTop

    Note: The AdjustGamma, ColorBWRatio, DynamicThreshold, FocusPosition, IgnoreBackColor, MoireFilter, RemoveHole, RotateBack, ScanningSpeed, Sharpness, SkipBlankThreshold, TextEnhancement properties are sometimes disabled depending on the scan driver.

  2. When using a digital camera, it is recommended that these properties be set when the UiMode property is 2:
    PageCount, ScanMode , UnitMode

    Note: If the ScanMode property is 1, then the XResolution should be set to 0.

<The following properties are set after the scan has executed>

BitDepth, Compression, ErrorStatus, FileFormat (when using file transfer method), PixelType , RectBottom, RectLeft, RectRight, RectTop, ScanCount, UnitMode, XResolution, YResolution

For details, please refer to the respective properties' explanations.

Important points when using a custom built user interface (UiMode = 2)

When UiMode is 2, depending on the scan device and the property values set, the scan can fail. For the most part the causes for scan failure when the UiMode is 2 can be traced to the following:

  1. The scan units set are not supported by the scan device. The supported scan unit values can be retrieved using the GetCapEnum or the GetCapEnumVariant method.
  2. The pixel type set is not supported by the scan device. The supported pixel type values can be retrieved using the GetCapEnum or the GetCapEnumVariant method.
  3. The bit count set is not supported by the scan device. The supported bit count values can be retrieved using the GetBitDepth or the GetBitDepthVariant method.
  4. The resolution set is not supported by the scan device. The supported resolution values can be retrieved using the GetCapEnum, the GetCapEnumVariant, the GetCapRange, or the GetCapRangeVariant methods.
  5. The paper size set is not supported by the scan device. The supported values can be retrieved using the GetCapEnum or the GetCapEnumVariant method.
    1. If settings for paper size are not supported at all, then set the PaperSize property to 0 and set the appropriate scan area in the RectLeft, RectTop, RectRight, and RectBottom properties. If the scan area is not correctly set (i.e. it is smaller than the minimum or larger than the maximum), the scan can fail. The proper scan area values can be retrieved using the GetMinimumSize(GetMinimumSizeVariant) and GetPhysicalSize(GetPhysicalSizeVariant) methods.
    2. If paper size settings are supported and the scan still fails, check to make sure the PaperSize property is set to a value other than 0.


GetBitDepth (ImageKit Control/ Scan Method)

This method retrieves the bit depth supported by the scan device.

[Visual Basic] [ Long = ]imagekitcontrolname.Scan.GetBitDepth(List As Integer, ListNum As Integer)
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetBitDepth(short *List, short ListNum)
[VB.NET] [ Integer = ]imagekitcontrolname.Scan.GetBitDepth(List As Short, ListNum As Short)
[C#.NET] [ int = ]imagekitcontrolname.Scan.GetBitDepth(short List, short ListNum)

Parameters

Name | Explanation
List | An array containing the bit depths supported by the scan device
ListNum | The number of elements in the List array
* NOTE for retrieving array values: In Visual Basic, if the array is defined as Dim List(0 To 3) As Integer, then the arguments are returned in List(0). In Visual C++, pass the pointer to the first element in the array. In VB.NET, the arguments are returned in List(0). In C#.NET, the arguments are returned in List[0].

Return Value

When the List and ListNum parameters are set:

The GetBitDepth method's return value will indicate the number of supported bit depth types for the specified PixelType. If 0 is returned this would indicate an error and you can confirm the type of error using the ErrorStatus property.

When the List is set to NULL(Visual c++) or the ListNum is set to 0

The GetBitDepth method's return value will indicate the number of elements that need to be used in the List array.

Note: Some scan devices will return all supported bit depths regardless of the settings of the PixelType property. In this case the return value of the GetBitDepth method will be larger than the actual supported number of bit depths.

Explanation

The GetBitDepth method retrieves the bit depth supported by the scan device. To execute this method the DsName property, specifing the scan device, must be set or the scan device must be selected using the Select method. (Note: If the OpenDS method has been executed then the DsName property is disabled and the opened scan device will be used).

The supported bit depth retrieved by the GetBitDepth method depends on the value set in the PixelType property. Therefore the PixelType property must also be set. The PixelType property determines the type of scan, either black and white, grayscale, palette color, or RGB color. So, for example, to find out whether your scanner supports 4 bit or 8 bit palette color, you would set the PixelType property to 3 (ikScanPixelPalette) then execute the GetBitDepth method.

The GetBitDepth method takes the List and ListNum parameters as arguments. The List is an array that will contain the supported bit depth returned by the GetBitDepth method. The ListNum is merely the number of elements in the ListNum array.

If the GetBitDepth method executes successfully then the returned value will give the number of supported bit depth types for the specified PixelType. To use the example above where the PixelType property is set to 3 (ikScanPixelPalette), if the GetBitDepth method returns a value of 2 then we know that the scanner supports two types of bit depths when scanning in palette color. Then by checking the values returned in the List parameter array, we can confirm that these bit depths are actually supported if a 4 and an 8 are returned.

Depending on the scanner being used, it is possible that the range of bitcounts that can be used will differ according to the type of transfer mode used. Because of this, it is recommended that you set the TransferMode property before setting PixelType property.

Prior to executing the GetBitDepth method, you must execute the Initialize method.

If the OpenDS method is executed prior to the GetBitDepth method, then while the scan device is open, other applications can not use that scan device and it becomes the exclusive datasource for this execution.

For scripting languages and other programs that require variant types or for VB.NET or C#.NET, please refer to the GetBitDepthVariant method.

The GetBitDepth method corresponds to the Scan Control's ScanGetBitDepth method in earlier versions of the ImageKit.


GetBitDepthVariant (ImageKit Control/ Scan Method)

This method retrieves the bit depth supported by the scan device.

[Visual Basic] [ Long = ]imagekitcontrolname.Scan.GetBitDepthVariant(List As Variant)
[VB.NET] [ Integer = ]imagekitcontrolname.Scan.GetBitDepthVariant(ByRef List As Object)
[C#.NET] [ int = ]imagekitcontrolname.Scan.GetBitDepthVariant(ref object List)

Parameters

Name | Explanation
List | An array containing the bit depths supported by the scan device
* NOTE for retrieving array values: In Visual Basic /VB.NET, if the array is defined as Dim List, then the arguments are returned in List. In C#.NET, the arguments are returned in ref List.

Return Value

The GetBitDepthVariant method's return value will indicate the number of supported bit depth types for the specified PixelType. If 0 is returned this would indicate an error and you can confirm the type of error using the ErrorStatus property.

Explanation

The GetBitDepthVariant method retrieves the bit depth supported by the scan device.

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

To execute this method the DsName property, specifing the scan device, must be set or the scan device must be selected using the Select method. (Note: If the OpenDS method has been executed then the DsName property is disabled and the opened scan device will be used).

The supported bit depth retrieved by the GetBitDepthVariant method depends on the value set in the PixelType property. Therefore the PixelType property must also be set. The PixelType property determines the type of scan, either black and white, grayscale, palette color, or RGB color. So, for example, to find out whether your scanner supports 4 bit or 8 bit palette color, you would set the PixelType property to 3 (ikScanPixelPalette) then execute the GetBitDepthVariant method.

The GetBitDepthVariant method takes the List parameter as argument. The List is an array that will contain the supported bit depth returned by the GetBitDepthVariant method.

If the GetBitDepthVariant method executes successfully then the returned value will give the number of supported bit depth types for the specified PixelType. To use the example above where the PixelType property is set to 3 (ikScanPixelPalette), if the GetBitDepthVariant method returns a value of 2 then we know that the scanner supports two types of bit depths when scanning in palette color. Then by checking the values returned in the List parameter array, we can confirm that these bit depths are actually supported if a 4 and an 8 are returned.

Depending on the scanner being used, it is possible that the range of bitcounts that can be used will differ according to the type of transfer mode used. Because of this, it is recommended that you set the TransferMode property before setting PixelType property.

Prior to executing the GetBitDepthVariant method, you must execute the Initialize method.

If the OpenDS method is executed prior to the GetBitDepthVariant method, then while the scan device is open, other applications can not use that scan device and it becomes the exclusive datasource for this execution.

Also see the GetBitDepth method.

GetBitDepthVariant method corresponds to the Scan Control's ScanGetBitDepth method in earlier versions of the ImageKit.

Code Example

In VB.NET

Dim List As Object = Nothing

Dim Ret As Boolean

Dim Num As Integer

Ret = ImageKit1.Scan.Initialize(Handle.ToInt32(), 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKit Scan Sample")

ImageKit1.Scan.PixelType = ImageKit10Lib.ScanPixelTypeConstants.ikScanPixelGray

Num = ImageKit1.GetDepthVariant(List)

Ret = ImageKit1.Scan.Terminate()

In C#.NET

bool Ret;

object List = null;

Ret = ImageKit1.Scan.Initialize(Handle.ToInt32(), 1, 0, "1.00", "NEWTONE Corp.", "ImageKit", "ImageKit Scan Sample");

ImageKit1.Scan.PixelType = ImageKit10Lib.ScanPixelTypeConstants.ikScanPixelGray;

int Num = ImageKit1.GetDepthVariant(ref List);

Ret = ImageKit1.Scan.Terminate();


GetCapEnum (ImageKit Control/ Scan Method)

This method retrieves the possible setting values for a specified property of the scan device.

[Visual Basic] [ Long = ]imagekitcontrolname.Scan.GetCapEnum(CapNo As ScanCapabilityConstants, ConType As Integer, List As Single, CurrentIndex As Long, DefaultIndex As Long, ListNum As Long)
[Visual C++] [ long = ]imagekitcontrolname.GetScan().GetCapEnum(long CapNo, short *ConType, float *List, long *CurrentIndex, long *DefaultIndex, long ListNum)
[VB.NET] [ Integer = ]imagekitcontrolname.Scan.GetCapEnum(CapNo As ImageKit10(A)Lib.ScanCapabilityConstants, ByRef ConType As Short, ByRef List As Single, ByRef CurrentIndex As Integer, ByRef DefaultIndex As Integer, ListNum As Integer)
[C#.NET] [ int = ]imagekitcontrolname.Scan.GetCapEnum(ImageKit10(A)Lib.ScanCapabilityConstants CapNo, ref short ConType, ref float List, ref int CurrentIndex, ref int DefaultIndex, int ListNum)

Parameters

Name | Explanation
CapNo The number for the retrieved property (in hexidecimal)

0x0100 Compression method

0x0101 Pixel type

0x0102 Scan units of measurement

0x0103 Method of transfer

0x1100 AutoBright

0x1101 Brightness

0x1103 Contrast

0x1108 Gamma

0x1109 Halftone

0x110a Highlight

0x110c File Format

0x110e Dropout color

0x1110 Paper orientation

0x1113 Shadow

0x1118 Horizontal resolution

0x1119 Vertical resolution

0x1121 Rotation angle

0x1122 Paper size

0x1123 Threshold

0x1124 Horizontal scaling

0x1125 Vertical scaling

0x112c Method of color reduction

0x1147 Image filter

0x1148 Noise filter

0x1149 OverScan

0x1153 JPEG quality coefficient

0x115c Double sided merge

0xf001 Scanning speed

0xf002 Moire filter

0xf004 Sharpness

0xf006 Extended UiMode

0xf007 Dynamic threshold

0xf00b Skip blank page

0xf00e Text enhancement

0xf00f Border

In Visual Basic and .NET, replace 0x with &H.

The following constants can be used: (ikScanCompression = 0x0100, ikScanPixelType = 0x0101, ikScanUnits = 0x0102, ikScanTransferMode = 0x0103, ikScanFeederEnabled = 0x1002, ikScanFeederLoaded = 0x1003, ikScanIndicator = 0x100b, ikScanUiControllable = 0x100e, ikScanDeviceonline = 0x100f, ikScanThumbnailsEnabled = 0x1011, ikScanDuplex = 0x1012, ikScanEnableDSUIOnly = 0x1014, ikScanCustomDSData = 0x1015, ikScanAutoBright = 0x1100, ikScanBrightness = 0x1101, ikScanContrast = 0x1103, ikScanGamma = 0x1108, ikScanHalfTone = 0x1109, ikScanHighlight = 0x110a, ikFileScanFormat = 0x110c, ikScanDropoutColor = 0x110e, ikScanOrientation = 0x1110, ikScanShadow = 0x1113, ikScanXResolution = 0x1118, ikScanYResolution = 0x1119, ikScanRotation = 0x1121, ikScanPaperSize = 0x1122, ikScanThreshold = 0x1123, ikScanXScaling = 0x1124, ikScanYScaling = 0x1125, ikScanBitDepthReduction = 0x112c, ikScanUndefinedImagesize = 0x112d, ikScanImageDataset = 0x112e, ikScanImageFilter = 0x1147, ikScanNoiseFilter = 0x1148, ikScanOverScan = 0x1149, ikScanBorderDetection = 0x1150, ikScanDeskew = 0x1151, ikScanJpegQuality = 0x1153, ikScanImageMerge = 0x115c, ikScanScanningSpeed = 0xf001, ikScanMoirefilter = 0xf002, ikScanMoirefilterMaxResolution = 0xf003, ikScanSharpness = 0xf004, ikScanRotateBack = 0xf005, ikScanExtUiMode = 0xf006, ikScanDynamicThreshold = 0xf007, ikScanPixelAutomationCap = 0xf008, ikScanMultiStream = 0xf009, ikScanTextOrientationRecognition = 0xf00a, ikScanSkipBlankPage = 0xf00b, ikScanRemoveHole = 0xf00c, ikScanFocusPosition = 0xf00d, ikScanTextEnhancement = 0xf00e, ikScanBorder = 0xf00f).
ConType | A variable that contains the type of the retrieved property value (see below)
List | An array containing the retrieved values (Use when CapNo refers to properies other than halftone)
CurrentIndex

The index referring to the current value of the List (the index starts from 0)

List[CurrentIndex] = current value

DefaultIndex The index referring to the default value of the List (the index starts from 0)

List[DefaultIndex] = default value
ListNum | The number of elements in the List array
* NOTE for retrieving array values:
In Visual Basic, if the array is defined as Dim List(0 To 3) As Single, then the arguments are returned in List(0).
In Visual C++, pass the pointer to the first element in the array.
In VB.NET, the arguments are returned in List(0).
In C#.NET, the arguments are returned in List[0].

Return Value

When the CapNo refers to halftone
Returns the retrieved number of halftone.
When the CapNo refers to settings other than halftone
If ConType=3 or 4, then the number is retrieved
If ConType=5 then 1 is returned, if ConType=6 then 5 is returned (these are constants).
If List is NULL or ListNum is 0 then the number of elements in the appropriate array are returned.

If 0 is returned then there was an error. Please refer to the error status.

Explanation

The GetCapEnum method retrieves the possible setting values for a specified property of the scan device. To retrieve the possible setting values for a property it is first necessary to set the DsName property. If the DsName property is blank then please execute the Select method prior to executing the GetCapEnum method. (Note: If the OpenDS method is executed prior to the GetCapEnum method the the DsName property is disabled and the open datasource is used). If the CapNo refers to halftone, then the List array is not used, however you must pass a dummy array or set NULL(Visual C++) or Nothing(VB.NET) into the List parameter. ListNum is also not used in this case so please set it to 0.

Depending on the scanner being used, it is possible that the range acceptable resolution values will differ according to the pixel type setting (1 bit color or 24 bit color). Also, depending on the type of transfer mode used (memory or file), the type of compression values possible may differ. Because of this, before retreiving the range of possible XDpi and YDpi values, you should first set the PixelType property and before retrieving the possible compression values, you should first set the TransferMode property.

To execute the GetCapEnum method you must first execute the Initialize method. If the OpenDS method is executed prior to executing the GetCapEnum method then the open datasource cannot be used by another application until that datasource (scan device) is closed.

For scripting languages and other programs that require variant types, please refer to the GetCapEnumVariant method.

The GetCapEnum method corresponds to the Scan Control's ScanGetCapEnum method in earlier versions of the ImageKit.

Regarding ConType values

(0: When False (0) is returned, 3: when an array is returned, 4 when a list is returned, 5: when a single value is returned, 6: when a range is returned)

When CapNo refers to HalfTone
If ConType=3, then the HalfToneList property value is set and CurrentIndex and DefaultIndex are disabled.
If ConType=4, then the HalfToneList property value is set.
If ConType=5, then the HalfToneList property value is set to the current value.
If ConType=6, then no halftone is available
When CapNo refers to something other than HalfTone
If ConType=3, then the values of the List array are set and CurrentIndex and DefaultIndex are disabled.
If ConType=4, then the values of the List array are set.
If ConType=5, then the current value is set in the first element, List[0], of the List array.
If ConType=6, then minimum value is set in the first element, List[0], of the List array; the maximum value is set in the second element, List[1], the step value is set in the third element, List[2], the default value is set in the fourth element, List[3], and the current value is set in the fifth element, List[4].

Regarding the values set into the List array

When CapNo refers to the compression method:
0: uncompressed, 1: PACKBITS, 2: GROUP3-1D, 3: GROUP3-1DEOL, 4: GROUP3-2D, 5: GROUP4, 6: JPEG, 7: LZW, 8: JBIG, 9:PNG, 10: RLE4, 11: RLE8, 12: BITFIELDS (2, 3, 4, 5 are FAX[CCITT], 10, 11, and 12 are BMP)
When CapNo refers to PixelType:
0: Black and White - (2 bits), 1: Grayscale, 2: RGB color, 3: Palette color
(Depending on the datasource, values can also range from 4 to 8)
When CapNo refers to Scan Units:
0: Inches, 1: Centimeters, 2: Pica, 3: Points, 4: Twips, 5: Pixels, 6: Millimeters
When CapNo refers to the method of transfer:
0: Native, 1: File, 2: Memory, 3: File2
When CapNo refers to the file format:
0: TIFF, 1: PICT, 2: BMP, 3: XBM, 4: JFIF(JPEG), 5: FPX, 6: TIFF MULTI, 7: PNG, 8: SPIFF, 9: EXIF, 10: PDF, 11: JP2 (JPEG2000 Part1), 13: JPX(JPEG2000 Part2), 14: DEJAVU, 15: PDF/A(Version1), 16: PDF/A(Version2)
When CapNo refers to the Dropout color:
0: Red, 1: Green, 2: Blue, 3:None, 4: White
(Depending on the datasource, values 5,6 can be set)
When CapNo refers to the orientation of the paper:
0: 0 degrees (Portrait), 1: 90 degrees, 2: 180 degrees, 3: 270 degrees (Landscape)
When CapNo refers to paper size:
0: User defined size, 1: A4, 2: JIS B5, 3: US letter, 4: US legal, 5: A5, 6: ISO B4, 7: ISO B6, 9: US ledger, 10: US executive, 11: A3, 12: ISO B3, 13: A6, 14: C4, 15: C5, 16: C6, 17: 4A0, 18: 2A0, 19: A0, 20: A1, 21: A2, 22: A7, 23: A8, 24: A9, 25: A10, 26: ISO B0, 27: ISO B1, 28: ISO B2, 29: ISO B5, 30: ISO B7, 31: ISO B8, 32: ISO B9, 33: ISO B10, 34: JIS B0, 35: JIS B1, 36: JIS B2, 37: JIS B3, 38: JIS B4, 39: JIS B6, 40: JIS B7, 41: JIS B8, 42: JIS B9, 43: JIS B10, 44: C0, 45: C1, 46: C2, 47: C3, 48: C7, 49: C8, 50: C9, 51: C10, 52: US statement, 53: Business card, 54: Maximum size, 1000 Undefined
When CapNo refers to reduction of color depth:
0: Threshold, 1: HalfTone, 2: Custom HalfTone, 3: Diffusion , 4: Dynamic Threshold
When CapNo refers to the noise filter:
0: None, 1: Automation, 2: LOWPASS, 3: BANDPASS, 4: HIGHPASS
When CapNo refers to the image filter:
0: None, 1: Automation, 2: LONEPIXEL, 3: MAJORITYRULE
When CapNo refers to the OverScan:
0: Uses the set scan size to scan, 1: Considers the scan size setting and automatically scans, 2: Uses the scan size setting as a base then increases the top and bottom dimensions to scan, 3: Uses the scan size setting as a base then increases the left and right dimensions to scan, 4: Uses the scan size setting as a base then increases the top, bottom, left, and right dimensions to scan
When CapNo refers to the scanning speed:
This is enabled only for certain Epson and Panasonic scanners
(1) Epson Scan Drivers - 0: For Quality, 1: For Speed
(2) Panasonic Scan Drivers - 0: Slow, 1: Normal, 2: Fast
When CapNo refers to the moire filter:
This is enabled only for certain Epson scanners, Canon DR scanners, and PFU Scanners.
(1) Epson Scan Drivers - 0: None, 1: Standard, 2: 85lpi (For Newspapers), 3: 133lpi (for Magazines and Catalogs), 4: 175lpi (for Photographs)
(2) Canon DR Scan Drivers - 1: None, 2: High Speed Scanning, 3: High Quality Scanning
(3) PFU Scan Drivers - 0: None, 1: Moire Filter level1, 2: Moire Filter level2, 3: Moire Filter level3, 4: Moire Filter level4
When CapNo refers to Sharpness:
This is enabled only for certain Canon DR scanners, Epson scanners, Panasonic scanners, and PFU scanners.
For Canon DR scanners it is known as "edge enhancement", for Epson scanners it is known as "unsharp mask", for Panasonic scanners it is known as "image quality", and for PFU scanners, it is know as "outline enhancement".
(1) Canon DR Scan Drivers - From 1 to 5
(2) Epson Scan Drivers - 0: None, 1: Small, 2: Medium (default), 3: Large
(3) Panasonic Scan Drivers - 0: None, 1: Smooth, 2: Low, 3: Standard, 4: High
(4) PFU Scan Drivers - 0: None (Default), 1: Weak outline enhancement, 2: Medium outline enhancement, 3: Strong outline enhancement
When CapNo refers to the Extended UiMode:
This is enabled only for certain Epson scanners
0: Starts up the UI mode that was last used, 1: Starts up the professional mode, 2: Starts up the automatic mode, 3: Starts up the home mode, 4: Starts up the automatic mode (with no error messages and supressed UI), 5: Starts up office mode
When CapNo refers to the dynamic threshold:
This is enabled only for certain Panasonic scanners
0: None, 1: Bright, 2: A little brighter, 3: Standard, 4: A little darker, 5: Dark
When CapNo refers to the text enhancement:
This is enabled only for certain Canon DR scanners and certain Epson scanners
(1) Canon DR scanner:
0: Text enhancement is not used (default), 1: Text enhancement is used, 2: Advanced text enhancement is used, 3: High speed text enhancement is used, 4,5: Advanced text enhancement II is used. (Value depends on the functions used)
(2) Epson scanners:
0: Character distinction is not used. (default), 1: Standard character distinction is used, 2: Strong character distinction is used

When CapNo refers to AutoBright, Brightness, Contrast, Gamma, Highlight, Shadow, XResolution, YResolution, Rotation angle, Threshold, XScaling, YScaling, and JPEG quality coefficient, SkipBlankPage then the value returned will be the possible setting value for that property.

Note: when ConType=6, the result will be the same as that returned from the GetCapRange(GetCapRangeVariant).

(* 1) If the data source is compatible with TWAIN 2.0 or later, the value can be set, but otherwise it will be the current value.

Regarding the string value set in the HalfToneList property
When CapNo refers to HalfTone, the name of the HalfTone is set.
When there is only one name "XXX,"
When there is more than one name "XXX,YYY, , "
XXX and YYY represent the name of the HalfTone, the name are separated by a comma with a comma at the end.

[Differences from the ImageKit7 ActiveX]
Rotation, OverScan, SkipBlankPage, and TextEnhancement values have been added to CapNo

[Differences from the ImageKit9 ActiveX]
AutoBright has been added to the CapNo


GetCapEnumVariant (ImageKit Control/ Scan Method)

This method retrieves the possible setting values for a specified property of the scan device. This method is recommended when using scripting or other languages that require variant types.

[Visual Basic] [ Long = ]imagekitcontrolname.Scan.GetCapEnumVariant(CapNo As ScanCapabilityConstants, ConType As Variant, List As Variant, CurrentIndex As Variant, DefaultIndex As Variant)

Parameters

Name | Explanation
CapNo The number for the retrieved property (in hexidecimal)

0x0100 Compression method

0x0101 Pixel type

0x0102 Scan units of measurement

0x0103 Method of transfer

0x1100 AutoBright

0x1101 Brightness

0x1103 Contrast

0x1108 Gamma

0x1109 Halftone

0x110a Highlight

0x110c File Format

0x110e Dropout color

0x1110 Paper orientation

0x1113 Shadow

0x1118 Horizontal resolution

0x1119 Vertical resolution

0x1121 Rotation angle

0x1122 Paper size

0x1123 Threshold

0x1124 Horizontal scaling

0x1125 Vertical scaling

0x112c Method of color reduction

0x1147 Image filter

0x1148 Noise filter

0x1149 OverScan

0x1153 JPEG quality coefficient

0xf001 Scanning speed

0xf002 Moire filter

0xf004 Sharpness

0xf006 Extended UiMode

0xf007 Dynamic threshold

0xf00b Skip blank page

0xf00e Text enhancement

In Visual Basic, replace 0x with &H.

In Visual Basic the following constants can be used: (ikScanCompression = 0x0100, ikScanPixelType = 0x0101, ikScanUnits = 0x0102, ikScanTransferMode = 0x0103, ikScanFeederEnabled = 0x1002, ikScanFeederLoaded = 0x1003, ikScanIndicator = 0x100b, ikScanUiControllable = 0x100e, ikScanDeviceonline = 0x100f, ikScanThumbnailsEnabled = 0x1011, ikScanDuplex = 0x1012, ikScanEnableDSUIOnly = 0x1014, ikScanCustomDSData = 0x1015, ikScanAutoBright = 0x1100, ikScanBrightness = 0x1101, ikScanContrast = 0x1103, ikScanGamma = 0x1108, ikScanHalfTone = 0x1109, ikScanHighlight = 0x110a, ikFileScanFormat = 0x110c, ikScanDropoutColor = 0x110e, ikScanOrientation = 0x1110, ikScanShadow = 0x1113, ikScanXResolution = 0x1118, ikScanYResolution = 0x1119, ikScanRotation = 0x1121, ikScanPaperSize = 0x1122, ikScanThreshold = 0x1123, ikScanXScaling = 0x1124, ikScanYScaling = 0x1125, ikScanBitDepthReduction = 0x112c, ikScanUndefinedImagesize = 0x112d, ikScanImageDataset = 0x112e, ikScanImageFilter = 0x1147, ikScanNoiseFilter = 0x1148, ikScanOverScan = 0x1149, ikScanBorderDetection = 0x1150, ikScanDeskew = 0x1151, ikScanJpegQuality = 0x1153, ikScanScanningSpeed = 0xf001, ikScanMoirefilter = 0xf002, ikScanMoirefilterMaxResolution = 0xf003, ikScanSharpness = 0xf004, ikScanRotateBack = 0xf005, ikScanExtUiMode = 0xf006, ikScanDynamicThreshold = 0xf007, ikScanPixelAutomationCap = 0xf008, ikScanMultiStream = 0xf009, ikScanTextOrientationRecognition = 0xf00a, ikScanSkipBlankPage = 0xf00b, ikScanRemoveHole = 0xf00c, ikScanFocusPosition = 0xf00d, ikScanTextEnhancement = 0xf00e).
ConType | A variable that contains the type of the retrieved property value (see below)
List An array containing the retrieved values (Use when CapNo refers to properies other than halftone)

Visual Basic: If Dim List, then the arguments are returned in the first element of the array List.
CurrentIndex

The index referring to the current value of the List (the index starts from 0)

List[CurrentIndex] = current value

DefaultIndex The index referring to the default value of the List (the index starts from 0)

List[DefaultIndex] = default value

Return Value

When the CapNo refers to halftone
Returns the retrieved number of halftone.
When the CapNo refers to settings other than halftone
If ConType=3 or 4, then the number is retrieved
If ConType=5 then 1 is returned, if ConType=6 then 5 is returned (these are constants).

If 0 is returned then there was an error. Please refer to the error status.

Explanation

The GetCapEnumVariant method retrieves the possible setting values for a specified property of the scan device. This method is recommended when using scripting or other languages that require variant types.

To retrieve the possible setting values for a property it is first necessary to set the DsName property. If the DsName property is blank then please execute the Select method prior to executing the GetCapEnumVariant method. (Note: If the OpenDS method is executed prior to the GetCapEnumVariant method the the DsName property is disabled and the open datasource is used). If the CapNo refers to halftone, the the List array is not used, however you must pass a dummy array or NULL into the List parameter.

Depending on the scanner being used, it is possible that the range acceptable resolution values will differ according to the pixel type setting (1 bit color or 24 bit color). Also, depending on the type of transfer mode used (memory or file), the type of compression values possible may differ. Because of this, before retreiving the range of possible XDpi and YDpi values, you should first set the PixelType property and before retrieving the possible compression values, you should first set the TransferMode property.

To execute the GetCapEnumVariant method you must first execute the Initialize method. If the OpenDS method is executed prior to executing the GetCapEnumVariant method then the open datasource cannot be used by another application until that datasource (scan device) is closed.

Also see the GetCapEnum method

The GetCapEnum method corresponds to the Scan Control's ScanGetCapEnum method in earlier versions of the ImageKit.

Regarding ConType values

(0: When False (0) is returned, 3: when an array is returned, 4 when a list is returned, 5: when a single value is returned, 6: when a range is returned)

When CapNo refers to HalfTone
If ConType=3, then the HalfToneList property value is set and CurrentIndex and DefaultIndex are disabled.
If ConType=4, then the HalfToneList property value is set.
If ConType=5, then the HalfToneList property value is set to the current value.
If ConType=6, then no halftone is available
When CapNo refers to something other than HalfTone
If ConType=3, then the values of the List array are set and CurrentIndex and DefaultIndex are disabled.
If ConType=4, then the values of the List array are set.
If ConType=5, then the current value is set in the first element, List[0], of the List array.
If ConType=6, then minimum value is set in the first element, List[0], of the List array; the maximum value is set in the second element, List[1], the step value is set in the third element, List[2], the default value is set in the fourth element, List[3], and the current value is set in the fifth element, List[4].

Regarding the values set into the List array

When CapNo refers to the compression method:
0: uncompressed, 1: PACKBITS, 2: GROUP3-1D, 3: GROUP3-1DEOL, 4: GROUP3-2D, 5: GROUP4, 6: JPEG, 7: LZW, 8: JBIG, 9:PNG, 10: RLE4, 11: RLE8, 12: BITFIELDS (2, 3, 4, 5 are FAX[CCITT], 10, 11, and 12 are BMP)
When CapNo refers to PixelType:
0: Black and White - (2 bits), 1: Grayscale, 2: RGB color, 3: Palette color
(Depending on the datasource, values can also range from 4 to 8)
When CapNo refers to Scan Units:
0: Inches, 1: Centimeters, 2: Pica, 3: Points, 4: Twips, 5: Pixels, 6: Millimeters
When CapNo refers to the method of transfer:
0: Native, 1: File, 2: Memory, 3: File2
When CapNo refers to the file format:
0: TIFF, 1: PICT, 2: BMP, 3: XBM, 4: JFIF(JPEG), 5: FPX, 6: TIFF MULTI, 7: PNG, 8: SPIFF, 9: EXIF, 10: PDF, 11: JP2 (JPEG2000 Part1), 13: JPX(JPEG2000 Part2), 14: DEJAVU, 15: PDF/A(Version1), 16: PDF/A(Version2)
When CapNo refers to the Dropout color:
0: Red, 1: Green, 2: Blue, 3:None, 4: White
(Depending on the datasource, values 5,6 can be set)
When CapNo refers to the orientation of the paper:
0: 0 degrees (Portrait), 1: 90 degrees, 2: 180 degrees, 3: 270 degrees (Landscape)
When CapNo refers to paper size:
0: User defined size, 1: A4, 2: JIS B5, 3: US letter, 4: US legal, 5: A5, 6: ISO B4, 7: ISO B6, 9: US ledger, 10: US executive, 11: A3, 12: ISO B3, 13: A6, 14: C4, 15: C5, 16: C6, 17: 4A0, 18: 2A0, 19: A0, 20: A1, 21: A2, 22: A7, 23: A8, 24: A9, 25: A10, 26: ISO B0, 27: ISO B1, 28: ISO B2, 29: ISO B5, 30: ISO B7, 31: ISO B8, 32: ISO B9, 33: ISO B10, 34: JIS B0, 35: JIS B1, 36: JIS B2, 37: JIS B3, 38: JIS B4, 39: JIS B6, 40: JIS B7, 41: JIS B8, 42: JIS B9, 43: JIS B10, 44: C0, 45: C1, 46: C2, 47: C3, 48: C7, 49: C8, 50: C9, 51: C10, 52: US statement, 53: Business card, 54: Maximum size, 1000 Undefined
When CapNo refers to reduction of color depth:
0: Threshold, 1: HalfTone, 2: Custom HalfTone, 3: Diffusion, 4: Dynamic Threshold
When CapNo refers to the noise filter:
0: None, 1: Automation, 2: LOWPASS, 3: BANDPASS, 4: HIGHPASS
When CapNo refers to the image filter:
0: None, 1: Automation, 2: LONEPIXEL, 3: MAJORITYRULE
When CapNo refers to the OverScan:
0: Uses the set scan size to scan, 1: Considers the scan size setting and automatically scans, 2: Uses the scan size setting as a base then increases the top and bottom dimensions to scan, 3: Uses the scan size setting as a base then increases the left and right dimensions to scan, 4: Uses the scan size setting as a base then increases the top, bottom, left, and right dimensions to scan
When CapNo refers to the scanning speed:
This is enabled only for certain Epson and Panasonic scanners
(1) Epson Scan Drivers - 0: For Quality, 1: For Speed
(2) Panasonic Scan Drivers - 0: Slow, 1: Normal, 2: Fast
When CapNo refers to the moire filter:
This is enabled only for certain Epson scanners, Canon DR scanners, and PFU Scanners.
(1) Epson Scan Drivers - 0: None, 1: Standard, 2: 85lpi (For Newspapers), 3: 133lpi (for Magazines and Catalogs), 4: 175lpi (for Photographs)
(2) Canon DR Scan Drivers - 1: None, 2: High Speed Scanning, 3: High Quality Scanning
(3) PFU Scan Drivers - 0: None, 1: Moire Filter level1, 2: Moire Filter level2, 3: Moire Filter level3, 4: Moire Filter level4
When CapNo refers to Sharpness:
This is enabled only for certain Canon DR scanners, Epson scanners, Panasonic scanners, and PFU scanners.
For Canon DR scanners it is known as "edge enhancement", for Epson scanners it is known as "unsharp mask", and for Panasonic scanners it is known as "image quality".
(1) Canon DR Scan Drivers - From 1 to 5
(2) Epson Scan Drivers - 0: None, 1: Small, 2: Medium (default), 3: Large
(3) Panasonic Scan Drivers - 0: None, 1: Smooth, 2: Low, 3: Standard, 4: High
(4) PFU Scan Drivers - 0: None (Default), 1: Weak outline enhancement, 2: Medium outline enhancement, 3: Strong outline enhancement
When CapNo refers to the Extended UiMode:
This is enabled only for certain Epson scanners
0: Starts up the UI mode that was last used, 1: Starts up the professional mode, 2: Starts up the automatic mode, 3: Starts up the home mode, 4: Starts up the automatic mode (with no error messages and supressed UI), 5: Starts up office mode
When CapNo refers to the dynamic threshold:
This is enabled only for certain Panasonic scanners
0: None, 1: Bright, 2: A little brighter, 3: Standard, 4: A little darker, 5: Dark
When CapNo refers to the text enhancement:
This is enabled only for certain Canon DR scanners and certain Epson scanners
(1) Canon DR scanner:
0: Text enhancement is not used (default), 1: Text enhancement is used, 2: Advanced text enhancement is used, 3: High speed text enhancement is used, 4,5: Advanced text enhancement II is used. (Value depends on the functions used)
(2) Epson scanners:
0: Character distinction is not used. (default), 1: Standard character distinction is used, 2: Strong character distinction is used

When CapNo refers to AutoBright, Brightness, Contrast, Gamma, Highlight, Shadow, XResolution, YResolution, Rotation angle, Threshold, XScaling, YScaling, and JPEG quality coefficient, SkipBlankPage then the value returned will be the possible setting value for that property.

Note: when ConType=6, the result will be the same as that returned from the GetCapRange(GetCapRangeVariant).

(* 1) If the data source is compatible with TWAIN 2.0 or later, the value can be set, but otherwise it will be the current value.

Regarding the string value set in the HalfToneList property
When CapNo refers to HalfTone, the name of the HalfTone is set.
When there is only one name "XXX,"
When there is more than one name "XXX,YYY, , "
XXX and YYY represent the name of the HalfTone, the name are separated by a comma with a comma at the end

[Differences from the ImageKit7 ActiveX]
Rotation, OverScan, SkipBlankPage, and TextEnhancement values have been added to CapNo

[Differences from the ImageKit9 ActiveX]
AutoBright has been added to the CapNo


GetCapRange (ImageKit Control/ Scan Method)

This method retrieves the range of possible setting values for a specified functionality of the scan device.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.GetCapRange(CapNo As ScanCapabilityConstants, ConType As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().GetCapRange(long CapNo, short *ConType)

Parameters

Value | Explanation
CapNo The number for the retrieved functionality (hexadecimal)

0x1101 Brightness

0x1103 Contrast

0x1108 Gamma

0x110a Highlight

0x1113 Shadow

0x1118 Horizontal resolution

0x1119 Vertical resolution

0x1121 Rotation angle

0x1123 Threshold

0x1124 Horizontal scaling

0x1125 Vertical scaling

0x1153 JPEG quality coefficient

0xf004 Sharpness

0xf00b SkipBlankPage

0xf00d FocusPosition

In Visual Basic, replace 0x with &H.

In Visual Basic the following constants can be used:(ikScanCompression = 0x0100, ikScanPixelType = 0x0101, ikScanUnits = 0x0102, ikScanTransferMode = 0x0103, ikScanFeederEnabled = 0x1002, ikScanFeederLoaded = 0x1003, ikScanIndicator = 0x100b, ikScanUiControllable = 0x100e, ikScanDeviceonline = 0x100f, ikScanThumbnailsEnabled = 0x1011, ikScanDuplex = 0x1012, ikScanEnableDSUIOnly = 0x1014, ikScanCustomDSData = 0x1015, ikScanBrightness = 0x1101, ikScanContrast = 0x1103, ikScanGamma = 0x1108, ikScanHalfTone = 0x1109, ikScanHighlight = 0x110a, ikFileScanFormat = 0x110c, ikScanDropoutColor = 0x110e, ikScanOrientation = 0x1110, ikScanShadow = 0x1113, ikScanXResolution = 0x1118, ikScanYResolution = 0x1119, ikScanRotation = 0x1121, ikScanPaperSize = 0x1122, ikScanThreshold = 0x1123, ikScanXScaling = 0x1124, ikScanYScaling = 0x1125, ikScanBitDepthReduction = 0x112c, ikScanUndefinedImagesize = 0x112d, ikScanImageDataset = 0x112e, ikScanImageFilter = 0x1147, ikScanNoiseFilter = 0x1148, ikScanOverScan = 0x1149, ikScanBorderDetection = 0x1150, ikScanDeskew = 0x1151, ikScanJpegQuality = 0x1153, ikScanScanningSpeed = 0xf001, ikScanMoirefilter = 0xf002, ikScanMoirefilterMaxResolution = 0xf003, ikScanSharpness = 0xf004, ikScanRotateBack = 0xf005, ikScanExtUiMode = 0xf006, ikScanDynamicThreshold = 0xf007, ikScanPixelAutomationCap = 0xf008, ikScanMultiStream = 0xf009, ikScanTextOrientationRecognition = 0xf00a, ikScanSkipBlankPage = 0xf00b, ikScanRemoveHole = 0xf00c, ikScanFocusPosition = 0xf00d, ikScanTextEnhancement = 0xf00e)

ConType | A variable that retrieves the type of value for the setting (i.e. whether it is an array, a list, a single value, etc)

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetCapRange method retrieves the range of possible setting values for a specified functionality of the scan device. To retrieve the range of possible values for a setting, the DsName property must be set. If the DsName property is blank then prior to executing this method, please execute the Select method. (If the OpenDS method has been executed, the DsName property is disabled and the open scan device will be used.)

To execute the GetCapRange method you must first execute the Initialize method. If the OpenDS method is executed prior to executing the GetCapRange method then the open datasource cannot be used by another application until that datasource (scan device) is closed.

Depending on the scanner being used, it is possible that the range acceptable resolution values will differ according to the pixel type setting (1 bit color or 24 bit color). Because of this, it is recommended that before you retrieve the range of possible XDpi and YDpi values, you first set the PixelType property.

For scripting languages and other programs that require variant types, please refer to the GetCapRangeVariant method.

The GetCapRange method corresponds to the Scan Control's ScanGetCapRange method in earlier versions of the ImageKit.

Regarding ConType values
(0: When False (0) is returned, 3: when an array is returned, 4 when a list is returned, 5: when a single value is returned, 6: when a range is returned).

When ConType=3 or 4, then the number of elements in the list is set into the RangeMax property. Use this number and execute the GetCapEnum or the GetCapEnumVariant method.

When ConType=5, then the current value is set into the RangeCurrent property and the default value is set into the RangeDefault property.

When ConType=6, then values are set into the RangeCurrent, RangeDefault, RangeMax, RangeMin, and RangeStep properties.

[Differences from the ImageKit7 ActiveX]
Rotation, Sharpness, SkipBlankPage, and FocusPosition values have been added to CapNo


GetCapRangeVariant (ImageKit Control/ Scan Method)

This method retrieves the range of possible setting values for a specified functionality of the scan device. This method is recommended when using scripting or other languages that require variant types.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.GetCapRangeVariant(CapNo As ScanCapabilityConstants, ConType As Variant)

Parameters

Value | Explanation
CapNo The number for the retrieved functionality (hexadecimal)

0x1101 Brightness

0x1103 Contrast

0x1108 Gamma

0x110a Highlight

0x1113 Shadow

0x1118 Horizontal resolution

0x1119 Vertical resolution

0x1121 Rotation angle

0x1123 Threshold

0x1124 Horizontal scaling

0x1125 Vertical scaling

0x1153 JPEG quality coefficient

0xf004 Sharpness

0xf00b SkipBlankPage

0xf00d FocusPosition

In Visual Basic, replace 0x with &H.

In Visual Basic the following constants can be used:(ikScanCompression = 0x0100, ikScanPixelType = 0x0101, ikScanUnits = 0x0102, ikScanTransferMode = 0x0103, ikScanFeederEnabled = 0x1002, ikScanFeederLoaded = 0x1003, ikScanIndicator = 0x100b, ikScanUiControllable = 0x100e, ikScanDeviceonline = 0x100f, ikScanThumbnailsEnabled = 0x1011, ikScanDuplex = 0x1012, ikScanEnableDSUIOnly = 0x1014, ikScanCustomDSData = 0x1015, ikScanBrightness = 0x1101, ikScanContrast = 0x1103, ikScanGamma = 0x1108, ikScanHalfTone = 0x1109, ikScanHighlight = 0x110a, ikFileScanFormat = 0x110c, ikScanDropoutColor = 0x110e, ikScanOrientation = 0x1110, ikScanShadow = 0x1113, ikScanXResolution = 0x1118, ikScanYResolution = 0x1119, ikScanRotation = 0x1121, ikScanPaperSize = 0x1122, ikScanThreshold = 0x1123, ikScanXScaling = 0x1124, ikScanYScaling = 0x1125, ikScanBitDepthReduction = 0x112c, ikScanUndefinedImagesize = 0x112d, ikScanImageDataset = 0x112e, ikScanImageFilter = 0x1147, ikScanNoiseFilter = 0x1148, ikScanOverScan = 0x1149, ikScanBorderDetection = 0x1150, ikScanDeskew = 0x1151, ikScanJpegQuality = 0x1153, ikScanScanningSpeed = 0xf001, ikScanMoirefilter = 0xf002, ikScanMoirefilterMaxResolution = 0xf003, ikScanSharpness = 0xf004, ikScanRotateBack = 0xf005, ikScanExtUiMode = 0xf006, ikScanDynamicThreshold = 0xf007, ikScanPixelAutomationCap = 0xf008, ikScanMultiStream = 0xf009, ikScanTextOrientationRecognition = 0xf00a, ikScanSkipBlankPage = 0xf00b, ikScanRemoveHole = 0xf00c, ikScanFocusPosition = 0xf00d, ikScanTextEnhancement = 0xf00e)

ConType | A variable that retrieves the type of value for the setting (i.e. whether it is an array, a list, a single value, etc)

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetCapRangeVariant method retrieves the range of possible setting values for a specified functionality of the scan device. This method is recommended when using scripting or other languages that require variant types.

To retrieve the range of possible values for a setting, the DsName property must be set. If the DsName property is blank then prior to executing this method, please execute the Select method. (If the OpenDS method has been executed, the DsName property is disabled and the open scan device will be used.)

Depending on the scanner being used, it is possible that the range acceptable resolution values will differ according to the pixel type setting (whether 1 bit color or 24 bit color). Because of this, it is recommended that before you retrieve the range of possible XDpi and YDpi values, you first set the PixelType property.

To execute the GetCapRangeVariant method you must first execute the Initialize method. If the OpenDS method is executed prior to executing the GetCapRange method then the open datasource cannot be used by another application until that datasource (scan device) is closed.

Also see the GetCapRange method

The GetCapRangeVariant method corresponds to the Scan Control's ScanGetCapRange method in earlier versions of the ImageKit.

Regarding ConType values
(0: When False (0) is returned, 3: when an array is returned, 4 when a list is returned, 5: when a single value is returned, 6: when a range is returned).

When ConType=3 or 4, then the number of elements in the list is set into the RangeMax property. Use this number and execute the GetCapEnum or the GetCapEnumVariant method.

When ConType=5, then the current value is set into the RangeCurrent property and the default value is set into the RangeDefault property.

When ConType=6, then values are set into the RangeCurrent, RangeDefault, RangeMax, RangeMin, and RangeStep properties.

[Differences from the ImageKit7 ActiveX]
Rotation, Sharpness, SkipBlankPage, and FocusPosition values have been added to CapNo


GetDSInfo (ImageKit Control/ Scan Method)

This method retrieves information about the specified scan device, such as manufacturer, product name, etc.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.GetDSInfo
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().GetDSInfo()
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.GetDSInfo()
[C#.NET] [ bool = ]imagekitcontrolname.Scan.GetDSInfo()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetDSInfo method retrieves information about the specified scan device, such as manufacturer, product name, etc. Prior to executing the GetDSInfo method the DsName property, specifing the scan device, must be set or the scan device must be selected using the Select method.

If the GetDSInfo method executes successfully, the information about the scan device will be set in following properties: Manufacturer, ProductFamily, ProductName, ProtocolMajor, ProtocolMinor, SourceMajor, SourceMinor, SourceVersionInfo.

Prior to executing the GetDSInfo method, you must execute the Initialize method.

The GetDSInfo method corresponds to the Scan Control's ScanGetDSInfo method in earlier version of the ImageKit.


GetMinimumSize (ImageKit Control/ Scan Method)

This method retrieves the smallest size that can be scanned with a given scan device.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.GetMinimumSize(Width As Single, Height As Single)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().GetMinimumSize(float *Width, float *Height)
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.GetMinimumSize(ByRef Width As Single, ByRef Height As Single)
[C#.NET] [ bool = ]imagekitcontrolname.Scan.GetMinimumSize(ref float Width, ref float Height)

Parameters

Name | Explanation
Width | The minimum width of the scan
Height | The minimum height of the scan

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetMinimumSize method retrieves the smallest size that can be scanned with a given scan device. When the UnitMode property is set to 5(ikScanPixel), please set XResolution and YResolution properties with the resolution (DPI) value. The minimum size will be retrieved from these resolution values. If 0 is set into the XResolution and YResolution properties, the minimum size retrieved will correspond to the current resolution.

To retrieve the smallest size the DsName, ScanMode, and UnitMode properties must be set. If the DsName property is blank then prior to executing this method, please execute the Select method. (If the OpenDS method has been executed, the DsName property is disabled and the open scan device will be used.)

Set the ScanMode property from 0 to 2 and set the UnitMode to values supported by the datasource (scan device). The Width and Height parameters will return values depending on the ScanMode and UnitMode properties.

To execute the GetMinimumSize method you must first execute the Initialize method. If the OpenDS method is executed prior to executing the GetMinimumSize method then the open datasource cannot be used by another application until that datasource (scan device) is closed.

For scripting languages and other programs that require variant types, please refer to the GetMinimumSizeVariant method.

The GetMinimumSize method corresponds to the Scan Control's ScanGetMinimumSize method in earlier versions of the ImageKit.

[Differences from the ImageKit7 ActiveX]
When the UnitMode property is 5(ikScanPixel), the corresponding size can be retrieved from the resolution values.


GetMinimumSizeVariant (ImageKit Control/ Scan Method)

This method retrieves the smallest size that can be scanned with a given scan device. This method is recommended when using scripting or other languages that require variant types.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.GetMinimumSizeVariant(Width As Variant, Height As Variant)
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.GetMinimumSizeVariant(ByRef Width As Object, ByRef Height As Object)
[C#.NET] [ bool = ]imagekitcontrolname.Scan.GetMinimumSizeVariant(ref object Width, ref object Height)

Parameters

Name | Explanation
Width | The minimum width of the scan
Height | The minimum height of the scan

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetMinimumSizeVariant method retrieves the smallest size that can be scanned with a given scan device. This method is recommended when using scripting or other languages that require variant types.

When the UnitMode property is set to 5(ikScanPixel), please set XResolution and YResolution properties with the resolution (DPI) value. The minimum size will be retrieved from these resolution values. If 0 is set into the XResolution and YResolution properties, the minimum size retrieved will correspond to the current resolution.

To retrieve the smallest size the DsName, ScanMode, and UnitMode properties must be set. If the DsName property is blank then prior to executing this method, please execute the Select method. (If the OpenDS method has been executed, the DsName property is disabled and the open scan device will be used.) Set the ScanMode property from 0 to 2 and set the UnitMode to values supported by the datasource (scan device). The Width and Height parameters will return values depending on the ScanMode and UnitMode properties. When UnitMode is 5 (Pixels), the Width and Height parameters will depend on the current resolution (DPI).

To execute the GetMinimumSizeVariant method you must first execute the Initialize method. If the OpenDS method is executed prior to executing the GetMinimumSizeVariant method then the open datasource cannot be used by another application until that datasource (scan device) is closed.

Also see the GetMinimumSize method.

GetMinimumSizeVariant corresponds to the Scan Control's ScanGetMinimumSize method in earlier versions of the ImageKit.

[Differences from the ImageKit7 ActiveX]
When the UnitMode property is 5(ikScanPixel), the corresponding size can be retrieved from the resolution values.


GetPhysicalSize (ImageKit Control/ Scan Method)

This method retrieves the largest physical size that can be scanned with a given scan device.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.GetPhysicalSize(Width As Single, Height As Single)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().GetPhysicalSize(float *Width, float *Height)
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.GetPhysicalSize(ByRef Width As Single, ByRef Height As Single)
[C#.NET] [ bool = ]imagekitcontrolname.Scan.GetPhysicalSize(ref float Width, ref float Height)

Parameters

Name | Explanation
Width | The largest physical width of the scan
Height | The largest physical height of the scan

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetPhysicalSize method retrieves the largest physical size that can be scanned with a given scan device.

When the UnitMode property is set to 5(ikScanPixel), please set XResolution and YResolution properties with the resolution (DPI) value. The physical size will be retrieved from these resolution values. If 0 is set into the XResolution and YResolution properties, the physical size retrieved will correspond to the current resolution.

To retrieve the largest physical size the DsName, ScanMode, and UnitMode properties must be set. If the DsName property is blank then prior to executing this method, please execute the Select method. (If the OpenDS method has been executed, the DsName is disabled and the open scan device will be used.) Set the ScanMode property from 0 to 2 or 7 and 8 and set the UnitMode to values supported by the datasource (scan device). The Width and Height parameters will return values depending on the ScanMode and UnitMode properties. When UnitMode is 5 (Pixels), the Width and Height parameters will depend on the current resolution (DPI).

To execute the GetPhysicalSize method you must first execute the Initialize method. If the OpenDS method is executed prior to executing the GetPhysicalSize method then the open datasource cannot be used by another application until that datasource (scan device) is closed.

For scripting languages and other programs that require variant types, please refer to the GetPhysicalSizeVariant method.

The GetPhysicalSize method corresponds to the Scan Control's ScanGetPhysicalSize method in earlier versions of the ImageKit

[Differences from the ImageKit7 ActiveX]
When the UnitMode property is 5(ikScanPixel), the corresponding size can be retrieved from the resolution values.


GetPhysicalSizeVariant (ImageKit Control/ Scan Method)

This method retrieves the largest physical size that can be scanned with a given scan device.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.GetPhysicalSizeVariant(Width As Variant, Height As Variant)
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.GetPhysicalSizeVariant(ByRef Width As Object, ByRef Height As Object)
[C#.NET] [ bool = ]imagekitcontrolname.Scan.GetPhysicalSizeVariant(ref object Width, ref object Height)

Parameters

Name | Explanation
Width | The largest physical width of the scan
Height | The largest physical height of the scan

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetPhysicalSizeVariant method retrieves the largest physical size that can be scanned with a given scan device.

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

When the UnitMode property is set to 5(ikScanPixel), please set XResolution and YResolution properties with the resolution (DPI) value. The physical size will be retrieved from these resolution values. If 0 is set into the XResolution and YResolution properties, the physical size retrieved will correspond to the current resolution.

To retrieve the largest physical size the DsName, ScanMode, and UnitMode properties must be set. If the DsName property is blank then prior to executing this method, please execute the Select method. (If the OpenDS method has been executed, the DsName is disabled and the open scan device will be used.) Set the ScanMode property from 0 to 2 or 7 and 8 and set the UnitMode to values supported by the datasource (scan device). The Width and Height parameters will return values depending on the ScanMode and UnitMode properties. When UnitMode is 5 (Pixels), the Width and Height parameters will depend on the current resolution (DPI).

To execute the GetPhysicalSizeVariant method you must first execute the Initialize method. If the OpenDS method is executed prior to executing the GetPhysicalSizeVariant method then the open datasource cannot be used by another application until that datasource (scan device) is closed.

Also see the GetPhysicalSizeVariant method.

The GetPhysicalSizeVariant method corresponds to the Scan Control's ScanGetPhysicalSize method in earlier versions of the ImageKit.

[Differences from the ImageKit7 ActiveX]
When the UnitMode property is 5(ikScanPixel), the corresponding size can be retrieved from the resolution values.


Initialize (ImageKit Control/ Scan Method)

This method starts the TWAIN process.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.Initialize(hWnd As LONG_PTR, MajorNum As Integer, MinorNum As Integer, VersionInfo As String, Manufacturer As String, ProductFamily As String, ProductName As String)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().Initialize(LONG_PTR hWnd, short MajorNum, short MinorNum, LPCTSTR VersionInfo, LPCTSTR Manufacturer, LPCTSTR ProductFamily, LPCTSTR ProductName)
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.Initialize(hWnd As Integer(x86) or Long(x64), MajorNum As Short, MinorNum As Short, VersionInfo As String, Manufacturer As String, ProductFamily As String, ProductName As String)
[C#.NET] [ bool = ]imagekitcontrolname.Scan.Initialize(int(x86) or long(x64) hWnd, short MajorNum, short MinorNum, string VersionInfo, string Manufacturer, string ProductFamily, string ProductName)

Parameters

Name | Explanation
hWnd | The form window handle
MajorNum | The major version number of the application (If the version is 1.00, then this value will be 1)
MinorNum | The minor version number of the application (If the version is 1.00, then this value will be 0)
VersionInfo | The application version information (up to 32 bytes)
Manufacturer | The name of the manufacturer of the application (up to 32 bytes)
ProductFamily | The application's product family name (up to 32 bytes)
ProductName | The application's product name (up to 32 bytes)

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The Initialize method starts the TWAIN process. When using TWAIN functions, the Initialize method must be executed. MajorNum, MinorNum, VersionInfo, Manufacturer, ProductFamily, and ProductName parameters are used the notify TWAIN of various information about the application.

If the hWnd parameter cannot be passed to the window handle then pass 0 instead.

The Initialize method corresponds to the Scan Control's ScanInitialize method in earlier versions of the ImageKit.

Difference between the ImageKit7/8

The hWnd parameter's type has changed.


IsCapSupported (ImageKit Control/ Scan Method)

This method confirms whether or not a functionality is supported by the datasource (scan device).

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.IsCapSupported(CapNo As ScanCapabilityConstants, Value As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().IsCapSupported(long CapNo, long *Value)
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.IsCapSupported(CapNo As ImageKit10(A)Lib.ScanCapabilityConstants, ByRef Value As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Scan.IsCapSupported(ImageKit10(A)Lib.ScanCapabilityConstants CapNo, ref int Value)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
CapNo The number for the retrieved functionality (hexadecimal)

0x1002 Document feeder function

0x1003 A function that checks whether or not there is paper in the document feeder

0x100b Indicator

0x100e UI control function

0x100f A function that checks the device's operating state

0x1011 A function to transfer thumbnail images

0x1012 Duplex scanning with document feeder

0x1014 Displays UI that sets scan values only (not to scan)

0x1015 Retrieve or set scan values in the UI

0x1100 Automotic brightness adjustment

0x112d Undefined image size

0x112e A function that checks the number of images in a digital camera

0x1150 Auto border detection

0x1151 Deskew

0xf003 Maximum resolution when using the moire filter

0xf005 Rotate backside when using an ADF in duplex mode

0xf008 Auto detect BW/Color ratio

0xf009 Multistream

0xf00a Text orientation recognition or automatic rotation

0xf00c Punch hole removal

0xf00d Focus Postion

0xf00e Text Enhancement

0xf00f Border adjustment

0xf010 Gamma Adjustment

In Visual Basic or .NET, replace 0x with &H.

The following constants can be used: (ikScanCompression = 0x0100, ikScanPixelType = 0x0101, ikScanUnits = 0x0102, ikScanTransferMode = 0x0103, ikScanFeederEnabled = 0x1002, ikScanFeederLoaded = 0x1003, ikScanIndicator = 0x100b, ikScanUiControllable = 0x100e, ikScanDeviceonline = 0x100f, ikScanThumbnailsEnabled = 0x1011, ikScanDuplex = 0x1012, ikScanEnableDSUIOnly = 0x1014, ikScanCustomDSData = 0x1015, ikScanAutoBright = 0x1100, ikScanBrightness = 0x1101, ikScanContrast = 0x1103, ikScanGamma = 0x1108, ikScanHalfTone = 0x1109, ikScanHighlight = 0x110a, ikFileScanFormat = 0x110c, ikScanDropoutColor = 0x110e, ikScanOrientation = 0x1110, ikScanShadow = 0x1113, ikScanXResolution = 0x1118, ikScanYResolution = 0x1119, ikScanRotation = 0x1121, ikScanPaperSize = 0x1122, ikScanThreshold = 0x1123, ikScanXScaling = 0x1124, ikScanYScaling = 0x1125, ikScanBitDepthReduction = 0x112c, ikScanUndefinedImagesize = 0x112d, ikScanImageDataset = 0x112e, ikScanImageFilter = 0x1147, ikScanNoiseFilter = 0x1148, ikScanOverScan = 0x1149, ikScanBorderDetection = 0x1150, ikScanDeskew = 0x1151, ikScanJpegQuality = 0x1153, ikScanImageMerge = 0x115c, ikScanScanningSpeed = 0xf001, ikScanMoirefilter = 0xf002, ikScanMoirefilterMaxResolution = 0xf003, ikScanSharpness = 0xf004, ikScanRotateBack = 0xf005, ikScanExtUiMode = 0xf006, ikScanDynamicThreshold = 0xf007, ikScanPixelAutomationCap = 0xf008, ikScanMultiStream = 0xf009, ikScanTextOrientationRecognition = 0xf00a, ikScanSkipBlankPage = 0xf00b, ikScanRemoveHole = 0xf00c, ikScanFocusPosition = 0xf00d, ikScanTextEnhancement = 0xf00e, ikScanBorder = 0xf00f).
Value | A variable containing the retrieved condtions for a functionality. See explanation, "Regarding the values returned in the Value parameter" below:

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The IsCapSupported method confirms whether or not a functionality is supported by the datasource (scan device). To retrieve the supported range for a functionality, the DsName property must be set. If the DsName property is blank then prior to executing this method, please execute the Select method. (If the OpenDS method has been executed, the DsName property is disabled and the open scan device will be used.

To execute the IsCapSupported method you must first execute the Initialize method. If the OpenDS method is executed prior to executing the IsCapSupported method then the open datasource cannot be used by another application until that datasource (scan device) is closed.

the values returned in the Value parameter:

When CapNo refers to document feeder function, 0: cannot be used (only document plate can be used), 1: feeder can be used, 2: document plate and feeder can be used.

When CapNo refers to the function that checks whether or not there is paper in the document feeder, 0: there is no paper, 1: there is paper.

When CapNo refers to indicator, 0: cannot use indicator, 1: can use indicator.

When CapNo refers to UI control function, 0: must use manufacturer's UI only, 1: manufacturer's UI can be suppressed.

When CapNo refers to the function that checks the device's operating state, 0: Device does not respond, 1: Device is operating

When CapNo refers to the function that transfers thumbnail images, 0: cannot transfer thumbnails, 1: can transfer thumbnails.

When CapNo refers to duplex scanning with the document feeder, 0: can not scan both sides, 1: can scan both sides at once, 2: can scan both sides but takes two scans.

When CapNo refers to the function that displaying a UI that sets scan values (but does not scan), 0: Cannot display UI that sets scan values, 1: Can display UI that sets scan values

When CapNo refers to the function that retrieves or sets scan values in the UI , 0: Cannot retrieve or set values in the UI. 1: Can retrieve or set values in the UI

When CapNo indicates automatic brightness adjustment, 0: brightness is not automatic, 1: brightness is automatic.

When CapNo refers to the undefined size then in general, 0: undefined size cannot be used, 1: undefined size can be used. However, with certain Epson scan drivers, the following values are set, 0: undefined size cannot be used, 1: possible only with document plate, 2: possible only with ADF, 3: possible with both document plate and ADF

When CapNo refers to how many images are in a digital camera, the returned number is the number of images.

When CapNo refers to border detection, 0: border detection is not possible, 1: border detection is possible

When CapNo refers to deskew, 0: cannot use deskew, 1: can use deskew, 2: can use deskew with smoothing.2 is only available for certain Panasonic scan drivers.

When CapNo refers to the maximum resolution when using a moire filter, the value is that maximum resolution. Available only for certain Epson scan drivers

When CapNo refers to RotateBack when using ADF in duplex mode, 0: rotating the back side is not possible, 1: rotating the back side is possible. Available only for Canon DR scanner drivers and certain Epson "Epson Scan" scan drivers.

When CapNo refers to automatically detecting ratio of BW/Color, 0: cannot automatically detect BW/Color, 1: can automatically detect BW/Color. Available for certain Panasonic scan drivers, Canon DR scan drivers, Epson scan drivers, and PFU scan drivers.

When the CapNo refers to MultiStream, 0: MultiStream is not possible, 1: MultiStream is possible. MultiStream means that from 1 document, two different pixel type images can be retrieved. Enabled for certain Panasonic scan drivers and certain PFU scan drivers.

When the CapNo refers to TextOrientationRecognition or Automatic Rotation, 0: TextOrientationRecognition or Automatic Rotation is not possible, 1: TextOrientationRecognition or Automatic Rotation is possible. TextOrientationRecognition is enabled on Canon DR scan drivers and Panasonic scan drivers. Canon calls this "text orientation recognition" while Panasonic calls it "document orientation correction". TWAIN refers to this function as "automatic rotation".

When the CapNo refers to Punch hole removal, 0: punch hole removal is not possible, 1: punch hole removal is possible. Enabled for Canon DR scan drivers, Epson scan drivers, Panasonic scan drivers, and PFU scan drivers.

When the CapNo refers to Border Adjustment, 0: border adjustment is not possible, 1: border adjustment is possible. Enabled for certain Epson scan drivers, Panasonic scan drivers.

When the CapNo refers to Gamma Adjustment, 0: gamma adjustment is not possible, 1: gamma adjustment is possible. Enabled for certain Epson scan drivers.

* If the return value of this method is False(0), then the Value parameter is not set.

For scripting languages, VB.NET, C#.NET, and other programs that require variant types, please refer to the IsCapSupportedVariant method.

The IsCapSupported method corresponds to the Scan Control's ScanIsCapSupported method in earlier versions of the ImageKit.

[Differences from the ImageKit7 ActiveX]
Functions that display a UI that sets scan values, functions that all values to be retrieved and set in the UI, MultiStream, TextOrientationRecognition or Automatic Rotation, and Punch hole removal values been added to CapNo. Also, a new value of 2 can be set for the document feeder allowing both document feeder and ADF.

[Differences from the ImageKit8 ActiveX]
Border Adjustment and Gamma Adjustment values have been added to CapNo.

[Differences from the ImageKit9 ActiveX]
AutoBright has been added to the CapNo


IsCapSupportedVariant (ImageKit Control/ Scan Method)

This method confirms whether or not a functionality is supported by the datasource (scan device).

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.IsCapSupportedVariant(CapNo AsScanCapabilityConstants, Value As Variant)

Parameters

Name | Explanation
CapNo The number for the retrieved functionality (hexadecimal)

0x1002 Document feeder function

0x1003 A function that checks whether or not there is paper in the document feeder

0x100b Indicator

0x100e UI control function

0x100f A function that checks the devices operating state

0x1011 A function to transfer thumbnail images

0x1012 Duplex scanning with document feeder

0x1014 Displays UI that sets scan values only (not to scan)

0x1015 Retrieve or set scan values in the UI

0x1100 Automotic brightness adjustment

0x112d Undefined image size

0x112e A function that checks the number of images in a digital camera

0x1150 Auto border detection

0x1151 Deskew

0xf003 Maximum resolution when using the moire filter

0xf005 Rotate backside when using an ADF in duplex mode

0xf008 Auto detect BW/Color ratio

0xf009 Multistream

0xf00a Text orientation recognition or automatic rotation

0xf00c Punch hole removal

0xf00d Focus Postion

0xf00e Text Enhancement

0xf00f Border Adjustment

0xf010 Gamma Adjustment

In Visual Basic, replace 0x with &H.

In Visual Basic the following constants can be used: (ikScanCompression = 0x0100, ikScanPixelType = 0x0101, ikScanUnits = 0x0102, ikScanTransferMode = 0x0103, ikScanFeederEnabled = 0x1002, ikScanFeederLoaded = 0x1003, ikScanIndicator = 0x100b, ikScanUiControllable = 0x100e, ikScanDeviceonline = 0x100f, ikScanThumbnailsEnabled = 0x1011, ikScanDuplex = 0x1012, ikScanEnableDSUIOnly = 0x1014, ikScanCustomDSData = 0x1015, ikScanAutoBright = 0x1100, ikScanBrightness = 0x1101, ikScanContrast = 0x1103, ikScanGamma = 0x1108, ikScanHalfTone = 0x1109, ikScanHighlight = 0x110a, ikFileScanFormat = 0x110c, ikScanDropoutColor = 0x110e, ikScanOrientation = 0x1110, ikScanShadow = 0x1113, ikScanXResolution = 0x1118, ikScanYResolution = 0x1119, ikScanRotation = 0x1121, ikScanPaperSize = 0x1122, ikScanThreshold = 0x1123, ikScanXScaling = 0x1124, ikScanYScaling = 0x1125, ikScanBitDepthReduction = 0x112c, ikScanUndefinedImagesize = 0x112d, ikScanImageDataset = 0x112e, ikScanImageFilter = 0x1147, ikScanNoiseFilter = 0x1148, ikScanOverScan = 0x1149, ikScanBorderDetection = 0x1150, ikScanDeskew = 0x1151, ikScanJpegQuality = 0x1153, ikScanScanningSpeed = 0xf001, ikScanMoirefilter = 0xf002, ikScanMoirefilterMaxResolution = 0xf003, ikScanSharpness = 0xf004, ikScanRotateBack = 0xf005, ikScanExtUiMode = 0xf006, ikScanDynamicThreshold = 0xf007, ikScanPixelAutomationCap = 0xf008, ikScanMultiStream = 0xf009, ikScanTextOrientationRecognition = 0xf00a, ikScanSkipBlankPage = 0xf00b, ikScanRemoveHole = 0xf00c, ikScanFocusPosition = 0xf00d, ikScanTextEnhancement = 0xf00e, ikScanBorder = 0xf00f).
Value | A variable containing the retrieved condtions for a functionality. See explanation, "Regarding the values returned in the Value parameter" below:

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The IsCapSupportedVariant method confirms whether or not a functionality is supported by the datasource (scan device). To retrieve the supported range for a functionality, the DsName property must be set. If the DsName property is blank then prior to executing this method, please execute the Select method. (If the OpenDS method has been executed, the DsName property is disabled and the open scan device will be used.

To execute the IsCapSupportedVariant method you must first execute the Initialize method. If the OpenDS method is executed prior to executing the IsCapSupportedVariant method then the open datasource cannot be used by another application until that datasource (scan device) is closed.

the values returned in the Value parameter:

When CapNo refers to document feeder function, 0: cannot be used (only document plate can be used), 1: feeder can be used, 2: document plate and feeder can be used.

When CapNo refers to the function that checks whether or not there is paper in the document feeder, 0: there is no paper, 1: there is paper.

When CapNo refers to indicator, 0: cannot use indicator, 1: can use indicator.

When CapNo refers to UI control function, 0: must use manufacturer's UI only, 1: manufacturer's UI can be suppressed.

When CapNo refers to the function that checks the device's operating state, 0: Device does not respond, 1: Device is operating

When CapNo refers to the function that transfers thumbnail images, 0: cannot transfer thumbnails, 1: can transfer thumbnails.

When CapNo refers to duplex scanning with the document feeder, 0: can not scan both sides, 1: can scan both sides at once, 2: can scan both sides but takes two scans.

When CapNo refers to the function that displaying a UI that sets scan values (but does not scan), 0: Cannot display UI that sets scan values, 1: Can display UI that sets scan values

When CapNo refers to the function that retrieves or sets scan values in the UI , 0: Cannot retrieve or set values in the UI. 1: Can retrieve or set values in the UI

When CapNo indicates automatic brightness adjustment, 0: brightness is not automatic, 1: brightness is automatic.

When CapNo refers to the undefined size then in general, 0: undefined size cannot be used, 1: undefined size can be used. However, with certain Epson scan drivers, the following values are set, 0: undefined size cannot be used, 1: possible only with document plate, 2: possible only with ADF, 3: possible with both document plate and ADF

When CapNo refers to how many images are in a digital camera, the returned number is the number of images.

When CapNo refers to border detection, 0: border detection is not possible, 1: border detection is possible

When CapNo refers to deskew, 0: cannot use deskew, 1: can use deskew, 2: can use deskew with smoothing.2 is only available for certain Panasonic scan drivers.

When CapNo refers to the maximum resolution when using a moire filter, the value is that maximum resolution. Available only for certain Epson scan drivers

When CapNo refers to RotateBack when using ADF in duplex mode, 0: rotating the back side is not possible, 1: rotating the back side is possible. Available only for Canon DR scanner drivers and certain Epson "Epson Scan" scan drivers.

When CapNo refers to automatically detecting ratio of BW/Color, 0: cannot automatically detect BW/Color, 1: can automatically detect BW/Color. Available for certain Panasonic scan drivers, Canon DR scan drivers, Epson scan drivers, and PFU scan drivers.

When the CapNo refers to MultiStream, 0: MultiStream is not possible, 1: MultiStream is possible. MultiStream means that from 1 document, two different pixel type images can be retrieved. Enabled for certain Panasonic scan drivers and certain PFU scan drivers.

When the CapNo refers to TextOrientationRecognition or Automatic Rotation, 0: TextOrientationRecognition or Automatic Rotation is not possible, 1: TextOrientationRecognition or Automatic Rotation is possible. TextOrientationRecognition is enabled on Canon DR scan drivers and Panasonic scan drivers. Canon calls this "text orientation recognition" while Panasonic calls it "document orientation correction". TWAIN refers to this function as "automatic rotation".

When the CapNo refers to Punch hole removal, 0: punch hole removal is not possible, 1: punch hole removal is possible. Enabled for Canon DR scan drivers, Epson scan drivers, Panasonic scan drivers, and PFU scan drivers.

When the CapNo refers to Border Adjustment, 0: border adjustment is not possible, 1: border adjustment is possible. Enabled for certain Epson scan drivers, Panasonic scan drivers.

When the CapNo refers to Gamma Adjustment, 0: gamma adjustment is not possible, 1: gamma adjustment is possible. Enabled for certain Epson scan drivers.

* If the return value of this method is False(0), then the Value parameter is not set.

Also see the IsCapSupported method.

The IsCapSupported method corresponds to the Scan Control's ScanIsCapSupported method in earlier versions of the ImageKit.

[Differences from the ImageKit7 ActiveX]
Functions that display a UI that sets scan values, functions that all values to be retrieved and set in the UI, MultiStream, TextOrientationRecognition or Automatic Rotation, and Punch hole removal values been added to CapNo. Also, a new value of 2 can be set for the document feeder allowing both document feeder and ADF.

[Differences from the ImageKit8 ActiveX]
Border Adjustment and Gamma Adjustment values have been added to CapNo.

[Differences from the ImageKit9 ActiveX]
AutoBright has been added to the CapNo


IsOpenDS (ImageKit Control/ Scan Method)

This method checks whether or not the scan devices are open.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.IsOpenDS
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().IsOpenDS()
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.IsOpenDS()
[C#.NET] [ bool = ]imagekitcontrolname.Scan.IsOpenDS()

Parameters

None

Return Value

Returns True (nonzero) when open, returns False (0) when not open.

Explanation

The IsOpenDS method checks whether or not the scan devices are open. If the OpenDS method is executed prior to the IsOpenDS method and the scan devices are open then the return value of this method is True (non zero).


List (ImageKit Control/ Scan Method)

This method lists the scan devices.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.List
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().List()
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.List()
[C#.NET] [ bool = ]imagekitcontrolname.Scan.List()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The List method lists the scan devices. If successful, the number of scan devices installed is returned in the DsNameCount property and the list of scan devices is returned in the DsNameList property.

Prior to executing the List method, you must execute the Initialize method.

The List method corresponds to the Scan Control's ScanList method in earlier versions of the ImageKit.


LoadTwain (ImageKit Control/ Scan Method)

This method loads the TWAIN DLL.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.LoadTwain(FileName As String)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().FreeTwain(LPCTSTR FileName)
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.LoadTwain(FileName As String)
[C#.NET] [ bool = ]imagekitcontrolname.Scan.LoadTwain(string FileName)

Parameters

Name | Explanation
FileName | The filename (full path) to the TWAIN DLL

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The LoadTwain method loads the TWAIN DLL. When using the 32 bit OCX and also using the twain_32.dll (found in Windows folder) or when using the 64 bit OCX and using the TWAINDSM.dll (found in Windows\System32 folder), it is not necessary to execute this method. The ImageKit will automatically load these dlls internally.

When using the 32 bit OCX with the 32 bit TWAINDSM.dll, please execute this method.

Before executing LoadTwain, be sure to execute the Initialize method.


OpenDS (ImageKit Control/ Scan Method)

This method opens the scan datasource (scan device).

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.OpenDS
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().OpenDS()
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.OpenDS()
[C#.NET] [ bool = ]imagekitcontrolname.Scan.OpenDS()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The OpenDS method opens the datasource set in the DsName property. If the DsName property is blank, please execute the Select method prior to executing the OpenDS method. (When the DsName property is blank, set with an empty string, Null(Visual C++), vbNullString(Visual Basic), Nothing(VB.NET), or null(C#.NET), the datasource is selected by the Select method).

Note: After the OpenDS method has been executed, the datasource remains open until the CloseDS method is executed and other applications will not be able to be used.

Prior to executing the OpenDS and CloseDS methods, you must execute the Initialize method.

The OpenDS and CloseDS methods correspond to the ImageKit6 Scan Control's ScanOpenDS and ScanCloseDS methods in earlier versions of the ImageKit.


Select (ImageKit Control/ Scan Method)

This method selects the scan device.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.Select
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().Select()
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.Select()
[C#.NET] [ bool = ]imagekitcontrolname.Scan.Select()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The Select method selects the scan device. When this method is executed, the installed TWAIN drivers are listed in a dialog box and can be selected. If successful, information about the scan device is set in the following properties: Manufacturer, ProductFamily, ProductName, ProtocolMajor, ProtocolMinor, SourceMajor, SourceMinor, and SourceVersionInfo.

Prior to executing the Select method, you must execute the Initialize method.

The Select method corresponds to the Scan Control's ScanSelect method in earlier versions of the ImageKit.


Terminate (ImageKit Control/ Scan Method)

This method ends the TWAIN process.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Scan.Terminate
[Visual C++] [ BOOL = ]imagekitcontrolname.GetScan().Terminate()
[VB.NET] [ Boolean = ]imagekitcontrolname.Scan.Terminate()
[C#.NET] [ bool = ]imagekitcontrolname.Scan.Terminate()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The Terminate method ends the TWAIN process. This method must be used in conjunction with the Initialize method.

The Terminate method corresponds to the Scan Control's ScanTerminate method in earlier versions of the ImageKit.


ImageKit Vector Interface

The ImageKit Vector interface exposes properties and methods for creating vector images or converting images from raster to vector and vice versa

Property List

Custom Properties | Explanation
ButtonName | Sets the text that is displayed on the button in the progress dialog when the RasterToVector method is executing
Cancel | Sets whether or not the RasterToVector method is canceled
Caption | Sets the text that is displayed on the title bar in the progress dialog when the RasterToVector method is executing
Message | sets the text that is displayed on the center of the progress dialog when the RasterToVector method is executing

Method List

Custom Method | Explanation
CreateImage | Creates a vector image in the format specifed
RasterToVector | Converts raster a image to a vector image
VectorToRaster | Converts a vector image to a raster image


ImageKit Vector Properties

Custom Properties | Explanation
ButtonName | Sets the text that is displayed on the button in the progress dialog when the RasterToVector method is executing
Cancel | Sets whether or not the RasterToVector method is canceled
Caption | Sets the text that is displayed on the title bar in the progress dialog when the RasterToVector method is executing
Message | sets the text that is displayed on the center of the progress dialog when the RasterToVector method is executing


ButtonName (ImageKit Control/ Vector Property)

This property sets the text that is displayed on the button in the progress dialog when the RasterToVector method is executing.

[Visual Basic] imagekitcontrolname.Vector.ButtonName [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetVector().GetButtonName()
imagekitcontrolname.GetVector().SetButtonName(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Vector.ButtonName [ = String ]
[C#.NET] imagekitcontrolname.Vector.ButtonName [ = string ]

Property Value

The text that is displayed on the button in the progress dialog when the RasterToVector method is executing

Explanation

The ButtonName property sets the text that is displayed on the button in the progress dialog when the RasterToVector method is executing. If the ButtonName, Caption, and Message properties have not been set, the progress dialog will not appear and the Progress event will be generated. Conversely, if text has been set in any one of these properties, the progress dialog will appear and the Progress event will not be generated.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Cancel (ImageKit Control/ Vector Property)

This property sets whether or not the RasterToVector method is canceled.

[Visual Basic] imagekitcontrolname.Vector.Cancel [ = Boolean ]
[Visual C++] imagekitcontrolname.GetVector().SetCancel(BOOL Val )
[VB.NET] imagekitcontrolname.Vector.Cancel [ = Boolean ]
[C#.NET] imagekitcontrolname.Vector.Cancel [ = bool ]

Property Value

Value | Explanation
True | Cancels the RasterToVector method
False | Does not cancel the RasterToVector method

Explanation

The Cancel property sets whether or not the RasterToVector method is canceled. By setting the Cancel property to true, the RasterToVector method can be canceled.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


Caption (ImageKit Control/ Vector Property)

This property sets the text that is displayed on the title bar in the progress dialog when the RasterToVector method is executing

[Visual Basic] imagekitcontrolname.Vector.Caption [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetVector().GetCaption()
imagekitcontrolname.GetVector().SetCaption(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Vector.Caption [ = String ]
[C#.NET] imagekitcontrolname.Vector.Caption [ = string ]

Property Value

The text that is displayed on the title bar in the progress dialog when the RasterToVector method is executing

Explanation

The Caption property sets the text that is displayed on the title bar in the progress dialog when the RasterToVector method is executing. If the ButtonName, Caption, and Message properties have not been set, the progress dialog will not appear and the Progress event will be generated. Conversely, if text has been set in any one of these properties, the progress dialog will appear and the Progress event will not be generated.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


Message (ImageKit Control/ Vector Property)

This property sets the text that is displayed on the center of the progress dialog when the RasterToVector method is executing.

[Visual Basic] imagekitcontrolname.Vector.Message [ = String ]
[Visual C++] [ CString = ]imagekitcontrolname.GetVector().GetMessage()
imagekitcontrolname.GetVector().SetMessage(LPCTSTR Val)
[VB.NET] imagekitcontrolname.Vector.Message [ = String ]
[C#.NET] imagekitcontrolname.Vector.Message [ = string ]

Property Value

The text that is displayed on the center of the progress dialog when the RasterToVector method is executing

Explanation

The Message property sets the text that is displayed on the center of the progress dialog when the RasterToVector method is executing. If the ButtonName, Caption, and Message properties have not been set, the progress dialog will not appear and the Progress event will be generated. Conversely, if text has been set in any one of these properties, the progress dialog will appear and the Progress event will not be generated.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


ImageKit Vector Methods

Custom Method | Explanation
CreateImage | Creates a vector image in the format specifed
RasterToVector | Converts raster a image to a vector image
VectorToRaster | Converts a vector image to a raster image


CreateImage (ImageKit Control/ Vector Method)

This method creates a vector image in the format specifed.

[Visual Basic] [ LONG_PTR = ]imagekitcontrolname.Vector.CreateImage(Type As CreateVectImageConstants, Width As Long, Height As Long, Xdpi As Long, Ydpi As Long)
[Visual C++] [ LONG_PTR = ]imagekitcontrolname.GetVector().CreateImage(long Type, long Width, long Height, long Xdpi, long Ydpi)
[VB.NET] [ Integer(x86) or Long(x64) = ]imagekitcontrolname.Vector.CreateImage(Type As ImageKit10(A)Lib.CreateVectImageConstants, Width As Integer, Height As Integer, Xdpi As Integer, Ydpi As Integer)
[C#.NET] [ int(x86) or long(x64) = ]imagekitcontrolname.Vector.CreateImage(ImageKit10(A)Lib.CreateVectImageConstants Type, int Width, int Height, int Xdpi, int Ydpi)

* ImageKit10ALib refers to the ANSI version, ImageKit10Lib refers to the Unicode version.

Parameters

Name | Explanation
Type | The created vector image type (0:WMF, 1:EMF, 2:DXF, 3:SVG, 4:SXF) The following constants can be used: (ikCreateWMF = 0, ikCreateEMF = 1, ikCreateDXF = 2, ikCreateSVG = 3, ikCreateSXF = 4)
Width | The width of the created image (in pixels)
Height | The height of the created image (in pixels)
Xdpi | The number of pixels in one horizontal inch of the created image
Ydpi | The number of pixels in one vertical inch of the created image

Return Value

If successful, the image handle of the vector image is returned. If unsuccessful, 0 is returned.

Explanation

The CreateImage method creates a vector image in the format specified.

The CreateImage method corresponds to the Common Control's CreateVectImageEx method in earlier versions of the ImageKit.

Difference between ImageKit7/8

The return value's type has changed.


RasterToVector (ImageKit Control/ Vector Method)

This method converts a raster image to a vector image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Vector.RasterToVector(BlackOnWhite As Boolean, Tolerance As Integer, TimeOutSeconds As Long)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetVector().RasterToVector(BOOL BlackOnWhite, short Tolerance, long TimeOutSeconds)
[VB.NET] [ Boolean = ]imagekitcontrolname.Vector.RasterToVector(BlackOnWhite As Boolean, Tolerance As Short, TimeOutSeconds As Integer)
[C#.NET] [ bool = ]imagekitcontrolname.Vector.RasterToVector(bool BlackOnWhite, short Tolerance, int TimeOutSeconds)

Parameters

Name | Explanation
BlackOnWhite | False(0)FWhite characters on a black background, True(nonzero): Black characters on a white background
Tolerance | From 0 (high sensitivity) to 10 (low sensitivity)
TimeOutSeconds | The number of seconds before the process is canceled

Return Value

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

Explanation

The RasterToVector method converts a raster image to a vector image. Supports black and white (1 bit) images. The raster image to be processed is set in the ImageHandle property or the Layer(LayerNo).ImageHandle property (Depending on the value of the LayerNo property).

If successful the input raster image handle is freed from the memory and the new vector image handle is set into the ImageHandle property or the Layer(LayerNo).ImageHandle property (Depending on the value of the LayerNo property). If the time to process exceeds the value set in the TimeOutSeconds parameter, the process will be canceled.

When the Caption, Message, and ButtonName properties are blank, the progress dialog will not be displayed. When the progress dialog is displayed, the percentage that the processing has completed will be shown in the dialog


VectorToRaster (ImageKit Control/ Vector Method)

This method converts a vector image to a raster image.

[Visual Basic] [ Boolean = ]imagekitcontrolname.Vector.VectorToRaster(BitCount As Integr, DxfBlack As Boolean, BackRed As Integer, BackGreen As Integer, BackBlue As Integer)
[Visual C++] [ BOOL = ]imagekitcontrolname.GetVector().VectorToRaster(short BitCount, BOOL DxfBlack, short BackRed, short BackGreen, short BackBlue)
[VB.NET] [ Boolean = ]imagekitcontrolname.Vector.VectorToRaster(BitCount As Short, DxfBlack As Boolean, BackRed As Short, BackGreen As Short, BackBlue As Short)
[C#.NET] [ bool = ]imagekitcontrolname.Vector.VectorToRaster(short BitCount, bool DxfBlack, short BackRed, short BackGreen, short BackBlue)

Parameters

Name | Explanation
BitCount | The bitcount of the raster image at time of conversion (1, 4, 8, 16, 24, 32)
DxfBlack
Reverses black and white in DXF images.
[ True(nonzero)F Reverses color, False(0)F does not reverse color]
BackRed | Background color (red value)
BackGreen | Background color (green value)
BackBlue | Background color (blue value)

Return Value

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

Explanation

The VectorToRaster method converts a vector image to a raster image. The vector image to be processed is set in the ImageHandle property or the Layer(LayerNo).ImageHandle property (Depending on the value of the LayerNo property).

If successful the input vector image handle is freed from the memory and the new raster image handle is set into the ImageHandle property or the Layer(LayerNo).ImageHandle property (Depending on the value of the LayerNo property). If the time to process exceeds the value set in the TimeOutSeconds parameter, the process will be canceled.

When the Caption, Message, and ButtonName properties are blank, the progress dialog will not be displayed. When the progress dialog is displayed, the percentage that the processing has completed will be shown in the dialog

The VectorToRaster method corresponds to the Common Control's VectToDib method in earlier versions of the ImageKit.


Thumbnail Control

The Thumbnail Control provides properties, methods, and events for automatically displaying image files as thumbnails.

Property List

Custom Properties | Explanation
Appearance | Sets the appearance of the Thumbnail Control
BackColor | Sets the color for the background of the Thumbnail Control
BorderColor | Sets the color for the border of the Thumbnail Control
BorderVisible | Sets whether or not the Thumbnail Control border is displayed
Button3D | Sets whether or not the individual frames of the Thumbnail Control are shown in 3D
Cancel | Sets whether or not the process of displaying images in the Thumbnail Control is canceled
ClearOnLoad | Sets whether or not previously loaded images are cleared when an image is loaded into the Thumbnail Control
ColCount | Sets the number of columns displayed in the Thumbnail Control.
DispFileName | Sets whether or not the file name of the image in the Thumbnail Control is displayed under the image
EdgeSize | Sets the size of the area between the edge of the Thumbnail Control and the display of the thumbnails
EnableArrowKeys | Sets whether or not the arrow keys and the PageUp, PageDown keys on the keyboard can be used to scroll the images in the Thumbnail Control
Enabled | Sets whether or not the Thumbnail Control mouse or keyboard events are enabled
EnableDragSource | Sets whether or not a thumbnail image can be dragged from the thumbnail control and dropped into the ImageKit Control or into another Thumbnail Control
EnableDragTarget | Sets whether or not an image can be dragged from Windows Explorer and dropped into the Thumbnail Control
EnableMouseMoveButton | Sets whether or not the thumbnail image is selected when the mouse moves over that thumbnail image frame
EnableMouseWheel | Sets whether or not the mouse wheel is enabled
EnableMove | Sets whether or not a thumbnail image can be moved
EnableOLEDrag | Sets whether or not the OLE drag and drop is enabled
EnableSelectMultiFiles | Sets whether or not multiple thumbnail images can be selected
EnableTouch | Sets whether or not touch is enabled
ErrorStatus | Refers to the types of errors that can occur when using the Thumbnail Control
ExifAutoRotate | Sets whether an Exif thumbnail image is rotated and displayed according to the direction of the main image
FileExt | Sets the the image type that can be displayed in the Thumbnail Control
FileName | Refers to the filename of the image when the thumbnail image is selected
FilePath | Sets the file path to the directories containing the images
ForeColor | Sets the color of the thumbnail frame
ForeColorDown | Sets the color of the thumbnail image frame when the image is selected
GapSize | Sets the size of the space between the thumbnail images
Hdc | Refers to the device context of the Thumbnail Control
HWND | Refers to the window handle of the Thumbnail Control
ImageHandle | Refers to the image handle of the image loaded into the Thumbnail Control
ImageSize | Sets the size of the thumbnail image when it is displayed
ListOfFileNames | Sets the list of image filenames displayed in the thumbnail control
MouseCursorFile | Sets the filename for the cursor when using a custom mouse cursor in the Thumbnail Control
MouseCursorType | Sets the shape of the cursor that is used inside the display area of the Thumbnail Control
Picture | Sets a background image displayed on the display area of the thumbnail frame
PictureDown | Sets a background image displayed on the the display area of the thumbnail frame
PictureDownFile | Sets the filename for the background image displayed on the thumbnail frame when the mouse is clicked on a thumbnail
PictureFile | Sets the filename for the background image displayed on the thumbnail frame
ReadMode | Sets how images are loaded and displayed in the Thumbnail Control
RowCount | Sets the number of rows displayed in the Thumbnail Control
ScrollBar | Sets whether or not scroll bars are enabled on the Thumbnail Control
ScrollStep | Sets the size of the scroll step
ScrollVH | Sets whether the Thumbnail Control can be scrolled horizontally or vertically
SelectMouseCursorFile | Sets the name of the cursor file that will be used when the mouse is clicked inside the thumbnail frame
SelectMouseCursorType | Sets the shape of the cursor that is used inside the Thumbnail Control
SelectTextBackColor | Sets the background color of the text (either filename or comment) for the selected thumbnail image
SelectTextColor | Sets the color of the text (either filename or comment) for the selected thumbnail image
SelectTextTransparent | Sets whether or not the transparency is enabled when the filename or comment is displayed in the thumbnail cell that has been selected
Sort | Sets the sorting method for the image files contained in the folder(s) specified by the FilePath property
SortDate | Sets how the files will be sorted when the Sort property is set to 2 (ikSortDate)
SortOrder | Sets whether the image files set in the FilePath property are sorted in ascending or descending order
StartNum | Sets the image number of the thumbnail image displayed in the top left corner of the Thumbnail Control
Style | Sets the style of the thumbnail image frame
Text | Sets a comment and that is displayed under the thumbnail images
TextBackColor | Sets the background color for the text (either the filename or comment) for a thumbnail image
TextColor | Sets the color of the text (either the filename or comment) for a thumbnail image
TextTransparent | Sets whether or not the transparency is enabled when the filename or comment is displayed in the thumbnail cell
ThumbArrayFileName | Retrieves the image file's filename from the thumbnail image specified by the ThumbArrayNum property
ThumbArrayNum | Uses the thumbnail image number to retrieve the image file's filename, directory name, and page number
ThumbArrayPage | Retrieves the image file's page number from the thumbnail image specified by the ThumbArrayNum property
ThumbArrayPathName | Retrieves the image file's directory name from the thumbnail image specified by the ThumbArrayNum property
ThumbnailFile | Sets the thumbnail file used by the Thumbnail Control

Method List

Custom Method | Explanation
Clear | Clears the Thumbnail Control
Delete | Deletes the specified thumbnail image from Thumbnail Control
DeSelectImage | Deselects a thumbnail image that has been selected
Display | Displays the thumbnail images
GetFiles | Acquires the thumbnail image.
IsSelect | Determines if the specified thumbnail image is selected
Refresh | Redisplays the images in the Thumbnail Control
Scroll | Scrolls the thumbnail images
SelectImage | Selects a thumbnail image
SortImage | Sorts the thumbnail images
UpdateThumbnailFile | Updates the thumbnail file

Event List

Custom Event | Explanation
DropFileInThumb | Generated when an image is dragged and dropped into the Thumbnail Control
EndLoadFile | Generated after each image is loaded into the Thumbnail Control
MouseMoveOnThumb | Generated when the mouse is moved over a thumbnail image in the Thumbnail Control
SelectFile | Generated when a thumbnail image is selected
ShowThumbImage | Generated just after a thumbnail image is displayed in the Thumbnail Control
StartLoadFile | Generated before each image is loaded on the Thumbnail Control

Difference between ImageKit6/7/8

The ForeColorUp property is now the ForeColor property.
The PictureUp property is now the Picture property.
The PictureUpFile property is now the PictureFile property.


Thumbnail Properties

Custom Properties | Explanation
Appearance | Sets the appearance of the Thumbnail Control
BackColor | Sets the color for the background of the Thumbnail Control
BorderColor | Sets the color for the border of the Thumbnail Control
BorderVisible | Sets whether or not the Thumbnail Control border is displayed
Button3D | Sets whether or not the individual frames of the Thumbnail Control are shown in 3D
Cancel | Sets whether or not the process of displaying images in the Thumbnail Control is canceled
ClearOnLoad | Sets whether or not previously loaded images are cleared when an image is loaded into the Thumbnail Control
ColCount | Sets the number of columns displayed in the Thumbnail Control.
DispFileName | Sets whether or not the file name of the image in the Thumbnail Control is displayed under the image
EdgeSize | Sets the size of the area between the edge of the Thumbnail Control and the display of the thumbnails
EnableArrowKeys | Sets whether or not the arrow keys and the PageUp, PageDown keys on the keyboard can be used to scroll the images in the Thumbnail Control
Enabled | Sets whether or not the Thumbnail Control mouse or keyboard events are enabled
EnableDragSource | Sets whether or not a thumbnail image can be dragged from the thumbnail control and dropped into the ImageKit Control or into another Thumbnail Control
EnableDragTarget | Sets whether or not an image can be dragged from Windows Explorer and dropped into the Thumbnail Control
EnableMouseMoveButton | Sets whether or not the thumbnail image is selected when the mouse moves over that thumbnail image frame
EnableMouseWheel | Sets whether or not the mouse wheel is enabled
EnableMove | Sets whether or not a thumbnail image can be moved
EnableOLEDrag | Sets whether or not the OLE drag and drop is enabled
EnableSelectMultiFiles | Sets whether or not multiple thumbnail images can be selected
EnableTouch | Sets whether or not touch is enabled
ErrorStatus | Refers to the types of errors that can occur when using the Thumbnail Control
ExifAutoRotate | Sets whether an Exif thumbnail image is rotated and displayed according to the direction of the main image
FileExt | Sets the the image type that can be displayed in the Thumbnail Control
FileName | Refers to the filename of the image when the thumbnail image is selected
FilePath | Sets the file path to the directories containing the images
ForeColor | Sets the color of the thumbnail frame
ForeColorDown | Sets the color of the thumbnail image frame when the image is selected
GapSize | Sets the size of the space between the thumbnail images
Hdc | Refers to the device context of the Thumbnail Control
HWND | Refers to the window handle of the Thumbnail Control
ImageHandle | Refers to the image handle of the image loaded into the Thumbnail Control
ImageSize | Sets the size of the thumbnail image when it is displayed
ListOfFileNames | Sets the list of image filenames displayed in the thumbnail control
MouseCursorFile | Sets the filename for the cursor when using a custom mouse cursor in the Thumbnail Control
MouseCursorType | Sets the shape of the cursor that is used inside the display area of the Thumbnail Control
Picture | Sets a background image displayed on the display area of the thumbnail frame
PictureDown | Sets a background image displayed on the the display area of the thumbnail frame
PictureDownFile | Sets the filename for the background image displayed on the thumbnail frame when the mouse is clicked on a thumbnail
PictureFile | Sets the filename for the background image displayed on the thumbnail frame
ReadMode | Sets how images are loaded and displayed in the Thumbnail Control
RowCount | Sets the number of rows displayed in the Thumbnail Control
ScrollBar | Sets whether or not scroll bars are enabled on the Thumbnail Control
ScrollStep | Sets the size of the scroll step
ScrollVH | Sets whether the Thumbnail Control can be scrolled horizontally or vertically
SelectMouseCursorFile | Sets the name of the cursor file that will be used when the mouse is clicked inside the thumbnail frame
SelectMouseCursorType | Sets the shape of the cursor that is used inside the Thumbnail Control
SelectTextBackColor | Sets the background color of the text (either filename or comment) for the selected thumbnail image
SelectTextColor | Sets the color of the text (either filename or comment) for the selected thumbnail image
SelectTextTransparent | Sets whether or not the transparency is enabled when the filename or comment is displayed in the thumbnail cell that has been selected
Sort | Sets the sorting method for the image files contained in the folder(s) specified by the FilePath property
SortDate | Sets how the files will be sorted when the Sort property is set to 2 (ikSortDate)
SortOrder | Sets whether the image files set in the FilePath property are sorted in ascending or descending order
StartNum | Sets the image number of the thumbnail image displayed in the top left corner of the Thumbnail Control
Style | Sets the style of the thumbnail image frame
Text | Sets a comment and that is displayed under the thumbnail images
TextBackColor | Sets the background color for the text (either the filename or comment) for a thumbnail image
TextColor | Sets the color of the text (either the filename or comment) for a thumbnail image
TextTransparent | Sets whether or not the transparency is enabled when the filename or comment is displayed in the thumbnail cell
ThumbArrayFileName | Retrieves the image file's filename from the thumbnail image specified by the ThumbArrayNum property
ThumbArrayNum | Uses the thumbnail image number to retrieve the image file's filename, directory name, and page number
ThumbArrayPage | Retrieves the image file's page number from the thumbnail image specified by the ThumbArrayNum property
ThumbArrayPathName | Retrieves the image file's directory name from the thumbnail image specified by the ThumbArrayNum property
ThumbnailFile | Sets the thumbnail file used by the Thumbnail Control

Difference between ImageKit6/7/8

The ForeColorUp property is now the ForeColor property.
The PictureUp property is now the Picture property.
The PictureUpFile property is now the PictureFile property.


Appearance (Thumbnail Control/ Custom Property)

This property sets the appearance of the Thumbnail Control.

[Visual Basic] thumbcontrolname.Appearance [ = AppearanceConstants ]
[Visual C++] [ long = ]thumbcontrolname.GetAppearance()
thumbcontrolname.SetAppearance(long Val)
[VB.NET] thumbcontrolname.Appearance [ = ImageKit10Thumb(A)Lib.AppearanceConstants ]
[C#.NET] thumbcontrolname.Appearance [ = ImageKit10Thumb(A)Lib.AppearanceConstants ]

* ImageKit10ThumbALib refers to the ANSI version, ImageKit10ThumbLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Flat
1 | Lowered
2 | Raised

The following constants can also be used: (ikFlat = 0, ikLowered = 1, ikRaised = 2).

Explanation

The Appearance property sets the appearance of the Thumbnail Control. The Appearance property is enabled when the BorderVisible property is set to True. When the Appearance property is set to 0 (ikFlat), the border color is determined by the BorderColor property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BackColor (Thumbnail Control/ Custom Property)

This property sets the color for the background of the Thumbnail Control.

[Visual Basic] thumbcontrolname.BackColor [ = Long ]
[Visual C++] [ long = ]thumbcontrolname.GetBackColor()
thumbcontrolname.SetBackColor(long Val)
[VB.NET] thumbcontrolname.BackColor [ = Color ]
[C#.NET] thumbcontrolname.BackColor [ = Color ]

Property Value

BackColor is the Thumbnail Control's background color.

Explanation

The BackColor property sets the color for the background of the Thumbnail Control. To set color, please use the appropriate RGB(Red, Green, Blue) value.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences between the ImageKit6/7/8

The property's type has changed.


BorderColor (Thumbnail Control/ Custom Property)

This property sets the color for the border of the Thumbnail Control.

[Visual Basic] thumbcontrolname.BorderColor [ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]thumbcontrolname.GetBorderColor()
thumbcontrolname.SetBorderColor(unsigned long Val)
[VB.NET] thumbcontrolname.BorderColor [ = Color ]
[C#.NET] thumbcontrolname.BorderColor [ = Color ]

Property Value

BorderColor is the color for the border of the Thumbnail Control.

Explanation

The BorderColor property sets the color for the border of the Thumbnail Control. To set color, please use the appropriate RGB(Red, Green, Blue) value. The BorderColor property is enable when the Appearance property is 0(ikFlat) and the BorderVisible property is True.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences between the ImageKit6/7/8

The property's type has changed.


BorderVisible (Thumbnail Control/ Custom Property)

This property sets whether or not the Thumbnail Control border is displayed.

[Visual Basic] thumbcontrolname.BorderVisible [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetBorderVisible()
thumbcontrolname.SetBorderVisible(BOOL Val)
[VB.NET] thumbcontrolname.BorderVisible [ = Boolean ]
[C#.NET] thumbcontrolname.BorderVisible [ = bool ]

Property Value

Value | Explanation
True | The border is displayed
False | The border is not displayed

Explanation

The BorderVisible property sets whether or not the Thumbnail Control border is displayed.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Button3D (Thumbnail Control/ Custom Property)

This property sets whether or not the individual frames of the Thumbnail Control are shown in 3D.

[Visual Basic] thumbcontrolname.Button3D [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetButton3D()
thumbcontrolname.SetButton3D(BOOL Val)
[VB.NET] thumbcontrolname.Button3D [ = Boolean ]
[C#.NET] thumbcontrolname.Button3D [ = bool ]

Property Value

Value | Explanation
True | Displays the frames of the thumbnail control as 3D
False | Displays the frames of the thumbnail control as flat

Explanation

The Button3D property sets whether or not the individual frames of the Thumbnail Control are shown in 3D. This property is enabled when the Style property is 0 (ikButton).

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Cancel (Thumbnail Control/ Custom Property)

This property sets whether or not the process of displaying images in the Thumbnail Control is canceled.

[Visual Basic] thumbcontrolname.Cancel [ = Boolean ]
[Visual C++] thumbcontrolname.SetCancel(BOOL Val )
[VB.NET] thumbcontrolname.Cancel [ = Boolean ]
[C#.NET] thumbcontrolname.Cancel [ = bool ]

Property Value

Value | Explanation
True | Cancels the process
False | Does not cancel the process

Explanation

The Cancel property sets whether or not the process of displaying images in the Thumbnail Control is canceled. To cancel, set this property to True.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


ClearOnLoad (Thumbnail Control/ Custom Property)

This property sets whether or not previously loaded images are cleared when an image is loaded into the Thumbnail Control.

[Visual Basic] thumbcontrolname.ClearOnLoad [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetClearOnLoad()
thumbcontrolname.SetClearOnLoad(BOOL Val)
[VB.NET] thumbcontrolname.ClearOnLoad [ = Boolean ]
[C#.NET] thumbcontrolname.ClearOnLoad [ = bool ]

Property Value

Value | Explanation
True | When an image is loaded, the previously loaded image is cleared (default)
False | When an image is loaded, the previously loaded image is not cleared

Explanation

The ClearOnLoad property sets whether or not previously loaded images are cleared when an image is loaded into the Thumbnail Control. True is the default value. When False, the image loaded is added to the previously loaded images. A good example of when to use this property is when using an ADF to continuously scan images or when retrieving multiple images, one by one, from a datasource.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ColCount (Thumbnail Control/ Custom Property)

This property sets the number of columns displayed in the Thumbnail Control.

[Visual Basic] thumbcontrolname.ColCount [ = Integer ]
[Visual C++] [ short = ]thumbcontrolname.GetColCount()
thumbcontrolname.SetColCount(short Val)
[VB.NET] thumbcontrolname.ColCount [ = Short ]
[C#.NET] thumbcontrolname.ColCount [ = short ]

Property Value

The ColCount sets the number of colums displayed (1 or more)

Explanation

The ColCount property sets the number of columns displayed in the Thumbnail Control. The ColCount and RowCount properties determine the total number of images displayed at one time as thumbnails.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


DispFileName (Thumbnail Control/ Custom Property)

This property sets whether or not the file name of the image in the Thumbnail Control is displayed under the image

[Visual Basic] thumbcontrolname.DispFileName [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetDispFileName()
thumbcontrolname.SetDispFileName(BOOL Val)
[VB.NET] thumbcontrolname.DispFileName [ = Boolean ]
[C#.NET] thumbcontrolname.DispFileName [ = bool ]

Property Value

Value | Explanation
True | Displays the file name or a comment
False | Does not display the file name or comment

Explanation

The DispFileName property sets whether or not the file name of the image in the Thumbnail Control is displayed under the image. If this property is True, the file name is displayed under the thumbnail image. In order to display a comment under the thumbnail image, you must set this property to true. Then in the ShowThumbImage event set the comment that you would like to display in the Text property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


EdgeSize (Thumbnail Control/ Custom Property)

This property sets the size of the area between the edge of the Thumbnail Control and the display of the thumbnails.

[Visual Basic] thumbcontrolname.EdgeSize [ = Integer ]
[Visual C++] [ short = ]thumbcontrolname.GetEdgeSize()
thumbcontrolname.SetEdgeSize(short Val)
[VB.NET] thumbcontrolname.EdgeSize [ = Short ]
[C#.NET] thumbcontrolname.EdgeSize [ = short ]

Property Value

The size of the area between the edge of the Thumbnail Control and the display of the thumbnails.

Explanation

The EdgeSize property sets the size of the area between the edge of the Thumbnail Control and the display of the thumbnails in pixel units.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


EnableArrowKeys (Thumbnail Control/ Custom Property)

This property sets whether or not the arrow keys and the PageUp, PageDown keys on the keyboard can be used to scroll the images in the Thumbnail Control.

[Visual Basic] thumbcontrolname.EnableArrowKeys [ = Boolean ]
[Visual C++] thumbcontrolname.SetEnableArrowKeys(BOOL Val )
[VB.NET] thumbcontrolname.EnableArrowKeys [ = Boolean ]
[C#.NET] thumbcontrolname.EnableArrowKeys [ = bool ]

Property Value

Value | Explanation
True | The arrow keys and the PageUp and PageDown keys are enabled
False | The arrow keys and the PageUp and PageDown keys are disabled

Explanation

The EnableArrowKeys property sets whether or not the arrow keys and the PageUp, PageDown keys on the keyboard can be used to scroll the images in the Thumbnail Control.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


Enabled (Thumbnail Control/ Custom Property)

This property sets whether or not the Thumbnail Control mouse or keyboard events are enabled.

[Visual Basic] thumbcontrolname.Enabled [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetEnabled()
thumbcontrolname.SetEnabled(BOOL Val)
[VB.NET] thumbcontrolname.Enabled [ = Boolean ]
[C#.NET] thumbcontrolname.Enabled [ = bool ]

Property Value

Value | Explanation
True | Mouse and keyboard events are enabled
False | Mouse and keyboard events are disabled

Explanation

The Enabled property sets whether or not the Thumbnail Controlmouse or keyboard events are enabled. When True, these events are enabled. When False, the events do not fire.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


EnableDragSource (Thumbnail Control/ Custom Property)

This property sets whether or not a thumbnail image can be dragged from the thumbnail control and dropped into the ImageKit Control or into another Thumbnail Control.

[Visual Basic] thumbcontrolname.EnableDragSource [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetEnableDragSource()
thumbcontrolname.SetEnableDragSource(BOOL Val)
[VB.NET] thumbcontrolname.EnableDragSource [ = Boolean ]
[C#.NET] thumbcontrolname.EnableDragSource [ = bool ]

Property Value

Value | Explanation
True | Enables the ability to drag and drop thumbnail images into the ImageKit Control or another Thumbnail Control
False | Disables the ability to drag and drop thumbnail images into the ImageKit Control or another Thumbnail Control

Explanation

The EnableDragSource property sets whether or not a thumbnail image can be dragged from the thumbnail control and dropped into the ImageKit Control or into another Thumbnail Control. Set this property to True to enable drag and drop.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


EnableDragTarget (Thumbnail Control/ Custom Property)

This property sets whether or not an image file can be dragged from Windows Explorer and dropped into the Thumbnail Control.

[Visual Basic] thumbcontrolname.EnableDragTarget [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetEnableDragTarget()
thumbcontrolname.SetEnableDragTarget(BOOL Val)
[VB.NET] thumbcontrolname.EnableDragTarget [ = Boolean ]
[C#.NET] thumbcontrolname.EnableDragTarget [ = bool ]

Property Value

Value | Explanation
True | Enables the ability to drag an image file from Windows Explorer into the Thumbnail Control
False | Disables the ability to drag an image file from Windows Explorer into the Thumbnail Control

Explanation

The EnableDragTarget property sets whether or not an image file can be dragged from Windows Explorer and dropped into the Thumbnail Control. Set this property to True to enable drag and drop.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


EnableMouseMoveButton (Thumbnail Control/ Custom Property)

This property sets whether or not the thumbnail image is selected when the mouse moves over that thumbnail image frame.

[Visual Basic] thumbcontrolname.EnableMouseMoveButton [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetEnableMouseMoveButton()
thumbcontrolname.SetEnableMouseMoveButton(BOOL Val)
[VB.NET] thumbcontrolname.EnableMouseMoveButton [ = Boolean ]
[C#.NET] thumbcontrolname.EnableMouseMoveButton [ = bool ]

Property Value

Value | Explanation
True | The thumbnail image frame is selected on mouse over
False | The thumbnail image frame is not selected on mouse over

Explanation

The EnableMouseMoveButton property sets whether or not the thumbnail image is selected when the mouse moves over that thumbnail image frame.

Note that when the mouse moves over the thumbnail, this does not generate the SelectFile event even though the thumbnail image is selected. When the EnableMouseMoveButton property is set to True, it is still possible to click the thumbnail image or use the keyboard which will generate the SelectFile event.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


EnableMouseWheel (Thumbnail Control/ Custom Property)

This property sets whether or not the mouse wheel is enabled.

[Visual Basic] thumbcontrolname.EnableMouseWheel [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetEnableMouseWheel()
thumbcontrolname.SetEnableMouseWheel(BOOL Val)
[VB.NET] thumbcontrolname.EnableMouseWheel [ = Boolean ]
[C#.NET] thumbcontrolname.EnableMouseWheel [ = bool ]

Property Value

Value | Explanation
True | Mouse wheel is enabled
False | Mouse wheel is disabled

Explanation

The EnableMouseWheel property sets whether or not the mouse wheel is enabled.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


EnableMove (Thumbnail Control/ Custom Property)

This property sets whether or not a thumbnail image can be moved.

[Visual Basic] thumbcontrolname.EnableMove [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetEnableMove()
thumbcontrolname.SetEnableMove(BOOL Val)
[VB.NET] thumbcontrolname.EnableMove [ = Boolean ]
[C#.NET] thumbcontrolname.EnableMove [ = bool ]

Property Value

Value | Explanation
True | Enables to move a thumbnail image
False (Default) | Disables to move a thumbnail image

Explanation

The EnableMouseWheel property sets whether or not a thumbnail image can be moved. The default value is False. When this property is True, the thumbnail image can be moved with mouse.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


EnableOLEDrag (Thumbnail Control/ Custom Property)

This property sets whether or not the OLE drag and drop is enabled.

[Visual Basic] thumbcontrolname.EnableOLEDrag[ = Boolean ]
[Visual C++] thumbcontrolname.SetEnableOLEDrag(BOOL Val)
[VB.NET] thumbcontrolname.EnableOLEDrag[ = Boolean ]
[C#.NET] thumbcontrolname.EnableOLEDrag[ = bool ]

Property Value

Value | Explanation
True | Enable OLE drag and drop
False | Disable OLE drag and drop (default)

Explanation

The EnableOLEDrag property sets whether or not the OLE drag and drop is enabled. This property is False by default (OLE drag and drop is disabled by default).

To drag and drop an image from the Thumbnail Control into the ImageKit Control or into another Thumbnail Control both source and target controls must have their EnableOLEDrag properties set to True. To drag and drop multiple images, please set this property to False. When this property is True, this property only allows to drop an image even though selecting some thumbnail images.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


EnableSelectMultiFiles (Thumbnail Control/ Custom Property)

ImageKit10 ActiveX

SelectMultiFiles (Thumbnail Control/ Custom Property)

This property sets whether or not multiple thumbnail images can be selected.

[Visual Basic] thumbcontrolname.EnableSelectMultiFiles [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetEnableSelectMultiFiles()
thumbcontrolname.SetEnableSelectMultiFiles(BOOL Val)
[VB.NET] thumbcontrolname.EnableSelectMultiFiles [ = Boolean ]
[C#.NET] thumbcontrolname.EnableSelectMultiFiles [ = bool ]

Property Value

Value | Explanation
True | Multiple thumbnail images can be selected
False | Single thumbnail images can be selected

Explanation

The EnableSelectMultiFiles property sets whether or not multiple thumbnail images can be selected.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ErrorStatus (Thumbnail Control/ Custom Property)

This property refers to the types of errors that can occur when using the Thumbnail Control.

[Visual Basic] thumbcontrolname.ErrorStatus [ = Integer ]
[Visual C++] [ short = ]thumbcontrolname.GetErrorStatus()
[VB.NET] thumbcontrolname.ErrorStatus [ = Short ]
[C#.NET] thumbcontrolname.ErrorStatus [ = short ]

Property Value

Value | Explanation
0 | No error has occurred
1 | The process was canceled
2 | An unspecified error has occurred
3 | A memory error has occurred
4 | This function is not supported
5 | A value has an inproper setting
6 | The file is incorrect or corrupted
7 | The image is incorrect or corrupted
9 | An error has occurred while drawing on or displaying an image
10 | That image format is not supported
11 | The order of execution is incorrect
14 | The DLL is not loaded
15 | Transmission error
16 | The file can't be fined
17 | The file is corrupted
18 | Process has timed out and has been cancelled
19 | Access denied. Incorrect username or password
20 | The file can't be open
21 | The file can't be created
22 | Cannot write file
23 | Cannot read file
24 | There is no displayable image data

Explanation

The ErrorStatus property refers to the types of errors that can occur when using the Thumbnail Control. The ErrorStatus property value can be retrieved after a Thumbnail Control method has been executed.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ExifAutoRotate (Thumbnail Control/ Custom Property)

This property sets whether an Exif thumbnail image is rotated and displayed according to the direction of the main image.

[Visual Basic] thumbcontrolname.ExifAutoRotate [ = Boolean ]
[Visual C++] thumbcontrolname.SetExifAutoRotate(BOOL Val)
[VB.NET] thumbcontrolname.ExifAutoRotate [ = Boolean ]
[C#.NET] thumbcontrolname.ExifAutoRotate [ = bool ]

Property Value

Value | Explanation
True (Default) | Rotate and display thumbnail image according to the direction of the main image
False | Display the thumbnail image as it is (ignoring the direction)

Explanation

The ExifAutoRotate property sets whether an Exif thumbnail image is rotated and displayed according to the direction of the main image. The default value is True. This property is ignored if the image file is not an Exif file.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


EnableTouch (Thumbnail Control/ Custom Property)

This property sets whether or not the Thumbnail Control can be scrolled by touch. (when using a touch screen).

[Visual Basic] thumbcontrolname.EnableTouch [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetEnableTouch()
thumbcontrolname.SetEnableTouch(BOOL Val)
[VB.NET] thumbcontrolname.EnableTouch [ = Boolean ]
[C#.NET] thumbcontrolname.EnableTouch [ = bool ]

Property Value

Value | Explanation
True | Scrolling by touch is enabled
False | Scrolling by touch is disabled

Explanation

The EnableTouch property sets whether or not the Thumbnail Control can be scrolled by touch. The default value is true. This property is ignored when not using a touch screen.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


FileExt (Thumbnail Control/ Custom Property)

This property sets the the image type that can be displayed in the Thumbnail Control.

[Visual Basic] thumbcontrolname.FileExt [ = String ]
[Visual C++] [ CString = ]thumbcontrolname.GetFileExt()
thumbcontrolname.SetFileExt(LPCTSTR Val)
[VB.NET] thumbcontrolname.FileExt [ = String ]
[C#.NET] thumbcontrolname.FileExt [ = string ]

Property Value

String value denoting the file extension.

Explanation

The FileExt property sets the the image type that can be displayed in the Thumbnail Control. When setting multiple image file types in the FileExt property, please separate the entries with a semicolon. Note: TheFileExt property is not case sensitive so "BMP" and "bmp" are treated as identical.

Example

IkThumb1.FileExt = "BMP;JPG;PNG; "

When setting the FileExt property it is also possible to specify a file name as well as a file type.

Example

IkThumb1.FileExt = "001.BMP;JPG;PNG; "

This will load all JPEG and PNG files and the BMP file named 001.BMP from the specifed directory.

Note that when using a wildcard, you cannot set the same file extension twice. So IkThumb1.FileExt = "*.bmp;001.bmp" will result in an error. You must enter either "*.bmp" or "001.bmp".

Example

Correct: IkThumb1.FileExt = "002.BMP; 001.BMP; "

Incorrect: IkThumb1.FileExt = "*.BMP; 001.BMP; "

If you want to display only specific files in the folder, set the file name to be displayed in the ListOfFileNames property and set an empty string in the FilePath property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


FileName (Thumbnail Control/ Custom Property)

This property refers to the filename of the image when the thumbnail image is selected.

[Visual Basic] thumbcontrolname.FileName [ = String ]
[Visual C++] [ CString = ]thumbcontrolname.GetFileName()
[VB.NET] thumbcontrolname.FileName [ = String ]
[C#.NET] thumbcontrolname.FileName [ = string ]

Reference

The image file name

Explanation

The FileName property refers to the filename of the image when the thumbnail image is selected. A thumbnail image can be selected using a mouse click or the keyboard. It can also be selected using the SelectImage method, the SelectFile or MouseMoveOnThumb event (When EnableMouseMoveButton property is True). The filename of the image is retrieved by the SelectFile event when the thumbnail image is selected.

Note: if more than one thumbnail are selected at the same time, the FileName property will contain the filename of the last image in that group of selected images.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


FilePath (Thumbnail Control/ Custom Property)

This property sets the file path to the directories containing the images.

[Visual Basic] thumbcontrolname.FilePath [ = String ]
[Visual C++] [ CString = ]thumbcontrolname.GetFilePath()
thumbcontrolname.SetFilePath(LPCTSTR Val)
[VB.NET] thumbcontrolname.FilePath [ = String ]
[C#.NET] thumbcontrolname.FilePath [ = string ]

Property Value

A string value denoting the path to the image files

Explanation

The FilePath property sets the file path to the directories containing the images. when setting multiple directories in the FilePath property, please separate the entries with a semicolon.

If you want to display only specific files in the folder, set the file name to be displayed in the ListOfFileNames property and set an empty string in the FilePath property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ForeColor (Thumbnail Control/ Custom Property)

This property sets the color of the thumbnail frame when the thumbnail image is not selected (default color).

[Visual Basic] thumbcontrolname.ForeColor [ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]thumbcontrolname.GetForeColor()
thumbcontrolname.SetForeColor(unsigned long Val)
[VB.NET] thumbcontrolname.ForeColor [ = Color ]
[C#.NET] thumbcontrolname.ForeColor [ = Color ]

Property Value

The color of the thumbnail frame (default color)

Explanation

The ForeColor property sets the color of the thumbnail frame when the thumbnail image is not selected (default color). To set the color, please use the RGB(Red, Green, Blue) value. This property is enabled when the Style property is 0 (ikButton) or 1 (ikFilm).

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences between the ImageKit6/7/8

The ForeColorUp property is now called the ForeColor property. The property's type has changed.


ForeColorDown (Thumbnail Control/ Custom Property)

This property sets the color of the thumbnail image frame when the image is selected.

[Visual Basic] thumbcontrolname.ForeColorDown [ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]thumbcontrolname.GetForeColorDown()
thumbcontrolname.SetForeColorDown(unsigned long Val)
[VB.NET] thumbcontrolname.ForeColorDown [ = Color ]
[C#.NET] thumbcontrolname.ForeColorDown [ = Color ]

Property Value

The color of the thumbnail frame

Explanation

The ForeColorDown property sets the color of the thumbnail image frame when the image is selected. To set the color, please use the RGB(Red, Green, Blue) value. This property is enabled when the Style property is 0 (ikButton) or 1 (ikFilm).

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences between the ImageKit6/7/8

The property's type has changed.


GapSize (Thumbnail Control/ Custom Property)

This property sets the size of the space between the thumbnail images.

[Visual Basic] thumbcontrolname.GapSize [ = Integer ]
[Visual C++] [ short = ]thumbcontrolname.GetGapSize()
thumbcontrolname.SetGapSize(short Val)
[VB.NET] thumbcontrolname.GapSize [ = Short ]
[C#.NET] thumbcontrolname.GapSize [ = short ]

Property Value

The size of the space between images in pixels

Explanation

The GapSize property sets the size of the space between the thumbnail images.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Hdc (Thumbnail Control/ Custom Property)

This property refers to the device context of the Thumbnail Control.

[Visual Basic] thumbcontrolname.Hdc [ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]thumbcontrolname.GetHdc()
[VB.NET] thumbcontrolname.Hdc [ = Integer(x86) or Long(x64) ]
[C#.NET] thumbcontrolname.Hdc [ = int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Reference

The device context of the Thumbnail Control

Explanation

The Hdc property refers to the device context of the Thumbnail Control.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.

Differences between the ImageKit6/7/8

The property's type has changed.


Hwnd (Thumbnail Control/ Custom Property)

This property refers to the window handle of the Thumbnail Control.

[Visual Basic] thumbcontrolname.HWND [ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]thumbcontrolname.GetHWND()
[VB.NET] thumbcontrolname.HWND [ = Integer(x86) or Long(x64) ]
[C#.NET] thumbcontrolname.HWND [ = int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Reference

The window handle of the Thumbnail Control

Explanation

The Hwnd property refers to the window handle of the Thumbnail Control.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.

Differences between the ImageKit6/7/8

The property's type has changed and its name is now all upper case letters.


ImageHandle (Thumbnail Control/ Custom Property)

This property refers to the image handle of the image loaded into the Thumbnail Control

[Visual Basic] thumbcontrolname.ImageHandle [ = LONG_PTR ]
[Visual C++] thumbcontrolname.SetImageHandle(LONG_PTR Val)
[VB.NET] thumbcontrolname.ImageHandle [ = Integer(x86) or Long(x64) ]
[C#.NET] thumbcontrolname.ImageHandle [ = int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Property Value

The image handle of a raster or vector image

Explanation

This property refers to the image handle of the image loaded into the Thumbnail Control. It is useful to display, as thumbnails, the results when scanning continuously with an ADF or other means.

In Visual Basic:

Private Sub ImageKit1_AfterScan(ByVal DibHandle As ImageKit10ALibCtl.LONG_PTR, ByVal OrgHandle As ImageKit10ALibCtl.LONG_PTR, ByVal ImageCount As Long, ByVal BitOrder As Integer)

ImageKitThumb1.ImageHandle = ImageKit1.CopyImage(DibHandle)

End Sub

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.

Differences between the ImageKit7/8

The property's type has changed.


ImageSize (Thumbnail Control/ Custom Property)

This property sets the size of the thumbnail image when it is displayed.

[Visual Basic] thumbcontrolname.ImageSize [ = Integer ]
[Visual C++] [ short = ]thumbcontrolname.GetImageSize()
thumbcontrolname.SetImageSize(short Val)
[VB.NET] thumbcontrolname.ImageSize [ = Short ]
[C#.NET] thumbcontrolname.ImageSize [ = short ]

Property Value

The size of the thumbnail image in pixels

Default size is 96

Explanation

The ImageSize property sets the size of the thumbnail image when it is displayed. The length or width dimension (whichever is larger) of the original image is set to the size specified in this property and the other dimension is scaled in size.

Note: the available display area of the thumbnail control determines the maximum value of the ImageSize property. Setting the ImageSize property to values larger than the area available to display the thumbnail image will have no effect.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ListOfFileNames (Thumbnail Control/ Custom Property)

This property sets the list of the image filenames displayed in the thumbnail control.

[Visual Basic] thumbcontrolname.ListOfFileNames [ = String ]
[Visual C++] [ CString = ]thumbcontrolname.GetListOfFileNames()
thumbcontrolname.SetListOfFileNames(LPCTSTR Val)
[VB.NET] thumbcontrolname.ListOfFileNames [ = String ]
[C#.NET] thumbcontrolname.ListOfFileNames [ = string ]

Reference

The list of filenames (can be just one)

Explanation

The ListOfFileNames property sets the list of the image filenames displayed in the thumbnail control. It is used to display only specific files that exist in multiple folders or one folder. When specifying multiple files, separate the file names with a semicolon (;).

If you want to use a list of file names, set the FilePath property to an empty string to disable it. WhentThe ListOfFileNames property is enabled, the value of the FileExt property is ignored. Also, set the filenames using a full path or relative path.

Setting this value

This value can be set at run-time

Retrieving this value

This value can be retrieved at run-time


MouseCursorFile (Thumbnail Control/ Custom Property)

This property sets the filename for the cursor when using a custom mouse cursor in the Thumbnail Control.

[Visual Basic] thumbcontrolname.MouseCursorFile [ = String ]
[Visual C++] thumbcontrolname.SetMouseCursorFile(LPCTSTR Val)
[VB.NET] thumbcontrolname.MouseCursorFile [ = String ]
[C#.NET] thumbcontrolname.MouseCursorFile [ = string ]

Property Value

The file name for the cursor file

Explanation

The MouseCursorFile property sets the filename for the cursor when using a custom mouse cursor in the Thumbnail Control.

This property is enabled when the MouseCursorType and SelectMouseCursorType properties are 15(ikCursorCustom).

The differences from ImageKit6:

The MouseCursorTypeFile property has been renamed to the MouseCursorFile property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


MouseCursorType (Thumbnail Control/ Custom Property)

This property sets the shape of the cursor that is used inside the display area of the Thumbnail Control.

[Visual Basic] thumbcontrolname.MouseCursorType [ = CursorTypeConstants ]
[Visual C++] thumbcontrolname.SetMouseCursorType(long Val)
[VB.NET] thumbcontrolname.MouseCursorType [ = ImageKit10Thumb(A)Lib.CursorTypeConstants ]
[C#.NET] thumbcontrolname.MouseCursorType [ = ImageKit10Thumb(A)Lib.CursorTypeConstants ]

* ImageKit10ThumbALib refers to the ANSI version, ImageKit10ThumbLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Standard arrow (Default)
1 | Standard arrow and small hourglass
2 | Crosshair
3 | Standard arrow and question mark
4 | I-beam
6 | Slashed circle
8 | Four-pointed arrow
9 | Double-pointed arrow pointing northeast and southwest
10 | Double-pointed arrow pointing north and south
11 | Double-pointed arrow pointing northwest and southeast
12 | Double-pointed arrow pointing west and east
13 | Vertical arrow
14 | Hourglass
15 | Custom
16 | Disable cursor

The following constants can also be used: (ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2, ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8, ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11, ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom = 15, ikCursorNoShow = 16).

Explanation

The MouseCursorType property sets the shape of the cursor that is used inside the display area of the Thumbnail Control. When this property is 15 (ikCursorCustom), the appropriate cursor file name must be set in the MouseCursorFile property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


Picture (Thumbnail Control/ Custom Property)

This property sets a background image displayed on the display area of the thumbnail image when the thumbnail has not been clicked.

[Visual Basic] thumbcontrolname.Picture[ = Picture ]
[Visual C++] [ CPicture = ]thumbcontrolname.GetPicture()
[VB.NET] thumbcontrolname.Picture[ = Image ]
[C#.NET] thumbcontrolname.Picture[ = Image ]

Property Value

The background image displayed on the thumbnail image when the thumbnail hasn't been clicked

Explanation

The Picture property sets a background image displayed on the the display area of the thumbnail image (the black portions of the display area) when the thumbnail hasn't been clicked. This property could be used to create the effect of window blinds being opened to reveal a thumbnail image when the mouse is clicked on that thumbnail image frame.

This property is enabled when the Style property is 2 (ikCustom). The black RGB(0,0,0) portions of the foreground image is set as a transparent color. The thumbnail image will be displayed through this portion of the background image.

Note: To set the background image during execution in Visual Studio.NET or Visual C++, please use the PictureFile property.

Example:

Visual Basic

Dim X As Picture

Set X = LoadPicture("HalfOpen.bmp")

Set ImageKitThumb1.Picture = X

Set X = LoadPicture("FullOpen.bmp")

Set ImageKitThumb1.PictureDown = X

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences between the ImageKit6/7/8

The property's name has changed from PictureUp to Picture.


PictureDown (Thumbnail Control/ Custom Property)

This property sets a background image displayed on the display area of the thumbnail image

[Visual Basic] thumbcontrolname.PictureDown[ = Picture ]
[Visual C++] [ CPicture = ]thumbcontrolname.GetPictureDown()
[VB.NET] thumbcontrolname.PictureDown[ = Image ]
[C#.NET] thumbcontrolname.PictureDown[ = Image ]

Property Value

The background image displayed on the thumbnail image

Explanation

The PictureDown property sets a background image displayed on the the display area of the thumbnail image (the black portions of the display area) when the mouse is clicked. This property could be used to create the effect of window blinds being opened to reveal a thumbnail image when the mouse is clicked on that thumbnail image frame.

This property is enabled when the Style property is 2 (ikCustom). The black RGB(0,0,0) portions of the background image is set as a transparent color. The thumbnail image will be displayed through this portion of the background image.

Note: To set the background image during execution in Visual Studio.NET or Visual C++, please use the PictureDownFile property.

Example:

Visual Basic

Dim X As Picture

Set X = LoadPicture("HalfOpen.bmp")

Set ImageKitThumb1.PictureUp = X

Set X = LoadPicture("FullOpen.bmp")

Set ImageKitThumb1.PictureDown = X

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


PictureDownFile (Thumbnail Control/ Custom Property)

This property sets the filename for the background image displayed on the thumbnail image frame when the mouse is clicked on a thumbnail.

[Visual Basic] thumbcontrolname.PictureDownFile [ = String ]
[Visual C++] thumbcontrolname.SetPictureDownFile(LPCTSTR Val)
[VB.NET] thumbcontrolname.PictureDownFile [ = String ]
[C#.NET] thumbcontrolname.PictureDownFile [ = string ]

Property Value

The filename for the background image

Explanation

The PictureDownFile property sets the filename for the background image displayed on the thumbnail image frame when the mouse is clicked on a thumbnail. This property could be used to create the effect of window blinds being opened to reveal a thumbnail image when the mouse is clicked on that thumbnail image frame.

This property is enabled when the Style property is 2 (Custom). The black RGB(0,0,0) portions of the background image is set as a transparent color. The thumbnail image will be displayed through this portion of the background image.

Note: The PictureDown and Picture properties also set a background image on the display area of the thumbnail image. However, when setting the background image during execution, it is recommended that you use the PictureDownFile and PictureFile properties.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


PictureFile (Thumbnail Control/ Custom Property)

This property sets the filename for the background image displayed on the thumbnail image frame when the thumbnail has not been clicked.

[Visual Basic] thumbcontrolname.PictureFile [ = String ]
[Visual C++] thumbcontrolname.SetPictureFile(LPCTSTR Val)
[VB.NET] thumbcontrolname.PictureFile [ = String ]
[C#.NET] thumbcontrolname.PictureFile [ = string ]

Property Value

The filename for the background image

Explanation

The PictureFile property sets the filename for the background image displayed on the thumbnail image frame when the thumbnail has not been clicked. This property could be used to create the effect of window blinds being opened to reveal a thumbnail image when the mouse is clicked on that thumbnail image frame.

This property is enabled when the Style property is 2 (ikCustom). The black RGB(0,0,0) portions of the background image is set as a transparent color. The thumbnail image will be displayed through this portion of the background image.

Note: The PictureDown and Picture properties also set a background image on the display area of the thumbnail image. However, when setting the background image during execution, it is recommended that you use the PictureFile and PictureDownFile properties.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.

Differences between the ImageKit6/7/8

The property's name has changed from PictureUpFile to PictureFile.


ReadMode (Thumbnail Control/ Custom Property)

This property sets how images are loaded and displayed in the Thumbnail Control.

[Visual Basic] thumbcontrolname.ReadMode [ = ThumbnailReadModeConstants ]
[Visual C++] [ long = ]thumbcontrolname.GetReadMode()
thumbcontrolname.SetReadMode(long Val)
[VB.NET] thumbcontrolname.ReadMode [ = ImageKit10Thumb(A)Lib.ThumbnailReadModeConstants ]
[C#.NET] thumbcontrolname.ReadMode [ = ImageKit10Thumb(A)Lib.ThumbnailReadModeConstants ]

* ImageKit10ThumbALib refers to the ANSI version, ImageKit10ThumbLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Load
1 | Load and display
2 | Load (for multi-page image files)
3 | Load and display (for multi-page image files)
4 | Load image handles

The following constants can also be used: (ikThumbRd = 0, ikThumbRdDsp = 1, ikThumbRdMultiImg = 2, ikThumbRdDspMultiImg = 3, ikThumbRdImage = 4).

Explanation

The ReadMode property sets how images are loaded and displayed in the Thumbnail Control. When the ReadMode property is set to 0(ikThumbRd) or 2(ikThumbRdMultiImg), the GetFiles method loads the appropriate files from the folder set in the FilePath property or the files set in the ListOfFileNames property into the memory. The Display method displays the file on the control.

When the ReadMode property is set to 1(ikThumbRdDsp) or 3(ikThumbRdDspMultiImg), by executing the Display method, the appropriate files from folders set in the FilePath property or the files set in the ListOfFileNames property are displayed on the control while they are being loaded.

* Multi-image is only for GIF and TIFF.

When the ReadMode property is set to 4(ikThumbRdImage), by executing the Display method, the image set in the ImageHandle property is displayed on the control. In order to display multiple images at once, please set the ClearOnLoad property to False and set each memory handle to the ImageHandle property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ColCount (Thumbnail Control/ Custom Property)

ImageKit10 ActiveX

RowCount (Thumbnail Control/ Custom Property)

This property sets the number of rows displayed in the Thumbnail Control.

[Visual Basic] thumbcontrolname.RowCount [ = Integer ]
[Visual C++] [ short = ]thumbcontrolname.GetRowCount()
thumbcontrolname.SetRowCount(short Val)
[VB.NET] thumbcontrolname.RowCount [ = Short ]
[C#.NET] thumbcontrolname.RowCount [ = short ]

Property Value

The number of rows displayed (1 or more)

Explanation

The RowCount property sets the number of rows displayed in the Thumbnail Control. The RowCount and ColCount properties determine the total number of images displayed at one time as thumbnails.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ScrollBar (Thumbnail Control/ Custom Property)

This property sets whether or not scroll bars are enabled on the Thumbnail Control.

[Visual Basic] thumbcontrolname.ScrollBar [ = Boolean ]
[Visual C++] [ BOOL = ]thumbcontrolname.GetScrollBar()
thumbcontrolname.SetScrollBar(BOOL Val)
[VB.NET] thumbcontrolname.ScrollBar [ = Boolean ]
[C#.NET] thumbcontrolname.ScrollBar [ = bool ]

Property Value

Value | Explanation
True | Scroll bars are enabled on the Thumbnail Control
False | Scroll bars are not enabled on the Thumbnail Control

Explanation

The ScrollBar property sets whether or not scroll bars are enabled on the Thumbnail Control. When the ScrollBar property is True, scroll bars will automatically be displayed when images do not fit within the Thumbnail Control.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ScrollStep (Thumbnail Control/ Custom Property)

This property sets the size of the scroll step.

[Visual Basic] thumbcontrolname.ScrollStep [ = Integer ]
[Visual C++] [ short = ]thumbcontrolname.GetScrollStep()
thumbcontrolname.SetScrollStep(short Val)
[VB.NET] thumbcontrolname.ScrollStep [ = Short ]
[C#.NET] thumbcontrolname.ScrollStep [ = short ]

Property Value

The scroll size for thumbnail control in number of rows or columns

Explanation

The ScrollStep property sets the size of the scroll step for the thumbnail control. By setting this property to positive values, the scroll moves forward, by setting it to negative values, the scroll moves backward. The ScrollVH property determines if the scroll moves horizontally or vertically.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ScrollVH (Thumbnail Control/ Custom Property)

This property sets whether the Thumbnail Control can be scrolled horizontally or vertically.

[Visual Basic] thumbcontrolname.ScrollVH [ = ThumbnailScrollConstants ]
[Visual C++] [ long = ]thumbcontrolname.GetScrollVH()
thumbcontrolname.SetScrollVH(long Val)
[VB.NET] thumbcontrolname.ScrollVH [ = ImageKit10Thumb(A)Lib.ThumbnailScrollConstants ]
[C#.NET] thumbcontrolname.ScrollVH [ = ImageKit10Thumb(A)Lib.ThumbnailScrollConstants ]

* ImageKit10ThumbALib refers to the ANSI version, ImageKit10ThumbLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Scrolls vertically
1 | Scrolls horizontally

The following constants can also be used: (ikThumbVertical = 0, ikThumbHorizontal = 1).

Explanation

The ScrollVH property sets whether the Thumbnail Control can be scrolled horizontally or vertically. If set to 0(ikThumbVertical), the thumbnail control can be scrolled horizontally. If set to 1(ikThumbHorizontal) the Thumbnail Control can be scrolled vertically.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


SelectMouseCursorFile (Thumbnail Control/ Custom Property)

This property sets the name of the cursor file that will be used when the mouse is clicked inside the thumbnail frame

[Visual Basic] thumbcontrolname.SelectMouseCursorFile [ = String ]
[Visual C++] thumbcontrolname.SetSelectMouseCursorFile(LPCTSTR Val)
[VB.NET] thumbcontrolname.SelectMouseCursorFile [ = String ]
[C#.NET] thumbcontrolname.SelectMouseCursorFile [ = string ]

Property Value

The file name for the cursor file

Explanation

The SelectMouseCursorFile property sets the name of the cursor file that will be used when the mouse is clicked inside the thumbnail frame.

This property is enabled when the MouseCursorType and SelectMouseCursorType properties are 15(ikCursorCustom).

The differences from ImageKit6:

The MouseCursor property has been renamed to the SelectMouseCursorFile property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


SelectMouseCursorType (Thumbnail Control/ Custom Property)

This property sets the shape of the cursor that is used inside the Thumbnail Control.

[Visual Basic] thumbcontrolname.SelectMouseCursorType [ = CursorTypeConstants ]
[Visual C++] thumbcontrolname.SetSelectMouseCursorType(long Val)
[VB.NET] thumbcontrolname.SelectMouseCursorType [ = ImageKit10Thumb(A)Lib.CursorTypeConstants ]
[C#.NET] thumbcontrolname.SelectMouseCursorType [ = ImageKit10Thumb(A)Lib.CursorTypeConstants ]

* ImageKit10ThumbALib refers to the ANSI version, ImageKit10ThumbLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Standard arrow (Default)
1 | Standard arrow and small hourglass
2 | Crosshair
3 | Standard arrow and question mark
4 | I-beam
6 | Slashed circle
8 | Four-pointed arrow
9 | Double-pointed arrow pointing northeast and southwest
10 | Double-pointed arrow pointing north and south
11 | Double-pointed arrow pointing northwest and southeast
12 | Double-pointed arrow pointing west and east
13 | Vertical arrow
14 | Hourglass
15 | Custom
16 | Disable cursor

The following constants can also be used: (ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2, ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8, ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11, ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom = 15, ikCursorNoShow = 16).

Explanation

The SelectMouseCursorType property sets the shape of the cursor that is used inside the Thumbnail Control. When this property is 15 (ikCursorCustom), the appropriate cursor file name must be set in the SelectMouseCursorFile property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


SelectTextBackColor (Thumbnail Control/ Custom Property)

This property sets the background color of the text (either filename or comment) for the selected thumbnail image.

[Visual Basic] thumbcontrolname.SelectTextBackColor [ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]thumbcontrolname.GetSelectTextBackColor()
thumbcontrolname.SetSelectTextBackColor(unsigned long Val)
[VB.NET] thumbcontrolname.SelectTextBackColor [ = Color ]
[C#.NET] thumbcontrolname.SelectTextBackColor [ = Color ]

Property Value

The background color of the text

Explanation

The SelectTextBackColor property sets the background color of the text (either filename or comment) for the selected thumbnail image. To set this property, use RGB(Red, Green, Blue) color notation or equivalent value.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences between the ImageKit6/7/8

The property's type has changed.


SelectTextColor (Thumbnail Control/ Custom Property)

This property sets the color of the text (either filename or comment) for the selected thumbnail image.

[Visual Basic] thumbcontrolname.SelectTextColor [ = Long ]
[Visual C++] [ long = ]thumbcontrolname.GetSelectTextColor()
thumbcontrolname.SetSelectTextColor(long Val)
[VB.NET] thumbcontrolname.SelectTextColor [ = Color ]
[C#.NET] thumbcontrolname.SelectTextColor [ = Color ]

Property Value

The color of the text

Explanation

The SelectTextColor property sets the display color of the text (either filename or comment) for the selected thumbnail image. To set this property, use RGB(Red, Green, Blue) color notation or equivalent value.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences between the ImageKit6/7/8

The property's type has changed.


SelectTextTransparent (Thumbnail Control/ Custom Property)

This property sets whether or not the transparency is enabled when the filename or comment is displayed in the thumbnail cell that has been selected.

[Visual Basic] thumbcontrolname.SelectTextTransparent[ = Boolean ]
[Visual C++] [ Bool = ]thumbcontrolname.GetSelectTextTransparent()
thumbcontrolname.SetSelectTextTransparent(BOOL Val )
[VB.NET] thumbcontrolname.SelectTextTransparent[ = Boolean ]
[C#.NET] thumbcontrolname.SelectTextTransparent[ = bool ]

Property Value

Value | Explanation
True | Transparency is enabled
False | Transparency is disabled

Explanation

The SelectTextTransparent property sets whether or not the transparency is enabled when the filename or comment is displayed in the thumbnail cell that has been selected. The SelectTextTransparent property is enabled when the thumbnail image is selected. (For enabling transparency when the thumbnail image has not been selected, please refer to the TextTransparent property.)

When this property is True, the background color set in the SelectTextBackColor or TextBackColor property will be suppressed.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Sort (Thumbnail Control/ Custom Property)

This property sets the sorting method for the image files contained in the folder(s) specified by the FilePath property or the list of files set in the ListOfFileNames property.

[Visual Basic] thumbcontrolname.Sort [ = SortConstants ]
[Visual C++] [ long = ]thumbcontrolname.GetSort()
thumbcontrolname.SetSort(long Val)
[VB.NET] thumbcontrolname.Sort [ = ImageKit10Thumb(A)Lib.SortConstants ]
[C#.NET] thumbcontrolname.Sort [ = ImageKit10Thumb(A)Lib.SortConstants ]

* ImageKit10ThumbALib refers to the ANSI version, ImageKit10ThumbLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Not sorted
1 | Sorted by file name
2 | Sorted by date
3 | Sorted by file extension + file name
4 | Sorted by file extension + date
5 | Sorted by folder name + file name
6 | Sorted by folder name + date
7 | Sorted by folder name + file extension + file name
8 | Sorted by folder name + file extension + date

The following constants can also be used: (ikSortNone = 0, ikSortFileName = 1, ikSortDate = 2, ikSortFileExtName = 3, ikSortFileExtDate = 4, ikSortDirFileName = 5, ikSortDirDate = 6, ikSortDirFileExtName = 7, ikSortDirFileExtDate = 8).

Explanation

The Sort property sets the sorting method for the image files contained in the folder(s) specified by the FilePath property or the list of files set in the ListOfFileNames property. When the Sort property is set to 2 (ikSortDate), the files will be sorted according to the value set in the SortDate property.

The differences from ImageKit5 and ImageKit6

In the ImageKit5 and ImageKit6, the Sort property's date referred to the last time the file was modified. In the ImageKit10 if the Sort property is set to 2 (ikSortDate) and the SortDate property is set to 1 (ikSortDateLastWriteTime), then the ImageKit10 will behave in the same way as the ImageKit5 and ImageKit6.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


SortDate (Thumbnail Control/ Custom Property)

This property sets how the files will be sorted when the Sort property is set to 2 (ikSortDate)

[Visual Basic] thumbcontrolname.SortDate [ = SortDateConstants ]
[Visual C++] thumbcontrolname.SetSortDate(long Val)
[VB.NET] thumbcontrolname.SortDate [ = ImageKit10Thumb(A)Lib.SortDateConstants ]
[C#.NET] thumbcontrolname.SortDate [ = ImageKit10Thumb(A)Lib.SortDateConstants ]

* ImageKit10ThumbALib refers to the ANSI version, ImageKit10ThumbLib refers to the Unicode version.

Property Value

Value | Explanation
0 | The datetime that the file was created
1 | The datetime that the file was last modified
2 | The datetime that the file was last accessed

The following constants can also be used: (ikSortDateCreationTime = 0, ikSortDateLastWriteTime = 1, ikSortDateLastAccessTime = 2).

Explanation

This property sets how the files will be sorted when the Sort property is set to 2 (ikSortDate)

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


SortOrder (Thumbnail Control/ Custom Property)

This property sets whether the image files set in the FilePath property or the list of files set in the ListOfFileNames property are sorted in ascending or descending order.

[Visual Basic] thumbcontrolname.SortOrder [ = SortOrderConstants ]
[Visual C++] [ long = ]thumbcontrolname.SetSortOrder()
thumbcontrolname.SetSortOrder(long Val)
[VB.NET] thumbcontrolname.SortOrder [ = ImageKit10Thumb(A)Lib.SortOrderConstants ]
[C#.NET] thumbcontrolname.SortOrder [ = ImageKit10Thumb(A)Lib.SortOrderConstants ]

* ImageKit10ThumbALib refers to the ANSI version, ImageKit10ThumbLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Sorted in ascending order
1 | Sorted in descending order

The following constants can also be used: (ikSortOrderInc = 0, ikSortOrderDec = 1).

Explanation

This property sets whether the image files set in the FilePath property or the list of files set in the ListOfFileNames property are sorted in ascending or descending order.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


StartNum (Thumbnail Control/ Custom Property)

This property sets the image number of the thumbnail image displayed in the top left corner of the Thumbnail Control.

[Visual Basic] thumbcontrolname.StartNum [ = Integer ]
[Visual C++] [ short = ]thumbcontrolname.GetStartNum()
thumbcontrolname.SetStartNum(short Val)
[VB.NET] thumbcontrolname.StartNum [ = Short ]
[C#.NET] thumbcontrolname.StartNum [ = short ]

Property Value

The image number of the thumbnail image in the top left corner of the Thumbnail Control (image numbers start from 0)

Explanation

The StartNum property sets the image number of the thumbnail image displayed in the top left corner of the Thumbnail Control. Note that if you set a number that cannot be evenly divided by the ColCount property or the RowCount property the nearest value that is divisible will be used.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Style (Thumbnail Control/ Custom Property)

This property sets the style of the thumbnail image frame.

[Visual Basic] thumbcontrolname.Style [ = SortConstants ]
[Visual C++] [ long = ]thumbcontrolname.GetStyle()
thumbcontrolname.SetStyle(long Val)
[VB.NET] thumbcontrolname.Style [ = ImageKit10Thumb(A)Lib.SortConstants ]
[C#.NET] thumbcontrolname.Style [ = ImageKit10Thumb(A)Lib.SortConstants ]

* ImageKit10ThumbALib refers to the ANSI version, ImageKit10ThumbLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Button
1 | Film
2 | Custom

The following constants can also be used: (ikButton = 0, ikFilm = 1, ikCustom = 2).

Explanation

The Style property sets the style of the thumbnail image frame. Changes to the Style property during execution are not enabled until the Display method is executed.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Text (Thumbnail Control/ Custom Property)

This property sets a comment and that is displayed under the thumbnail images.

[Visual Basic] thumbcontrolname.Text [ = String ]
[Visual C++] thumbcontrolname.SetText(LPCTSTR Val)
[VB.NET] thumbcontrolname.Text [ = String ]
[C#.NET] thumbcontrolname.Text [ = string ]

Property Value

Comment

Explanation

The Text property sets a comment and that is displayed under the thumbnail images. To display a comment, please set the Text property within the ShowThumbImage event. To enable the Text property, the DispFileName property must be True. In Visual Basic.NET and Visual C#.NET replace Text with CtlText.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


TextBackColor (Thumbnail Control/ Custom Property)

This property sets the background color for the text (either the filename or comment) for a thumbnail image.

[Visual Basic] thumbcontrolname.TextBackColor [ = Long ]
[Visual C++] [ long = ]thumbcontrolname.GetTextBackColor()
thumbcontrolname.SetTextBackColor(long Val)
[VB.NET] thumbcontrolname.TextBackColor [ = Color ]
[C#.NET] thumbcontrolname.TextBackColor [ = Color ]

Property Value

The background color of the text

Explanation

The TextBackColor property sets the background color for the text (either the filename or comment) for a thumbnail image. To set this property, use RGB(Red, Green, Blue) color notation or equivalent value.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences between the ImageKit6/7/8

The property's type has changed.


TextColor (Thumbnail Control/ Custom Property)

This property sets the color of the text (either the filename or comment) for a thumbnail image.

[Visual Basic] thumbcontrolname.TextColor [ = Long ]
[Visual C++] [ long = ]thumbcontrolname.GetTextColor()
thumbcontrolname.SetTextColor(long Val)
[VB.NET] thumbcontrolname.TextColor [ = Color ]
[C#.NET] thumbcontrolname.TextColor [ = Color ]

Property Value

The color of the text

Explanation

The TextColor property sets the color of the text (either the filename or comment) for a thumbnail image. To set this property, use RGB(Red, Green, Blue) color notation or equivalent value.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.

Differences between the ImageKit6/7/8

The property's type has changed.


TextTransparent (Thumbnail Control/ Custom Property)

This property sets whether or not the transparency is enabled when the filename or comment is displayed in the thumbnail cell

[Visual Basic] thumbcontrolname.TextTransparent[ = Boolean ]
[Visual C++] [ Bool = ]thumbcontrolname.GetTextTransparent()
thumbcontrolname.SetTextTransparent(BOOL Val )
[VB.NET] thumbcontrolname.TextTransparent[ = Boolean ]
[C#.NET] thumbcontrolname.TextTransparent[ = bool ]

Property Value

Value | Explanation
True | Transparency is enabled
False | Transparency is disabled

Explanation

The TextTransparent property sets whether or not transparency is enabled when the filename or comment is displayed in the thumbnail cell. The TextTransparent property is enabled when the thumbnail image is NOT selected. (For enabling transparency when the thumbnail image has been selected, please refer to the SelectTextTransparent property.)

When the TextTransparent property is True, the background color set in the SelectTextBackColor or TextBackColor property will be suppressed.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ThumbArrayFileName (Thumbnail Control/ Custom Property)

This property retrieves the image file's filename from the thumbnail image specified by the ThumbArrayNum property.

[Visual Basic] thumbcontrolname.ThumbArrayFileName[ = String ]
[Visual C++] [ CString = ]thumbcontrolname.GetThumbArrayFileName()
[VB.NET] thumbcontrolname.ThumbArrayFileName[ = String ]
[C#.NET] thumbcontrolname.ThumbArrayFileName[ = string ]

Property Value

The filename of the image file

Explanation

The ThumbArrayFileName property retrieves the image file's filename from the thumbnail image specified by the ThumbArrayNum property. If the ThumbArrayNum property refers to an image that is not loaded from file, then a sequence of numbers is retrieved.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ThumbArrayNum (Thumbnail Control/ Custom Property)

This property uses the thumbnail image number to retrieve the image file's filename, directory name, and page number.

[Visual Basic] thumbcontrolname.ThumbArrayNum [ = Integer ]
[Visual C++] thumbcontrolname.SetThumbArrayNum(short Val)
[VB.NET] thumbcontrolname.ThumbArrayNum [ = Short ]
[C#.NET] thumbcontrolname.ThumbArrayNum [ = short ]

Property Value

The sequential number of the thumbnail image (starts from 1)

Explanation

The ThumbArrayNum property uses the thumbnail image number to retrieve the image file's filename, the path and name of the directory containing the image file, and the image file's page number. By setting the appropriate thumbnail image number in the ThumbArrayNum property, the image file's information will be set in the ThumbArrayFileName, ThumbArrayPage, and ThumbArrayPathName properties.

Setting this value

This value can be set at run-time.

Retrieving this value

This value cannot be retrieved.


ThumbArrayPage (Thumbnail Control/ Custom Property)

This property retrieves the image file's page number from the thumbnail image specified by the ThumbArrayNum property.

[Visual Basic] thumbcontrolname.ThumbArrayPage [ = Integer ]
[Visual C++] [ short = ]thumbcontrolname.GetThumbArrayPage()
[VB.NET] thumbcontrolname.ThumbArrayPage[ = Short ]
[C#.NET] thumbcontrolname.ThumbArrayPage[ = short ]

Property Value

The image file's page number (starts from 0)

Explanation

The ThumbArrayPage property retrieves the image file's page number from the thumbnail image specified by the ThumbArrayNum property. If theThumbArrayNum property refers to an image that is not loaded from file, then the ThumbArrayPage property will be an empty string or 0.

ThumbArrayPage property is used for multipage image files. If a single page image file is specified then the ThumbArrayPage property will be 0.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ThumbArrayPathName (Thumbnail Control/ Custom Property)

This property retrieves the image file's directory name from the thumbnail image specified by the ThumbArrayNum property.

[Visual Basic] thumbcontrolname.ThumbArrayPathName [ = String ]
[Visual C++] [ CString = ]thumbcontrolname.GetThumbArrayPathName()
[VB.NET] thumbcontrolname.ThumbArrayPathName[ = String ]
[C#.NET] thumbcontrolname.ThumbArrayPathName[ = string ]

Property Value

The name of the directory containing the image file

Explanation

The ThumbArrayPathName property retrieves the image file's directory name from the thumbnail image specified by the ThumbArrayNum property. If the ThumbArrayNum property refers to an image that is not loaded from file, then the ThumbArrayPathName property will be an empty string or 0.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


ThumbnailFile (Thumbnail Control/ Custom Property)

This property sets the thumbnail file used by the Thumbnail Control.

[Visual Basic] thumbcontrolname.ThumbnailFile[ = String ]
[Visual C++] [ CString = ]thumbcontrolname.GetThumbnailFile()
thumbcontrolname.SetThumbnailFile(LPCTSTR Val)
[VB.NET] thumbcontrolname.ThumbnailFile[ = String ]
[C#.NET] thumbcontrolname.ThumbnailFile[ = string ]

Property Value

The thumbnail file name (full path)

Explanation

The ThumbnailFile property sets the thumbnail file used by the Thumbnail Control. By setting the filename and path in this property and executing the UpdateThumbnailFile method, the Thumbnail Control creates a thumbnail.dat file that is used to make subsequent loading of the thumbnail images faster. The Thumbnail file will load the images in the folders specified by the FilePath property. If the FilePath property is changed be sure to change the ThumbnailFile property accordingly.

To display only the list of image files set in the ListOfFileNames property (not display the images included in the thumbnail file), set an empty string in this property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Thumbnail Methods

Custom Method | Explanation
Clear | Clears the Thumbnail Control
Delete | Deletes the specified thumbnail image from Thumbnail Control
DeSelectImage | Deselects a thumbnail image that has been selected
Display | Displays the thumbnail images
GetFiles | Acquires the thumbnail image.
IsSelect | Determines if the specified thumbnail image is selected
Refresh | Redisplays the images in the Thumbnail Control
Scroll | Scrolls the thumbnail images
SelectImage | Selects a thumbnail image
SortImage | Sorts the thumbnail images
UpdateThumbnailFile | Updates the thumbnail file


Clear (Thumbnail Control/ Custom Method)

This method clears the Thumbnail Control.

[Visual Basic] thumbcontrolname.Clear
[Visual C++] thumbcontrolname.Clear()
[VB.NET] thumbcontrolname.Clear()
[C#.NET] thumbcontrolname.Clear()

Parameters

None

Return Value

None

Explanation

The Clear method clears the Thumbnail Control.


Delete (Thumbnail Control/ Custom Method)

This method deletes the specified thumbnail image from Thumbnail Control.

[Visual Basic] [ Boolean = ]thumbcontrolname.Delete(ImageNumber As Integer)
[Visual C++] [ BOOL = ]thumbcontrolname.Delete(short ImageNumber)
[VB.NET] [ Boolean = ]thumbcontrolname.Delete(ImageNumber As Short)
[C#.NET] [ bool = ]thumbcontrolname.Delete(short ImageNumber)

Parameters

Name | Explanation
ImageNumber | The sequential number of the thumbnail image (starts from 1)

Return Value

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

Explanation

The Delete method deletes the specified thumbnail image from Thumbnail Control (the actual file remains). If you don't want to display the thumbnail image next time (ex. when reloading it), please delete the actual file after executing this method and when the return value is True.

By setting the sequential number of the thumbnail image into the ThumbArrayNum property prior to executing this method, the actual filename will be set in the ThumbArrayFileName, ThumbArrayPage, and ThumbArrayPathName properties.


DeSelectImage (Thumbnail Control/ Custom Method)

This method deselects a thumbnail image that has been selected.

[Visual Basic] [ Boolean = ]thumbcontrolname.DeSelectImage(ImageNumber As Integer)
[Visual C++] [ BOOL = ]thumbcontrolname.DeSelectImage(short ImageNumber)
[VB.NET] [ Boolean = ]thumbcontrolname.DeSelectImage(ImageNumber As Short)
[C#.NET] [ Boolean = ]thumbcontrolname.DeSelectImage(short ImageNumber)

Parameters

Name | Explanation
ImageNumber | The sequential number of the thumbnail image (starts from 1)

Return Value

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

Explanation

The DeSelectImage method deselects a thumbnail image that has been selected. Thumbnail images can be select with a mouse click, the keyboard, or the SelectImage method.

If no thumbnail image has been selected, executing the DeSelectImage method will not do anything. By setting the ImageNumber parameter value in the ThumbArrayNum property, the ThumbArrayFileName, ThumbArrayPage, and ThumbArrayPathName properties can be retrieved.


Display (Thumbnail Control/ Custom Method)

This method displays the thumbnail images.

[Visual Basic] [ Boolean = ]thumbcontrolname.Display
[Visual C++] [ BOOL = ]thumbcontrolname.Display()
[VB.NET] [ Boolean = ]thumbcontrolname.Display()
[C#.NET] [ bool = ]thumbcontrolname.Display()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The Display method displays the thumbnail images. To execute this method, it is necessary to first execute the GetFiles method to retrieve the data from the image files that will be displayed as thumbnails. The ColCount and RowCount properties must also be set.


GetFiles (Thumbnail Control/ Custom Method)

This method acquires the thumbnail image.

[Visual Basic] [ Boolean = ]thumbcontrolname.GetFiles
[Visual C++] [ BOOL = ]thumbcontrolname.GetFiles()
[VB.NET] [ Boolean = ]thumbcontrolname.GetFiles()
[C#.NET] [ bool = ]thumbcontrolname.GetFiles()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The GetFiles method acquires the thumbnail image. To execute this method, it is necessary to set the ReadMode properties and the following properties:

(1) When specifying the folder name and file extension,
set valid values for FilePath and FileExtension properties

(2) When specifying the file name
set ListOfFileNames property to a list of file names and FilePath property to an empty string

Also, if the thumbnail file (ThumbnailFile property) does not exist or if it does exist and you want to get the thumbnail image without using it, you can sort using Sort, SortDate, SortOrder properties.


IsSelect (Thumbnail Control/ Custom Method)

ImageKit10 ActiveX

IsSelected (Thumbnail Control/ Custom Method)

This method determines if the specified thumbnail image is selected.

[Visual Basic] [ Boolean = ]thumbcontrolname.IsSelected(ImageNumber As Integer)
[Visual C++] [ BOOL = ]thumbcontrolname.IsSelected(short ImageNumber)
[VB.NET] [ Boolean = ]thumbcontrolname.IsSelected(ImageNumber As Short)
[C#.NET] [ bool = ]thumbcontrolname.IsSelected(short ImageNumber)

Parameters

Name | Explanation
ImageNumber | The sequential number of the thumbnail image (starts from 1)

Return Value

Returns True (nonzero) if successful, returns False (0) when the thumbnail is not selected or the method is not successful.

Explanation

The IsSelected method determines if the specified thumbnail image is selected. This method is used to retrieve information about a thumbnail image that has been selected by the mouse, by the keyboard, or by the SelectImage method. By passing the value returned in the ImageNumber parameter of this method to the ThumbArrayNum property, the image filename, page number (for multi-page images), and full path can be retrieved from the ThumbArrayFileName, ThumbArrayPage, and ThumbArrayPathName properties.


Refresh (Thumbnail Control/ Custom Method)

This method redisplays the images in the Thumbnail Control.

[Visual Basic] thumbcontrolname.Refresh
[Visual C++] thumbcontrolname.Refresh()
[VB.NET] thumbcontrolname.Refresh()
[C#.NET] thumbcontrolname.Refresh()

Parameters

None

Return Value

None

Explanation

The Refresh method redisplays the images in the Thumbnail Control.


Scroll (Thumbnail Control/ Custom Method)

This method scrolls the thumbnail images.

[Visual Basic] [ Boolean = ]thumbcontrolname.Scroll
[Visual C++] [ BOOL = ]thumbcontrolname.Scroll()
[VB.NET] [ Boolean = ]thumbcontrolname.Scroll()
[C#.NET] [ bool = ]thumbcontrolname.Scroll()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The Scroll method scrolls the thumbnail images. The size of the scroll steps depends on the value set in the ScrollStep property and the direction of the scroll depends on the value set in the ScrollVH property. To execute this method, the appropriate values must be set in the ScrollStep and ScrollVH properties.


SelectImage (Thumbnail Control/ Custom Method)

This method selects a thumbnail image.

[Visual Basic] [ Boolean = ]thumbcontrolname.SelectImage(ImageNumber As Integer)
[Visual C++] [ BOOL = ]thumbcontrolname.SelectImage(short ImageNumber)
[VB.NET] [ Boolean = ]thumbcontrolname.SelectImage(ImageNumber As Short)
[C#.NET] [ bool = ]thumbcontrolname.SelectImage(short ImageNumber)

Parameters

Name | Explanation
ImageNumber | The sequential number of the thumbnail image (starts from 1)

Return Value

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

Explanation

The SelectImage method selects a thumbnail image. When the EnableSelectMultiFiles property is False, the last selected thumbnail image is selected, all previously selected thumbnail images will be deselected. By setting the ImageNumber parameter value in the ThumbArrayNum property, the ThumbArrayFileName, ThumbArrayPage, and ThumbArrayPathName properties can be retrieved.


SortImage (Thumbnail Control/ Custom Method)

This method sorts the thumbnail images.

[Visual Basic] [Boolean = ]thumbcontrolname.SortImage
[Visual C++] [BOOL = ]thumbcontrolname.SortImage()
[VB.NET] [Boolean = ]thumbcontrolname.SortImage()
[C#.NET] [bool = ]thumbcontrolname.SortImage()

Parameters

None

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The SortImage method sorts the thumbnail images. When executing this method, appropriate values must be set in advance for the Sort, SortDate, SortOrder properties.

For example, if you drag and drop image files from Windows Explorer onto the Thumbnail control and then want to sort the images, you would use this method. (When image files are first loaded into the Thumbnail control they are sorted by the GetFiles method).

Please note that the sorting may be different if thumbnail images have been moved in advance in the Thumbnail control, or if images are loaded from thumbnail files (ThumbnailFile property).


UpdateThumbnailFile (Thumbnail Control/ Custom Method)

This method updates the thumbnail file.

[Visual Basic] thumbcontrolname.UpdateThumbnailFile
[Visual C++] thumbcontrolname.UpdateThumbnailFile()
[VB.NET] thumbcontrolname.UpdateThumbnailFile()
[C#.NET] thumbcontrolname.UpdateThumbnailFile()

Parameters

None

Return Value

None

Explanation

The UpdateThumbnailFile method updates the thumbnail file set in the ThumbnailFile property. Please execute this method when the FilePath property is changed to display thumbnails from a different directory or when the thumbnail program is finished, etc.

Note: The thumbnail image set in the ImageHandle property is not saved in the thumbnail file.


Thumbnail Events

Custom Event | Explanation
DropFileInThumb | Generated when an image is dragged and dropped into the Thumbnail Control
EndLoadFile | Generated after each image is loaded into the Thumbnail Control
MouseMoveOnThumb | Generated when the mouse is moved over a thumbnail image in the Thumbnail Control
SelectFile | Generated when a thumbnail image is selected
ShowThumbImage | Generated just after a thumbnail image is displayed in the Thumbnail Control
StartLoadFile | Generated before each image is loaded on the Thumbnail Control


DropFileInThumb (Thumbnail Control/ Custom Event)

This event is generated when an image is dragged and dropped into the Thumbnail Control.

[Visual Basic] thumbcontrolname_DropFileInThumb(ByVal PathName As String, ByVal FileName As String)
[Visual C++] OnDropFileInThumb thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName)
[VB.NET] thumbcontrolname_DropFileInThumb(ByVal sender As System.Object, ByVal e As AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_DropFileInThumbEvent)
[C#.NET] thumbcontrolname_DropFileInThumb(object sender, AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_DropFileInThumbEvent e)

* AxImageKit10ThumbALib refers to the ANSI version, AxImageKit10ThumbLib refers to the Unicode version.

Parameters

Name | Explanation
PathName | The directory name and path of the image dropped into the Thumbnail Control
FileName | The filename of the image dropped into the Thumbnail Control

In VB.NET and C#.NET, the second argument e contains the PathName and FileName parameters. (The first letter is lower case)

Explanation

The DropFileInThumb event is generated when an image is dragged and dropped into the Thumbnail Control. This event is enabled when the EnableDragTarget property is True.


EndLoadFile (Thumbnail Control/ Custom Event)

This event is generated after each image is loaded into the Thumbnail Control.

[Visual Basic] thumbcontrolname_EndLoadFile(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer)
[Visual C++] OnEndLoadFile thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName, short ImageNumber, short MaxImage)
[VB.NET] thumbcontrolname_EndLoadFile(ByVal sender As System.Object, ByVal e As AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_EndLoadFileEvent)
[C#.NET] thumbcontrolname_EndLoadFile(object sender, AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_EndLoadFileEvent e)

* AxImageKit10ThumbALib refers to the ANSI version, AxImageKit10ThumbLib refers to the Unicode version.

Parameters

Name | Explanation
PathName | The path and directory name of the image loaded into the Thumbnail Control
FileName | The filename of the image loaded into the Thumbnail Control
ImageNumber | The sequential number of the thumbnail image
MaxImage | The total number of images to be loaded into the Thumbnail Control

In VB.NET and C#.NET, the second argument e contains the PathName and other parameters. (The first letter is lower case)

Explanation

The EndLoadFile event is generated after each image is loaded into the Thumbnail Control. Note: This event is NOT generated if a thumbnail file (ThumbnailFile property) is used to load the images. If an image is unable to be loaded, the ImageNumber parameter will be 0. To cancel processing in the thumbnail control, set the Cancel property to True within this event.

When multi-page image files are loaded, the page number is appended to the FileName parameter (If the page number is 0 then it is omitted).

Example: When page 2 of the file ABC.TIF is loaded into the Thumbnail Control, the FileName parameter will return the string "ABC.TIF 2"


MouseMoveOnThumb (Thumbnail Control/ Custom Event)

This event is generated when the mouse is moved over a thumbnail image in the Thumbnail Control.

[Visual Basic] thumbcontrolname_MouseMoveOnThumb(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left As Integer, ByVal Top As Integer, ByVal Right As Integer, ByVal Bottom As Integer)
[Visual C++] OnMouseMoveOnThumb thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName, short ImageNumber, short MaxImage, short Left, short Top, short Right, short Bottom)
[VB.NET] thumbcontrolname_MouseMoveOnThumb(ByVal sender As System.Object, ByVal e As AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_MouseMoveOnThumbEvent)
[C#.NET] thumbcontrolname_MouseMoveOnThumb(object sender, AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_MouseMoveOnThumbEvent e)

* AxImageKit10ThumbALib refers to the ANSI version, AxImageKit10ThumbLib refers to the Unicode version.

Parameters

Name | Explanation
PathName | The directory name and path of the image that was moved over with the mouse
FileName | The file name of the image that was moved over with the mouse
ImageNumber | The sequential number of the thumbnail image
MaxImage | The total number of images to be loaded into the Thumbnail Control
Left | The position, in pixels, of the left side of the thumbnail frame that was moved over with the mouse. (This is the x coordinate of the top left corner of the thumbnail frame)
Top | The position, in pixels, of the top of the thumbnail frame that was moved over with the mouse. (This is the y coordinate of the top left corner of the thumbnail frame)
Right | The position, in pixels, of the left side of the thumbnail frame that was moved over with the mouse. (This is the x coordinate of the bottom right corner of the thumbnail frame)
Bottom | The position, in pixels, of the left side of the thumbnail frame that was moved over with the mouse. (This is the y coordinate of the bottom right corner of the thumbnail frame)

In VB.NET and C#.NET, the second argument e contains the PathName and other parameters. (The first letter is lower case)

Explanation

The MouseMoveOnThumb event is generated when the mouse is moved over a thumbnail image in the Thumbnail Control. To enable this event the EnableMouseMoveButton property must be set to True. If no thumbnail image is displayed on the thumbnail control then this event is not generated. When the thumbnail image isn't displayed into the thumbnail frame that was moved over with the mouse, the PathName and FileName parameters will return empty string.

When multi-page image files are loaded, the page number is appended to the FileName parameter (If the page number is 0 then it is omitted).

Example: When page 2 of the file ABC.TIF is loaded into the thumbnail control, the FileName parameter will return the string "ABC.TIF 2"

Note for Visual Basic: In order to use the Left($) function and Right($) function within the SelectFile event, please change the names of the Left and Right parameters in this event.

For example:
Private Sub ImageKitThumb1_MouseMoveOnThumb(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left_ As Integer, ByVal Top As Integer, ByVal Right_ As Integer, ByVal Bottom As Integer)

End Sub

Differences between ImageKit 6/7/8/9

The event occurs when the mouse moves regardless of the value of the EnableMouseMoveButton property.


SelectFile (Thumbnail Control/ Custom Event)

This event is generated when a thumbnail image is selected. Thumbnail images can be selected by clicking the mouse, using the keyboard, or executing the SelectImage method.

[Visual Basic] thumbcontrolname_SelectFile(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left As Integer, ByVal Top As Integer, ByVal Right As Integer, ByVal Bottom As Integer)
[Visual C++] OnSelectFile thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName, short ImageNumber, short MaxImage, short Left, short Top, short Right, short Bottom)
[VB.NET] thumbcontrolname_SelectFile(ByVal sender As System.Object, ByVal e As AxImageKit10Thumb(A)Lib._IIMageKitThumbEvents_SelectFileEvent)
[C#.NET] thumbcontrolname_SelectFile(object sender, AxImageKit10Thumb(A)Lib._IIMageKitThumbEvents_SelectFileEvent e)

* AxImageKit10ThumbALib refers to the ANSI version, AxImageKit10ThumbLib refers to the Unicode version.

Parameters

Name | Explanation
PathName | The directory name and path of the image that was selected
FileName | The file name of the image that was selected
ImageNumber | The sequential number of the thumbnail image
MaxImage | The total number of images to be loaded into the thumbnail control
Left | The position, in pixels, of the left side of the thumbnail frame that was selected. (This is the x coordinate of the top left corner of the thumbnail frame)
Top | The position, in pixels, of the top of the thumbnail frame that was selected. (This is the y coordinate of the top left corner of the thumbnail frame)
Right | The position, in pixels, of the left side of the thumbnail frame that was selected. (This is the x coordinate of the bottom right corner of the thumbnail frame)
Bottom | The position, in pixels, of the left side of the thumbnail frame that was selected. (This is the y coordinate of the bottom right corner of the thumbnail frame)

In VB.NET and C#.NET, the second argument e contains the PathName and other parameters. (The first letter is lower case)

Explanation

The SelectFile event is generated when a thumbnail image is selected. Thumbnail images can be selected by clicking the mouse, using the keyboard, or executing the SelectImage method. If the thumbnail image is not displayed on the Thumbnail Control then this event is not generated. Furthermore, if the selected thumbnail frame has no thumbnail displayed then the PathName and FileName parameters will contain empty strings. When multi-page image files are loaded, the page number is appended to the FileName parameter (If the page number is 0 then it is omitted).

Example: When page 2 of the file ABC.TIF is loaded into the thumbnail control, the FileName parameter will return the string "ABC.TIF 2"

By pressing the Ctrl key while clicking with the mouse, several thumbnails can be selected or deselected. In either case, this event is generated. To determine whether or not a particular thumbnail image is selected, please use the IsSelected method.

Thumbnail images can be selected by clicking the mouse, using the keyboard, or executing the SelectImage method. By pressing the Shift key while clicking with the mouse, a series of thumbnails can be selected. This event is generated multiple times for each thumbnail image that has been selected.

Note for Visual Basic: In order to use the Left($) function and Right($) function within the SelectFile event, please change the names of the Left and Right parameters in this event.

For example:
Private Sub IkThumb1_SelectFile(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left_ As Integer, ByVal Top As Integer, ByVal Right_ As Integer, ByVal Bottom As Integer)

End Sub

The differences from the ImageKit5:

From the release of the ImageKit6, Left, Top, Right, and Bottom parameters have been added to this event.


ShowThumbImage (Thumbnail Control/ Custom Event)

This event is generated just after a thumbnail image is displayed in the Thumbnail Control.

[Visual Basic] thumbcontrolname_ShowThumbImage(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left As Integer, ByVal Top As Integer, ByVal Right As Integer, ByVal Bottom As Integer)
[Visual C++] OnShowThumbImage thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName, short ImageNumber, short MaxImage, short Left, short Top, short Right, short Bottom)
[VB.NET] thumbcontrolname_ShowThumbImage(ByVal sender As System.Object, ByVal e As AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_ShowThumbImageEvent)
[C#.NET] thumbcontrolname_ShowThumbImage(object sender, AxImageKit10Thumb(A)Lib._IImageKitThumbEvents_ShowThumbImageEvent e)

* AxImageKit10ThumbALib refers to the ANSI version, AxImageKit10ThumbLib refers to the Unicode version.

Parameters

Name | Explanation
PathName | The directory name and path of the image that will be displayed
FileName | The file name of the image that will be displayed
ImageNumber | The sequential number of the thumbnail image
MaxImage | The total number of images to be loaded into the Thumbnail Control
Left | The position, in pixels, of the left side of the thumbnail frame that will be displayed. (This is the x coordinate of the top left corner of the thumbnail frame)
Top | The position, in pixels, of the top of the thumbnail frame that will be displayed. (This is the y coordinate of the top left corner of the thumbnail frame)
Right | The position, in pixels, of the left side of the thumbnail frame that will be displayed. (This is the x coordinate of the bottom right corner of the thumbnail frame)
Bottom | The position, in pixels, of the left side of the thumbnail frame that will be displayed. (This is the y coordinate of the bottom right corner of the thumbnail frame)

In VB.NET and C#.NET, the second argument e contains the PathName and other parameters. (The first letter is lower case)

Explanation

The ShowThumbImage event is generated just after a thumbnail image is displayed in the thumbnail control. This event is generated for each image displayed in the thumbnail control and if the Thumbnail Control is forced to repaint, the event will be generated even though the Display method has not been called.

When multi-page image files are loaded, the page number is appended to the FileName parameter (If the page number is 0 then it is omitted).

Example: When page 2 of the file ABC.TIF is loaded into the thumbnail control, the FileName parameter will return the string "ABC.TIF 2".

Note for Visual Basic: In order to use the Left($) function and Right($) function within the ShowThumbImage event, please change the names of the Left and Right parameters in this event.

For example:
Private Sub IkThumb1_ShowThumbImage(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer, ByVal Left_ As Integer, ByVal Top As Integer, ByVal Right_ As Integer, ByVal Bottom As Integer)

End Sub


StartLoadFile (Thumbnail Control/ Custom Event)

This event is generated before each image is loaded on the Thumbnail Control.

[Visual Basic] thumbcontrolname_StartLoadFile(ByVal PathName As String, ByVal FileName As String, ByVal ImageNumber As Integer, ByVal MaxImage As Integer)
[Visual C++] OnStartLoadFile thumbcontrolname(LPCTSTR PathName, LPCTSTR FileName, short ImageNumber, short MaxImage)
[VB.NET] thumbcontrolname_StartLoadFile(ByVal sender As System.Object, ByVal e AxImageKit10Thumb(A)Lib.IImageKitThumbEvents_StartLoadFileEvent)
[C#.NET] thumbcontrolname_StartLoadFile(object sender, AxImageKit10Thumb(A)Lib.IImageKitThumbEvents_StartLoadFileEvent e)

* AxImageKit10ThumbALib refers to the ANSI version, AxImageKit10ThumbLib refers to the Unicode version.

Parameters

Name | Explanation
PathName | The path and directory name of the image loaded into the Thumbnail Control
FileName | The filename of the image loaded into the Thumbnail Control
ImageNumber | The sequential number of the thumbnail image
MaxImage | The total number of images to be loaded into the Thumbnail Control

In VB.NET and C#.NET, the second argument e contains the PathName and other parameters. (The first letter is lower case)

Explanation

The StartLoadFile event is generated before each image is loaded on the Thumbnail Control. Note: This event is NOT generated if a thumbnail file (ThumbnailFile property) is used to load the images. To cancel processing in the Thumbnail Control, set the Cancel property to True within this event.

When multi-page image files are loaded, the page number is appended to the FileName parameter (If the page number is 0 then it is omitted).

Example: When page 2 of the file ABC.TIF is loaded into the thumbnail control, the FileName parameter will return the string "ABC.TIF 2".


Play Control

The Play Control provides properties, methods, and events to open a video file and display the output. Play can be started, stopped, paused, resumed, and a snapshot can be taken.

Property List

Custom Properties | Explanation
Appearance | Sets the appearance of the Play Control's border
BackColor | Sets the background color for the Play Control
BorderColor | Sets the color of Play Control's the border.
BorderVisible | Sets whether or not the border of the Play Control is displayed
Duration | Retrieves the duration of the video in seconds
Enabled | Sets whether or not the mouse and keyboard events of the Play Control are enabled
ErrorStatus | Retrieves the type of error that has occurred
FrameRate | Retrieves the frame rate
HWND | Refers to the window handle of the Play Control
MouseCursorFile | Sets the name of the cursor file used for the user defined mouse cursor
MouseCursorType | Sets the shape of the mouse cursor when the mouse is within the Play Control
State | Retrieves the current state of the Play Control
VideoHeight | Retrieves the height of the video
VideoWidth | Retrieves the width of the video

Method List

Custom Method | Explanation
Close | Closes the video file
Open | Opens the video file
Pause | Pauses the video or restarts a paused video
Start | Starts the video
StartFrom | Sets the starting location of the video
Stop | Stops the video
TakeSnapshot | Takes a snapshot from the video

Event List

Custom Event | Explanation
End | Generated when the video plays to the end
Snapshot | Generated when a snapshot is taken from the video


Play Properties

Custom Properties | Explanation
Appearance | Sets the appearance of the Play Control's border
BackColor | Sets the background color for the Play Control
BorderColor | Sets the color of Play Control's the border.
BorderVisible | Sets whether or not the border of the Play Control is displayed
Duration | Retrieves the duration of the video in seconds
Enabled | Sets whether or not the mouse and keyboard events of the Play Control are enabled
ErrorStatus | Retrieves the type of error that has occurred
FrameRate | Retrieves the frame rate
HWND | Refers to the window handle of the Play Control
MouseCursorFile | Sets the name of the cursor file used for the user defined mouse cursor
MouseCursorType | Sets the shape of the mouse cursor when the mouse is within the Play Control
State | Retrieves the current state of the Play Control
VideoHeight | Retrieves the height of the video
VideoWidth | Retrieves the width of the video


Appearance (Play Control/ Custom Property)

This property sets the appearance of the border of the Play Control.

[Visual Basic] playcontrolname.Appearance[ = AppearanceConstants ]
[Visual C++] [ long = ]playcontrolname.GetAppearance()
playcontrolname.SetAppearance(long Val)
[VB.NET] playcontrolname.Appearance[ = ImageKit10WebCamera(a)Lib.AppearanceConstants ]
[C#.NET] playcontrolname.Appearance[ = ImageKit10WebCamera(a)Lib.AppearanceConstants ]

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Flat
1 | Lowered
1 | Raised

The following constants can also be used: (ikFlat = 0, ikLowered = 1, ikRaised = 2).

Explanation

The Appearance property sets the appearance of the border of the Play Control. It is enabled when the BorderVisible property is True. When the Appearance property is 0(ikFlat), the border color will be determined by the value set in the BorderColor property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BackColor (Play Control/ Custom Property)

This property sets the background color for the Play Control.

[Visual Basic] playcontrolname.BackColor[ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]playcontrolname.GetBackColor()
playcontrolname.SetBackColor(unsigned long Val)
[VB.NET] playcontrolname.BackColor[ = Color ]
[C#.NET] playcontrolname.BackColor[ = Color ]

Property Value

The background color for the Play Control.

Explanation

The BackColor property sets the background color for the Play Control. To set this property, use the RGB(Red, Green, Blue) or equivalent values.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BorderColor (Play Control/ Custom Property)

This property sets the color of Play Control's the border.

[Visual Basic] playcontrolname.BorderColor[ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]playcontrolname.GetBorderColor()
playcontrolname.SetBorderColor(unsigned long Val)
[VB.NET] playcontrolname.BorderColor[ = Color ]
[C#.NET] playcontrolname.BorderColor[ = Color ]

Property Value

The color of the Play Control's border.

Explanation

The BorderColor property sets the color for the border of the Play Control. To set this property, use the RGB(Red, Green, Blue) or equivalent values.

The BorderColor property is enabled when the BorderVisible property is True and the Appearance property is set to 0(ikFlat).

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BorderVisible (Play Control/ Custom Property)

This property sets whether or not the border of the Play Control is displayed.

[Visual Basic] playcontrolname.BorderVisible[ = Boolean ]
[Visual C++] [ BOOL = ]playcontrolname.GetBorderVisible()
playcontrolname.SetBorderVisible(BOOL Val)
[VB.NET] playcontrolname.BorderVisible[ = Boolean ]
[C#.NET] playcontrolname.BorderVisible[ = bool ]

Property Value

Value | Explanation
True | The border is displayed
False | The border is not displayed

Explanation

The BorderVisible property sets whether or not the border of the Play Control is displayed.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Duration (Play Control/ Custom Property)

This property retrieves the duration of the video in seconds.

[Visual Basic] playcontrolname.Duration[ = Double ]
[Visual C++] [ double = ]playcontrolname.GetDuration()
[VB.NET] playcontrolname.Duration[ = Double ]
[C#.NET] playcontrolname.Duration[ = double ]

Property Value

The duration of the video in seconds.

Explanation

The Duration property retrieves the duration of the video in seconds. This property is reset after the Open method executes.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


Enabled (Play Control/ Custom Property)

This property sets whether or not the mouse and keyboard events of the Play Control are enabled.

[Visual Basic] playcontrolname.Enabled[ = Boolean ]
[Visual C++] [ BOOL = ]playcontrolname.GetEnabled()
playcontrolname.SetEnabled(BOOL Val)
[VB.NET] playcontrolname.Enabled[ = Boolean ]
[C#.NET] playcontrolname.Enabled[ = bool ]

Property Value

Value | Explanation
True | The mouse and keyboard events are enabled
False | The mouse and keyboard events are disabled

Explanation

The Enabled property sets whether or not the mouse and keyboard events of the Play Control are enabled. When True, the mouse and keyboard events are generated. When False, the mouse and keyboard events are not generated.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ErrorStatus (Play Control/ Custom Property)

This property retrieves the type of error that has occurred.

[Visual Basic] playcontrolname.ErrorStatus[ = Integer ]
[Visual C++] [ short = ]playcontrolname.GetErrorStatus()
[VB.NET] playcontrolname.ErrorStatus[ = Short ]
[C#.NET] playcontrolname.ErrorStatus[ = short ]

Property Value

Value | Explanation
0 | No error has occurred
2 | An other unspecified error
4 | Unsupported function
5 | Incorrect value has been set
11 | Execution sequence error
20 | Unable to open file
201 | DirectX environment is not set up
203 | COM interface error

Explanation

The ErrorStatus property retrieves the type of error that has occurred. Refer to these values after executing a Play Control method.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


FrameRate (Play Control/ Custom Property)

This property retrieves the frame rate.

[Visual Basic] playcontrolname.FrameRate[ = Double ]
[Visual C++] [ double = ]playcontrolname.GetFrameRate()
[VB.NET] playcontrolname.FrameRate[ = Double ]
[C#.NET] playcontrolname.FrameRate[ = double ]

Property Value

The frame rate in frames per second.

Explanation

The FrameRate property retrieves the frame rate. This property is reset after the Open method executes.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


HWND (Play Control/ Custom Property)

This property refers to the window handle of the Play Control.

[Visual Basic] playcontrolname.HWND[ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]playcontrolname.GetHWND()
[VB.NET] playcontrolname.HWND[ = Integer(x86) or Long(x64) ]
[C#.NET] playcontrolname.HWND[ = int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Property Value

The window handle of the Play Control.

Explanation

The HWND property refers to the window handle of the Play Control.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


MouseCursorFile (Play Control/ Custom Property)

This property sets the name of the cursor file used for the user defined mouse cursor.

[Visual Basic] playcontrolname.MouseCursorFile[ = String ]
[Visual C++] [ CString = ]playcontrolname.GetMouseCursorFile()
playcontrolname.SetMouseCursorFile(LPCTSTR Val)
[VB.NET] playcontrolname.MouseCursorFile[ = String ]
[C#.NET] playcontrolname.MouseCursorFile[ = string ]

Property Value

The name of the cursor file that determines the user defined cursor displayed within the Play Control.

Explanation

The MouseCursorFile property sets the name of the cursor file used for the user defined mouse cursor. This property is enabled when the MouseCursorType property is set to 15(ikCursorCustom)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


MouseCursorType (Play Control/ Custom Property)

This property sets the shape of the mouse cursor when the mouse is within the Play Control.
[Visual Basic] playcontrolname.MouseCursorType [= CursorTypeConstants ]
[Visual C++] [long = ]playcontrolname.GetMouseCursorType()
playcontrolname.SetMouseCursorType(long Val)
[VB.NET] playcontrolname.MouseCursorType [= ImageKit10WebCamera(A)Lib.CursorTypeConstants ]
[C#.NET] playcontrolname.MouseCursorType [= ImageKit10WebCamera(A)Lib.CursorTypeConstants ]

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Standard arrow (Default)
1 | Standard arrow and small hourglass
2 | Crosshair
3 | Standard arrow and question mark
4 | I-beam
6 | Forbidden
8 | Four-pointed arrow
9 | Double-pointed arrow pointing northeast and southwest
10 | Double-pointed arrow pointing north and south
11 | Double-pointed arrow pointing northwest and southeast
12 | Double-pointed arrow pointing west and east
13 | Vertical arrow
14 | Hourglass
15 | Custom
16 | Hidden

It is also possible to use the following constants (ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2,
                ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8,
                ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11,
                ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom =
                15, ikCursorNoShow = 16).

Explanation

The MouseCursorType property sets the shape of the mouse cursor when the mouse is within the Play Control. When this property is set to 15 (ikCursorCustom), a cursor file name must be set in the MouseCursorFile property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


State (Play Control/ Custom Property)

This property retrieves the current state of the Play Control.
[Visual Basic] playcontrolname.State [= StateConstants ]
[Visual C++] [long = ]playcontrolname.GetState()
[VB.NET] playcontrolname.CtlState [= ImageKit10WebCamera(A)Lib.StateConstants ]
[C#.NET] playcontrolname.CtlState [= ImageKit10WebCamera(A)Lib.StateConstants ]

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Closed
1 | Open
2 | Running
4 | Paused
8 | Stopped

It is also possible to use the following constants (ikClosed = 0, ikOpen = 1, ikRunning = 2, ikPaused = 4, ikStopped = 8).

Explanation

The State property retrieves the current state of the Play Control. The State property is updated whenever the Close, Open, Pause, Start, Stop methods are executed. When more than one of these methods is executed, the State property value will be a logical sum.

In VB.NET and C#.NET use "CtlState" instead of "State".

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


VideoHeight (Play Control/ Custom Property)

This property retrieves the height of the video.

[Visual Basic] playcontrolname.VideoHeight[ = Long ]
[Visual C++] [ long = ]playcontrolname.GetVideoHeight()
[VB.NET] playcontrolname.VideoHeight[ = Integer ]
[C#.NET] playcontrolname.VideoHeight[ = int ]

Property Value

The height of the video.

Explanation

The VideoHeight property retrieves the height of the video. This property is updated after the Open method is executed.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


VideoWidth (Play Control/ Custom Property)

This property retrieves the width of the video.

[Visual Basic] playcontrolname.VideoWidth[ = Long ]
[Visual C++] [ long = ]playcontrolname.GetVideoWidth()
[VB.NET] playcontrolname.VideoWidth[ = Integer ]
[C#.NET] playcontrolname.VideoWidth[ = int ]

Property Value

The width of the video.

Explanation

The VideoWidth property retrieves the width of the video. This property is updated after the Open method is executed.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


Play Methods

Custom Method | Explanation
Close | Closes the video file
Open | Opens the video file
Pause | Pauses the video or restarts a paused video
Start | Starts the video
StartFrom | Sets the starting location of the video
Stop | Stops the video
TakeSnapshot | Takes a snapshot from the video


Close (Play Control/ Custom Method)

This method closes the video file.

[Visual Basic] [ Boolean = ]playcontrolname.Close
[Visual C++] [ BOOL = ]playcontrolname.Close()
[VB.NET] [ Boolean = ]playcontrolname.Close()
[C#.NET] [ bool = ]playcontrolname.Close()

Parameters

None

Return Value

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

Explanation

The Close method closes the video file that is opened with the Open method. If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then 11 will be set in the ErrorStatus property. This applies to executing the Close method without first executing the Open method.


Open (Play Control/ Custom Method)

This method opens the video file.

[Visual Basic] [ Boolean = ]playcontrolname.Open(FileName As String)
[Visual C++] [ BOOL = ]playcontrolname.Open(LPCTSTR FileName)
[VB.NET] [ Boolean = ]playcontrolname.Open(FileName As String)
[C#.NET] [ bool = ]playcontrolname.Open(string FileName)

Parameters

Name | Explanation
FileName | The file name and path of the video file to be opened.

Return Value

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

Explanation

The Open method opens the video file specified by the FileName parameter. If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then values of 11, 20, 201, or 203 will be set in the ErrorStatus property.

IMPORTANT: The Play Control uses DirectShow. Only standard media format filters are installed and some codecs may not be supported. To open files of these formats, the require codec will have to be imported.


Pause (Play Control/ Custom Method)

This method pauses the video that was started with the Start method or restarts a video that has been paused.

[Visual Basic] [ Boolean = ]playcontrolname.Pause
[Visual C++] [ BOOL = ]playcontrolname.Pause()
[VB.NET] [ Boolean = ]playcontrolname.Pause()
[C#.NET] [ bool = ]playcontrolname.Pause()

Parameters

None

Return Value

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

Explanation

The Pause method pauses the video or restarts a video that has been paused. If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then values of 2 or 11 will be set in the ErrorStatus property.


Start (Play Control/ Custom Method)

This method starts the video.

[Visual Basic] [ Boolean = ]playcontrolname.Start(Mode As DisplayModeConstants, Rate As Double)
[Visual C++] [ BOOL = ]playcontrolname.Start(long Mode, double Rate)
[VB.NET] [ Boolean = ]playcontrolname.Start(Mode As ImageKit10WebCamera(A)Lib.DisplayModeConstants, Rate As Double)
[C#.NET] [ bool = ]playcontrolname.Start(ImageKit10WebCamera(A)Lib.DisplayModeConstants Mode, double Rate)

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Parameters

Name | Explanation
Mode | The display mode 0: Scale (The video is scaled to fit within the Play Control while keeping the video's original height to width ratio) 1: Stretch (The video is stretched to fill the Play Control's dimensions) The following contants may also be used: (ikScale = 0, ikStretch = 1)
Rate | The video speed

Return Value

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

Explanation

The Start method starts the video. The Mode parameter determines how the video will be displayed in the Play Control. The Rate parameter sets the speed. Default speed is 1.0. Values of 0 or less are not allowed. Depending on the type of file played (for example WMV format) the Rate parameter may not have any effect. In that case, the rate is 1.0

When the Start method returns True(nonzero), the State property is updated. If the return value is False (0), then values of 2, 5, or 11 will be set in the ErrorStatus property.

To specified the starting location of the video, use the StartFrom method.


StartFrom (Play Control/ Custom Method)

This method specifies the location from which the video will start.

[Visual Basic] [ Boolean = ]playcontrolname.StartFrom(Time As Double)
[Visual C++] [ BOOL = ]playcontrolname.StartFrom(double Time)
[VB.NET] [ Boolean = ]playcontrolname.StartFrom(Time As Double)
[C#.NET] [ bool = ]playcontrolname.StartFrom(double Time)

Parameters

Name | Explanation
Time | The start location, in seconds.

Return Value

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

Explanation

The StartFrom method sets the start location of the video in seconds as specified by the Time parameter. The default time is 0, which is the beginning of the video. Negative values are not allowed.

When the StartFrom method returns False (0), then values of 2, 5, or 11 will be set in the ErrorStatus property.

To start the video from the specified location, execute the StartFrom method before the Start method. If you execute the Start method without first executing the StartFrom method, the video will begin at the beginning.


Stop (Play Control/ Custom Method)

This method stops the video.

[Visual Basic] [ Boolean = ]playcontrolname.Stop
[Visual C++] [ BOOL = ]playcontrolname.Stop()
[VB.NET] [ Boolean = ]playcontrolname.Stop()
[C#.NET] [ bool = ]playcontrolname.Stop()

Parameters

None

Return Value

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

Explanation

The Stop method stops the video. If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then 11 will be set in the ErrorStatus property.


TakeSnapShot (Play Control/ Custom Method)

This method takes a snapshot from the video.

[Visual Basic] [ Boolean = ]playcontrolname.TakeSnapShot
[Visual C++] [ BOOL = ]playcontrolname.TakeSnapShot()
[VB.NET] [ Boolean = ]playcontrolname.TakeSnapShot()
[C#.NET] [ bool = ]playcontrolname.TakeSnapShot()

Parameters

None

Return Value

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

Explanation

The TakeSnapShot method takes a snapshot from the video that was started using the Start method. The snapshot can be retrieved in the Snapshot event.

If the return value is False (0), then 2, 4 or 11 will be set in the ErrorStatus property. If the value is 4, it means that a snapshot cannot be taken from that video.


Play Events

Custom Event | Explanation
End | Generated when the video plays to the end
Snapshot | Generated when a snapshot is taken from the video


End (Play Control/ Custom Event)

This event is generated after the video plays to the end.

[Visual Basic] playcontrolname_End()
[Visual C++] OnEnd playcontrolname()
[VB.NET] playcontrolname_End(ByVal sender As System.Object, ByVal e As System.EventArgs)
[C#.NET] playcontrolname_End(object sender, EventArgs e)

Parameters

None

Explanation

The End event is generated after the video plays to the end. If the Start method is executed, and the video plays to the end without executing the Stop method, then the End event is generated.


Snapshot (Play Control/ Custom Event)

This event is generated after the TakeSnapshot method is executed.

[Visual Basic] playcontrolname_Snapshot(ByVal ImageHandle As ImageKit10WebCamera(A)LibCtl.LONG_PTR, FreeMemory As Boolean)
[Visual C++] OnSnapshot playcontrolname(LONG_PTR ImageHandle, BOOL* FreeMemory)
[VB.NET] playcontrolname_Snapshot(ByVal sender As System.Object, ByVal e As AxImageKit10WebCamera(A)Lib.IImageKitPlayEvents_SnapshotEvent)
[C#.NET] playcontrolname_Snapshot(object sender, AxImageKit10WebCamera(A)Lib.IImageKitPlayEvents_SnapshotEvent e)

* ImageKit10WebCameraALibCtl / ImageKit10WebCameraALib/ refers to the ANSI version. ImageKit10WebCameraLibCtl / ImageKit10WebCameraLib/ refers to the Unicode version.

Parameters

Name | Explanation
ImageHandle | The memory handle of the snapshot bitmap
FreeMemory | Sets whether or not the ImageHandle is freed from the memory after this event fires. Default is True. To free memory, set this to True. To hold the ImageHandle in the memory after this event fires, set to False.

In VB.NET and C#.NET, the second argument of this event is e. It contains the ImageHandle and FreeMemory parameters. (the first letter of these parameters are lowercase in .NET)

Explanation

The Snapshot event is generated after the TakeSnapshot method is executed.

When the FreeMemory parameter is True, the retrieved snapshot's bitmap will be freed from the memory after this event completes. To save the snapshot, execute the ImageKit Control's CopyImage method within this event and save the snapshot to file, etc.


Preview Control

The Preview Control connects to a Web(USB) camera and displays video. It provides properties, methods, and events to open start, stop, pause, and resume the video. Snapshot can be taken from the video.

Property List

Custom Properties | Explanation
Appearance | Sets the appearance of the Preview Control's border
BackColor | Sets the background color for the Preview Control
BitCount | Refers to the number of bits per pixel
BorderColor | Sets the color of Preview Control's the border.
BorderVisible | Sets whether or not the border of the Preview Control is displayed
Compression | Refers to the compression format of the bitmap
Enabled | Sets whether or not the mouse and keyboard events of the Preview Control are enabled
ErrorStatus | Retrieves the type of error that has occurred
FrameRate | Sets the frame rate
HWND | Refers to the window handle of the Preview Control
MaximumFrameRate | The maximum frame rate
MinimumFrameRate | The minimum frame rate
MouseCursorFile | Sets the name of the cursor file used for the user defined mouse cursor
MouseCursorType | Sets the shape of the mouse cursor when the mouse is within the Preview Control
State | Retrieves the current state of the Preview Control
VideoDevices | Retrieves the name of the video device
VideoHeight | Retrieves the height of the video
VideoSubType | The GUID string that specifies the subtype of the media sample
VideoWidth | Retrieves the width of the video

Method List

Custom Method | Explanation
Close | Closes the video file
GetStreamFormat | Retrieves the specified format function
GetStreamFormats | Retrieves the specified set of format functions
GetVideoDevices | Retrieves the video device name
Open | Connects to the Web(USB) camera in preview mode
Pause | Pauses the preview or restarts a paused preview
SetStreamFormat | Sets the specified format functions
ShowCapturePinDialog | Displays the capture pin dialog
ShowFilterDialog | Displays the filter dialog
Start | Starts the preview
Stop | Stops the preview
TakeSnapshot | Takes a snapshot from the preview

Event List

Custom Event | Explanation
Snapshot | Generated when a snapshot is taken from the preview


Preview Properties

Custom Properties | Explanation
Appearance | Sets the appearance of the Preview Control's border
BackColor | Sets the background color for the Preview Control
BitCount | Refers to the number of bits per pixel
BorderColor | Sets the color of Preview Control's the border.
BorderVisible | Sets whether or not the border of the Preview Control is displayed
Compression | Refers to the compression format of the bitmap
Enabled | Sets whether or not the mouse and keyboard events of the Preview Control are enabled
ErrorStatus | Retrieves the type of error that has occurred
FrameRate | Sets the frame rate
HWND | Refers to the window handle of the Preview Control
MaximumFrameRate | The maximum frame rate
MinimumFrameRate | The minimum frame rate
MouseCursorFile | Sets the name of the cursor file used for the user defined mouse cursor
MouseCursorType | Sets the shape of the mouse cursor when the mouse is within the Preview Control
State | Retrieves the current state of the Preview Control
VideoDevices | Retrieves the name of the video device
VideoHeight | Retrieves the height of the preview
VideoSubType | The GUID string that specifies the subtype of the media sample
VideoWidth | Retrieves the width of the preview


Appearance (Preview Control/ Custom Property)

This property sets the appearance of the border of the Preview Control.

[Visual Basic] previewcontrolname.Appearance[ = AppearanceConstants ]
[Visual C++] [ long = ]previewcontrolname.GetAppearance()
previewcontrolname.SetAppearance(long Val)
[VB.NET] previewcontrolname.Appearance[ = ImageKit10WebCamera(a)Lib.AppearanceConstants ]
[C#.NET] previewcontrolname.Appearance[ = ImageKit10WebCamera(a)Lib.AppearanceConstants ]

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Flat
1 | Lowered
1 | Raised

The following constants can also be used: (ikFlat = 0, ikLowered = 1, ikRaised = 2).

Explanation

The Appearance property sets the appearance of the border of the Preview Control. It is enabled when the BorderVisible property is True. When the Appearance property is 0(ikFlat), the border color will be determined by the value set in the BorderColor property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BackColor (Preview Control/ Custom Property)

This property sets the background color for the Preview Control.

[Visual Basic] previewcontrolname.BackColor[ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]previewcontrolname.GetBackColor()
previewcontrolname.SetBackColor(unsigned long Val)
[VB.NET] previewcontrolname.BackColor[ = Color ]
[C#.NET] previewcontrolname.BackColor[ = Color ]

Property Value

The background color for the Preview Control.

Explanation

The BackColor property sets the background color for the Preview Control. To set this property, use the RGB(Red, Green, Blue) or equivalent values.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BitCount (Preview Control/ Custom Property)

This property refers to the number of bits per pixel in the preview image.

[Visual Basic] previewcontrolname.BitCount[ = Integer ]
[Visual C++] [ short = ]previewcontrolname.GetBitCount()
[VB.NET] previewcontrolname.BitCount[ = Short ]
[C#.NET] previewcontrolname.BitCount[ = short ]

Property Value

The number of bits per pixel

Explanation

The BitCount property refers to the number of bits per pixel in the preview image.

This property is updated when the GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, or ShowCapturePinDialog methods are executed.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time.


BorderColor (Preview Control/ Custom Property)

This property sets the color of Preview Control's the border.

[Visual Basic] previewcontrolname.BorderColor[ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]previewcontrolname.GetBorderColor()
previewcontrolname.SetBorderColor(unsigned long Val)
[VB.NET] previewcontrolname.BorderColor[ = Color ]
[C#.NET] previewcontrolname.BorderColor[ = Color ]

Property Value

The color of the Preview Control's border.

Explanation

The BorderColor property sets the color for the border of the Preview Control. To set this property, use the RGB(Red, Green, Blue) or equivalent values.

The BorderColor property is enabled when the BorderVisible property is True and the Appearance property is set to 0(ikFlat).

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BorderVisible (Preview Control/ Custom Property)

This property sets whether or not the border of the Preview Control is displayed.

[Visual Basic] previewcontrolname.BorderVisible[ = Boolean ]
[Visual C++] [ BOOL = ]previewcontrolname.GetBorderVisible()
previewcontrolname.SetBorderVisible(BOOL Val)
[VB.NET] previewcontrolname.BorderVisible[ = Boolean ]
[C#.NET] previewcontrolname.BorderVisible[ = bool ]

Property Value

Value | Explanation
True | The border is displayed
False | The border is not displayed

Explanation

The BorderVisible property sets whether or not the border of the Preview Control is displayed.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Compression (Preview Control/ Custom Property)

This property refers to the compression format of the preview image.

[Visual Basic] previewcontrolname.Compression[ = Long ]
[Visual C++] [ long = ]previewcontrolname.GetCompression()
[VB.NET] previewcontrolname.Compression[ = Integer ]
[C#.NET] previewcontrolname.Compression[ = int ]

Property Value

The compression format.

Explanation

The Compression property refers to the compression format of the preview image.

This property is updated when the GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, or ShowCapturePinDialog methods are executed.

When the image is uncompressed, the value of the Compression property will be 0(BI_RGB) or 3(BI_BITFIELDS). For details about what the values in these parentheses, please refer to Windows API from which these values were taken and have the same meaning. For compressed images, the value set in the Compression property will be values according to FOURCC code.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time.


Enabled (Preview Control/ Custom Property)

This property sets whether or not the mouse and keyboard events of the Preview Control are enabled.

[Visual Basic] previewcontrolname.Enabled[ = Boolean ]
[Visual C++] [ BOOL = ]previewcontrolname.GetEnabled()
previewcontrolname.SetEnabled(BOOL Val)
[VB.NET] previewcontrolname.Enabled[ = Boolean ]
[C#.NET] previewcontrolname.Enabled[ = bool ]

Property Value

Value | Explanation
True | The mouse and keyboard events are enabled
False | The mouse and keyboard events are disabled

Explanation

The Enabled property sets whether or not the mouse and keyboard events of the Preview Control are enabled. When True, the mouse and keyboard events are generated. When False, the mouse and keyboard events are not generated.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ErrorStatus (Preview Control/ Custom Property)

This property retrieves the type of error that has occurred.

[Visual Basic] previewcontrolname.ErrorStatus[ = Integer ]
[Visual C++] [ short = ]previewcontrolname.GetErrorStatus()
[VB.NET] previewcontrolname.ErrorStatus[ = Short ]
[C#.NET] previewcontrolname.ErrorStatus[ = short ]

Property Value

Value | Explanation
0 | No error has occurred
2 | An other unspecified error
4 | Unsupported function
5 | Incorrect value has been set
11 | Execution sequence error
201 | DirectX environment is not set up
202 | Not connected to the device
203 | COM interface error

Explanation

The ErrorStatus property retrieves the type of error that has occurred. Refer to these values after executing a Preview Control method.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


FrameRate (Preview Control/ Custom Property)

This property sets the frame rate.

[Visual Basic] previewcontrolname.FrameRate[ = Double ]
[Visual C++] [ double = ]previewcontrolname.GetFrameRate()
previewcontrolname.SetFrameRate(double Val)
[VB.NET] previewcontrolname.FrameRate[ = Double ]
[C#.NET] previewcontrolname.FrameRate[ = double ]

Property Value

The frame rate in frames per second.

Explanation

The FrameRate property sets or retrieves the frame rate.

This property is updated when the GetStreamFormat, GetStreamFormats, or ShowCapturePinDialog methods are executed. If the FrameRate property is set before executing the SetStreamFormat method then that frame rate value will be used.

Setting this value

This value can be set at run-time

Retrieving this value

This value can be retrieved at run-time


HWND (Preview Control/ Custom Property)

This property refers to the window handle of the Preview Control.

[Visual Basic] previewcontrolname.HWND[ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]previewcontrolname.GetHWND()
[VB.NET] previewcontrolname.HWND[ = Integer(x86) or Long(x64) ]
[C#.NET] previewcontrolname.HWND[ = int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Property Value

The window handle of the Preview Control.

Explanation

The HWND property refers to the window handle of the Preview Control.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


MaximumFrameRate (Preview Control/ Custom Property)

This property retrieves the maximum frame rate.

[Visual Basic] previewcontrolname.MaximumFrameRate[ = Double ]
[Visual C++] [ double = ]previewcontrolname.GetMaximumFrameRate()
[VB.NET] previewcontrolname.MaximumFrameRate[ = Double ]
[C#.NET] previewcontrolname.MaximumFrameRate[ = double ]

Property Value

The frame rate in frames per second.

Explanation

The MaximumFrameRate property retrieves the maximum frame rate.

This property is updated when the GetStreamFormat method is executed. When setting the FrameRate property please do so in regard to this maximum value.

Setting this value

This value can be set at run-time

Retrieving this value

This value can be retrieved at run-time


MinimumFrameRate (Preview Control/ Custom Property)

This property retrieves the minimum frame rate.

[Visual Basic] previewcontrolname.MinimumFrameRate[ = Double ]
[Visual C++] [ double = ]previewcontrolname.GetMinimumFrameRate()
[VB.NET] previewcontrolname.MinimumFrameRate[ = Double ]
[C#.NET] previewcontrolname.MinimumFrameRate[ = double ]

Property Value

The frame rate in frames per second.

Explanation

The MinimumFrameRate property retrieves the minimum frame rate.

This property is updated when the GetStreamFormat method is executed. When setting the FrameRate property please do so in regard to this minimum value.

Setting this value

This value can be set at run-time

Retrieving this value

This value can be retrieved at run-time


MouseCursorFile (Preview Control/ Custom Property)

This property sets the name of the cursor file used for the user defined mouse cursor.

[Visual Basic] previewcontrolname.MouseCursorFile[ = String ]
[Visual C++] [ CString = ]previewcontrolname.GetMouseCursorFile()
previewcontrolname.SetMouseCursorFile(LPCTSTR Val)
[VB.NET] previewcontrolname.MouseCursorFile[ = String ]
[C#.NET] previewcontrolname.MouseCursorFile[ = string ]

Property Value

The name of the cursor file that determines the user defined cursor displayed within the Preview Control.

Explanation

The MouseCursorFile property sets the name of the cursor file used for the user defined mouse cursor. This property is enabled when the MouseCursorType property is set to 15(ikCursorCustom)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


MouseCursorType (Preview Control/ Custom Property)

This property sets the shape of the mouse cursor when the mouse is within the Preview Control.
[Visual Basic] previewcontrolname.MouseCursorType [= CursorTypeConstants ]
[Visual C++] [long = ]previewcontrolname.GetMouseCursorType()
previewcontrolname.SetMouseCursorType(long Val)
[VB.NET] previewcontrolname.MouseCursorType [= ImageKit10WebCamera(A)Lib.CursorTypeConstants ]
[C#.NET] previewcontrolname.MouseCursorType [= ImageKit10WebCamera(A)Lib.CursorTypeConstants ]

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Standard arrow (Default)
1 | Standard arrow and small hourglass
2 | Crosshair
3 | Standard arrow and question mark
4 | I-beam
6 | Forbidden
8 | Four-pointed arrow
9 | Double-pointed arrow pointing northeast and southwest
10 | Double-pointed arrow pointing north and south
11 | Double-pointed arrow pointing northwest and southeast
12 | Double-pointed arrow pointing west and east
13 | Vertical arrow
14 | Hourglass
15 | Custom
16 | Hidden

It is also possible to use the following constants (ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2,
                ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8,
                ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11,
                ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom =
                15, ikCursorNoShow = 16).

Explanation

The MouseCursorType property sets the shape of the mouse cursor when the mouse is within the Preview Control. When this property is set to 15 (ikCursorCustom), a cursor file name must be set in the MouseCursorFile property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


State (Preview Control/ Custom Property)

This property retrieves the current state of the Preview Control.
[Visual Basic] previewcontrolname.State [= StateConstants ]
[Visual C++] [long = ]previewcontrolname.GetState()
[VB.NET] previewcontrolname.CtlState [= ImageKit10WebCamera(A)Lib.StateConstants ]
[C#.NET] previewcontrolname.CtlState [= ImageKit10WebCamera(A)Lib.StateConstants ]

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Closed
1 | Open
2 | Running
4 | Paused
8 | Stopped

It is also possible to use the following constants (ikClosed = 0, ikOpen = 1, ikRunning = 2, ikPaused = 4, ikStopped = 8).

Explanation

The State property retrieves the current state of the Preview Control. The State property is updated whenever the Close, Open, Pause, Start, Stop methods are executed. When more than one of these methods is executed, the State property value will be a logical sum.

In VB.NET and C#.NET use "CtlState" instead of "State".

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


VideoDevices (Preview Control/ Custom Property)

This property retrieves the name of the video device.

[Visual Basic] previewcontrolname.VideoDevices[ = String ]
[Visual C++] [ CString = ]previewcontrolname.GetVideoDevices()
[VB.NET] previewcontrolname.VideoDevices[ = String ]
[C#.NET] previewcontrolname.VideoDevices[ = string ]

Property Value

The name of the video device

Explanation

The VideoDevices property retrieves the name of the video device. This value is set when the GetVideoDevices method successfully executes.

When connected to multiple video devices, the device names will be delimited by commas as in, "XXX,XXX,XXX,......". For a single video device, the string will not have a comma.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


VideoHeight (Preview Control/ Custom Property)

This property retrieves the height of the preview image.

[Visual Basic] previewcontrolname.VideoHeight[ = Long ]
[Visual C++] [ long = ]previewcontrolname.GetVideoHeight()
[VB.NET] previewcontrolname.VideoHeight[ = Integer ]
[C#.NET] previewcontrolname.VideoHeight[ = int ]

Property Value

The height of the preview image.

Explanation

The VideoHeight property retrieves the height of the preview image.

This property is updated when the GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, or ShowCapturePinDialog methods are executed.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


VideoSubType (Preview Control/ Custom Property)

This property retrieves the GUID string that specifies the subtype of the media sample.

[Visual Basic] previewcontrolname.VideoSubType[ = String ]
[Visual C++] [ CString = ]previewcontrolname.GetVideoSubType()
[VB.NET] previewcontrolname.VideoSubType[ = String ]
[C#.NET] previewcontrolname.VideoSubType[ = string ]

Property Value

The GUID string.

Explanation

The VideoSubType property retrieves the GUID string that specifies the subtype of the media sample.

This property is updated when the GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, or ShowCapturePinDialog methods are executed.

When the preview image is uncompressed, the string's first 8 digits will be the FOURCC code.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


VideoWidth(Preview Control/ Custom Property)

ImageKit10 ActiveX

VideoWidth (Preview Control/ Custom Property)

This property retrieves the width of the preview image.

[Visual Basic] previewcontrolname.VideoWidth[ = Long ]
[Visual C++] [ long = ]previewcontrolname.GetVideoWidth()
[VB.NET] previewcontrolname.VideoWidth[ = Integer ]
[C#.NET] previewcontrolname.VideoWidth[ = int ]

Property Value

The width of the preview image.

Explanation

The VideoWidth property retrieves the width of the preview image.

This property is updated when the GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, or ShowCapturePinDialog methods are executed.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


Preview Methods

Custom Method | Explanation
Close | Closes the preview
GetStreamFormat | Retrieves the specified format function
GetStreamFormats | Retrieves the specified set of format functions
GetVideoDevices | Retrieves the video device name
Open | Connects to the Web(USB) camera in preview mode
Pause | Pauses the preview or restarts a paused preview
SetStreamFormat | Sets the specified format functions
ShowCapturePinDialog | Displays the capture pin dialog
ShowFilterDialog | Displays the filter dialog
Start | Starts the preview
Stop | Stops the preview
TakeSnapshot | Takes a snapshot from the preview


Close (Preview Control/ Custom Method)

This method closes the video file.

[Visual Basic] [ Boolean = ]previewcontrolname.Close
[Visual C++] [ BOOL = ]previewcontrolname.Close()
[VB.NET] [ Boolean = ]previewcontrolname.Close()
[C#.NET] [ bool = ]previewcontrolname.Close()

Parameters

None

Return Value

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

Explanation

The Close method closes the video file that is opened with the Open method. If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then 11 will be set in the ErrorStatus property. This applies to executing the Close method without first executing the Open method.


GetStreamFormat (Preview Control/ Custom Method)

This method retrieves the format functions of the specified index.

[Visual Basic] [ Boolean = ]previewcontrolname.GetStreamFormat(Index As Long)
[Visual C++] [ BOOL = ]previewcontrolname.GetStreamFormat(long Index)
[VB.NET] [ Boolean = ]previewcontrolname.GetStreamFormat(Index As Integer)
[C#.NET] [ bool = ]previewcontrolname.GetStreamFormat(int Index)

Parameters

Name | Explanation
Index | The index (With a range from 0 to GetStreamFormats method's return value - 1)

Return Value

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

Explanation

The GetStreamFormat method retrieves the format functions of the specified index. If you pass an Index of -1, you will retrieve the currently selected format functions. Passing in Index values from 0 to GetStreamFormats method's return value -1 will give you the format functions for the specified index.

If the GetStreamFormat method is successful, if the return value is True (nonzero), then the following properties are updated: BitCount, Compression, FrameRate, MaximumFrameRate, MinimumFrameRate, VideoHeight, VideoSubType, and VideoWidth. If the GetStreamFormat method is not successful, if the return value is False (0), then values of 5 or 11 will be set in the ErrorStatus property.

Before executing the GetStreamFormat method, you must first execute the Open and GetStreamFormats methods.


GetStreamFormats (Preview Control/ Custom Method)

This method retrieves the format function set.

[Visual Basic] [ Long = ]previewcontrolname.GetStreamFormats
[Visual C++] [ long = ]previewcontrolname.GetStreamFormats()
[VB.NET] [ Integer = ]previewcontrolname.GetStreamFormats()
[C#.NET] [ int = ]previewcontrolname.GetStreamFormats()

Parameters

None

Return Value

Returns the number of retrieved format sets.

Explanation

The GetStreamFormats method retrieves the format function set.

When the GetStreamFormats method is successful, return value of 1 or more, then by executing the GetStreamFormat method, you can retrieve the output size and other format information.

When the GetStreamFormats method is unsuccessful, return value of 0, then values of 2 or 11 will be set in the ErrorStatus property.

Before executing the GetStreamFormats method, you must first execute the Open method


GetVideoDevices (Preview Control/ Custom Method)

This method retrieves the video device names.

[Visual Basic] [ Long = ]previewcontrolname.GetVideoDevices
[Visual C++] [ long = ]previewcontrolname.GetVideoDevices()
[VB.NET] [ Integer = ]previewcontrolname.GetVideoDevices()
[C#.NET] [ int = ]previewcontrolname.GetVideoDevices()

Parameters

None

Return Value

Returns the number of retrieved names

Explanation

The GetVideoDevices method retrieves the video device names.

When the GetVideoDevices method is successful, return value of 1 or more, then the video device names will be set in the VideoDevices property. If multiple video devices are retrieved, the string will be delimited by commas, i.e. "XXX,XXX,XXX,....." When only one video device is retrieved, the string will not contain a comma.

When the GetVideoDevices method is unsuccessful, return value of 0, then values of 201 or 202 will be set in the ErrorStatus property.


Open (Preview Control/ Custom Method)

This method connects to the Web(USB) camera in preview mode.

[Visual Basic] [ Boolean = ]previewcontrolname.Open(Index As Long)
[Visual C++] [ BOOL = ]previewcontrolname.Open(long Index)
[VB.NET] [ Boolean = ]previewcontrolname.Open(Index As Integer)
[C#.NET] [ bool = ]previewcontrolname.Open(int Index)

Parameters

Name | Explanation
Index | The Web(USB) camera index.

Return Value

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

Explanation

The Open method connects to the Web(USB) camera in preview mode.

If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then values of 11, 201, 202, or 203 will be set in the ErrorStatus property.

IMPORTANT: You cannot use capture (Record Control) and preview at the same time. When using the Preview control, execute the Record control's Close method. Then execute the Preview control's Open method and reconnect to the Web(USB) camera.


Pause (Preview Control/ Custom Method)

This method pauses the preview or restarts a preview that has been paused.

[Visual Basic] [ Boolean = ]previewcontrolname.Pause
[Visual C++] [ BOOL = ]previewcontrolname.Pause()
[VB.NET] [ Boolean = ]previewcontrolname.Pause()
[C#.NET] [ bool = ]previewcontrolname.Pause()

Parameters

None

Return Value

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

Explanation

The Pause method pauses the preview that has been started with the Start method. If this method is executed when the preview is paused, the preview will restart.

If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then values of 2 or 11 will be set in the ErrorStatus property.


SetStreamFormat (Preview Control/ Custom Method)

This method sets the format functions (output size, etc.)

[Visual Basic] [ Boolean = ]previewcontrolname.SetStreamFormat(Index As Long)
[Visual C++] [ BOOL = ]previewcontrolname.SetStreamFormat(long Index)
[VB.NET] [ Boolean = ]previewcontrolname.SetStreamFormat(Index As Integer)
[C#.NET] [ bool = ]previewcontrolname.SetStreamFormat(int Index)

Parameters

Name | Explanation
Index | The index (With a range from 0 to GetStreamFormats method's return value - 1)

Return Value

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

Explanation

The SetStreamFormat method sets the format functions. Use this method to change the preview's output size, etc.

It is possible to change preview's output size even if ShowCapturePinDialog method has been executed. If output size or other format settings are changed while the preview is running, those changes will not take effect. You will have to stop the preview (execute the Stop method) first and then change the settings.

When passing values into the Index parameter, values from 0 to GetStreamFormats method's return value - 1 will set that format's functions.

When the SetStreamFormat method's return value is True (nonzero), the following properties are updated: BitCount, Compression, VideoHeight, VideoSubType, and VideoWidth. When the return value is False (0), values of 2, 5, or 11 will be set in the ErrorStatus property.

Important: Before executing the SetStreamFormat method, you must first execute the Open method and the GetStreamFormats method.


ShowCapturePinDialog (Preview Control/ Custom Method)

This method displays the Capture Pin dialog.

[Visual Basic] [ Boolean = ]previewcontrolname.ShowCapturePinDialog
[Visual C++] [ BOOL = ]previewcontrolname.ShowCapturePinDialog()
[VB.NET] [ Boolean = ]previewcontrolname.ShowCapturePinDialog()
[C#.NET] [ bool = ]previewcontrolname.ShowCapturePinDialog()

Parameters

None

Return Value

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

Explanation

The ShowCapturePinDialog method displays the Capture Pin dialog. To execute this method successfully, you must first execute the Open method and connect to a Web(USB) camera.

When the ShowCapturePinDialog method's return value is True (nonzero), the following properties are updated: BitCount, Compression, FrameRate, VideoHeight, VideoSubType, and VideoWidth. When the return value is False (0), values of 2, 11, or 202 will be set in the ErrorStatus property.

If output size or other format settings are changed while the preview is running, those changes will not take effect. You will have to stop the preview (execute the Stop method) first and then change the settings.


ShowFilterDialog (Preview Control/ Custom Method)

This method displays the Filter dialog.

[Visual Basic] [ Boolean = ]previewcontrolname.ShowFilterDialog
[Visual C++] [ BOOL = ]previewcontrolname.ShowFilterDialog()
[VB.NET] [ Boolean = ]previewcontrolname.ShowFilterDialog()
[C#.NET] [ bool = ]previewcontrolname.ShowFilterDialog()

Parameters

None

Return Value

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

Explanation

The ShowFilterDialog method displays the Filter dialog. To execute this method successfully, you must first execute the Open method and connect to a Web(USB) camera.

When the ShowFilterDialog method's return value is False (0), values of 2, 11, or 202 will be set in the ErrorStatus property.


Start (Preview Control/ Custom Method)

This method starts the preview.

[Visual Basic] [ Boolean = ]previewcontrolname.Start(Mode As DisplayModeConstants)
[Visual C++] [ BOOL = ]previewcontrolname.Start(long Mode)
[VB.NET] [ Boolean = ]previewcontrolname.Start(Mode As ImageKit10WebCamera(A)Lib.DisplayModeConstants)
[C#.NET] [ bool = ]previewcontrolname.Start(ImageKit10WebCamera(A)Lib.DisplayModeConstants Mode)

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Parameters

Name | Explanation
Mode | The display mode 0: Scale (The video is scaled to fit within the Preview Control while keeping the video's original height to width ratio) 1: Stretch (The video is stretched to fill the Preview Control's dimensions) The following contants may also be used: (ikScale = 0, ikStretch = 1)

Return Value

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

Explanation

The Start method starts the preview. The Mode parameter determines how the video will be displayed in the Preview Control.

When the Start method returns True(nonzero), the State property is updated. If the return value is False (0), then values of 2 or 11 will be set in the ErrorStatus property.


Stop (Preview Control/ Custom Method)

This method stops the preview.

[Visual Basic] [ Boolean = ]previewcontrolname.Stop
[Visual C++] [ BOOL = ]previewcontrolname.Stop()
[VB.NET] [ Boolean = ]previewcontrolname.Stop()
[C#.NET] [ bool = ]previewcontrolname.Stop()

Parameters

None

Return Value

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

Explanation

The Stop method stops the preview that was started with the Start method.

If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then 11 will be set in the ErrorStatus property.


TakeSnapShot (Preview Control/ Custom Method)

This method takes a snapshot from the preview.

[Visual Basic] [ Boolean = ]previewcontrolname.TakeSnapShot
[Visual C++] [ BOOL = ]previewcontrolname.TakeSnapShot()
[VB.NET] [ Boolean = ]previewcontrolname.TakeSnapShot()
[C#.NET] [ bool = ]previewcontrolname.TakeSnapShot()

Parameters

None

Return Value

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

Explanation

The TakeSnapShot method takes a snapshot from the preview that was started using the Start method. The snapshot can be retrieved in the Snapshot event.

If the return value is False (0), then 2, 4 or 11 will be set in the ErrorStatus property. If the value is 4, it means that a snapshot cannot be taken from that preview.

Execute the ShowCapturePinDialog method to confirm the color space and compression of the preview.


Preview Events

Custom Event | Explanation
Snapshot | Generated when a snapshot is taken from the preview


Snapshot (Preview Control/ Custom Event)

This event is generated after the TakeSnapshot method is executed.

[Visual Basic] previewcontrolname_Snapshot(ByVal ImageHandle As ImageKit10WebCamera(A)LibCtl.LONG_PTR, FreeMemory As Boolean)
[Visual C++] OnSnapshot previewcontrolname(LONG_PTR ImageHandle, BOOL* FreeMemory)
[VB.NET] previewcontrolname_Snapshot(ByVal sender As System.Object, ByVal e As AxImageKit10WebCamera(A)Lib.IImageKitPlayEvents_SnapshotEvent)
[C#.NET] previewcontrolname_Snapshot(object sender, AxImageKit10WebCamera(A)Lib.IImageKitPlayEvents_SnapshotEvent e)

* ImageKit10WebCameraALibCtl / ImageKit10WebCameraALib/ refers to the ANSI version. ImageKit10WebCameraLibCtl / ImageKit10WebCameraLib/ refers to the Unicode version.

Parameters

Name | Explanation
ImageHandle | The memory handle of the snapshot bitmap
FreeMemory | Sets whether or not the ImageHandle is freed from the memory after this event fires. Default is True. To free memory, set this to True. To hold the ImageHandle in the memory after this event fires, set to False.

In VB.NET and C#.NET, the second argument of this event is e. It contains the ImageHandle and FreeMemory parameters. (the first letter of these parameters are lowercase in .NET)

Explanation

The Snapshot event is generated after the TakeSnapshot method is executed.

When the FreeMemory parameter is True, the retrieved snapshot's bitmap will be freed from the memory after this event completes. To save the snapshot, execute the ImageKit Control's CopyImage method within this event and save the snapshot to file, etc.


Record Control

The Record Control connects to a Web(USB) camera and displays video and saves the video in the specified file. It provides properties, methods, and events to open, start, stop, pause, and resume the recording.

Property List

Custom Properties | Explanation
Appearance | Sets the appearance of the Record Control's border
BackColor | Sets the background color for the Record Control
BitCount | Refers to the number of bits per pixel
BitRate | Sets the bit rate
BorderColor | Sets the color of Record Control's the border
BorderVisible | Sets whether or not the border of the Record Control is displayed
Compression | Refers to the compression format of the bitmap
Enabled | Sets whether or not the mouse and keyboard events of the Record Control are enabled
ErrorStatus | Retrieves the type of error that has occurred
Format | Sets the format of the saved file
FrameRate | Sets the frame rate
HWND | Refers to the window handle of the Record Control
MaximumBitRate | The maximum bit rate
MaximumFrameRate | The maximum frame rate
MinimumBitRate | The minimum bit rate
MinimumFrameRate | The minimum frame rate
MouseCursorFile | Sets the name of the cursor file used for the user defined mouse cursor
MouseCursorType | Sets the shape of the mouse cursor when the mouse is within the Record Control
State | Retrieves the current state of the Record Control
VideoDevices | Retrieves the name of the video device
VideoHeight | Retrieves the height of the video capture
VideoSubType | The GUID string that specifies the subtype of the media sample
VideoWidth | Retrieves the width of the video capture

Method List

Custom Method | Explanation
Close | Closes the video file
GetStreamFormat | Retrieves the specified format function
GetStreamFormats | Retrieves the specified set of format functions
GetVideoDevices | Retrieves the video device name
Open | Connects to the Web(USB) camera in capture mode
Pause | Pauses the video capture or restarts a paused capture
SetStreamFormat | Sets the specified format functions
ShowCapturePinDialog | Displays the capture pin dialog
ShowFilterDialog | Displays the filter dialog
Start | Starts the video capture
Stop | Stops the video capture


Record Properties

Custom Properties | Explanation
Appearance | Sets the appearance of the Record Control's border
BackColor | Sets the background color for the Record Control
BitCount | Refers to the number of bits per pixel
BitRate | Sets the bit rate
BorderColor | Sets the color of Record Control's the border
BorderVisible | Sets whether or not the border of the Record Control is displayed
Compression | Refers to the compression format of the bitmap
Enabled | Sets whether or not the mouse and keyboard events of the Record Control are enabled
ErrorStatus | Retrieves the type of error that has occurred
Format | Sets the format of the saved file
FrameRate | Sets the frame rate
HWND | Refers to the window handle of the Record Control
MaximumBitRate | The maximum bit rate
MaximumFrameRate | The maximum frame rate
MinimumBitRate | The minimum bit rate
MinimumFrameRate | The minimum frame rate
MouseCursorFile | Sets the name of the cursor file used for the user defined mouse cursor
MouseCursorType | Sets the shape of the mouse cursor when the mouse is within the Record Control
State | Retrieves the current state of the Record Control
VideoDevices | Retrieves the name of the video device
VideoHeight | Retrieves the height of the video capture
VideoSubType | The GUID string that specifies the subtype of the media sample
VideoWidth | Retrieves the width of the video capture


Appearance (Record Control/ Custom Property)

This property sets the appearance of the border of the Record Control.

[Visual Basic] recordcontrolname.Appearance[ = AppearanceConstants ]
[Visual C++] [ long = ]recordcontrolname.GetAppearance()
recordcontrolname.SetAppearance(long Val)
[VB.NET] recordcontrolname.Appearance[ = ImageKit10WebCamera(a)Lib.AppearanceConstants ]
[C#.NET] recordcontrolname.Appearance[ = ImageKit10WebCamera(a)Lib.AppearanceConstants ]

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Flat
1 | Lowered
1 | Raised

The following constants can also be used: (ikFlat = 0, ikLowered = 1, ikRaised = 2).

Explanation

The Appearance property sets the appearance of the border of the Record Control. It is enabled when the BorderVisible property is True. When the Appearance property is 0(ikFlat), the border color will be determined by the value set in the BorderColor property.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BackColor (Record Control/ Custom Property)

This property sets the background color for the Record Control.

[Visual Basic] recordcontrolname.BackColor[ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]recordcontrolname.GetBackColor()
recordcontrolname.SetBackColor(unsigned long Val)
[VB.NET] recordcontrolname.BackColor[ = Color ]
[C#.NET] recordcontrolname.BackColor[ = Color ]

Property Value

The background color for the Record Control.

Explanation

The BackColor property sets the background color for the Record Control. To set this property, use the RGB(Red, Green, Blue) or equivalent values.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BitCount (Record Control/ Custom Property)

This property refers to the number of bits per pixel in the capture image.

[Visual Basic] recordcontrolname.BitCount[ = Integer ]
[Visual C++] [ short = ]recordcontrolname.GetBitCount()
[VB.NET] recordcontrolname.BitCount[ = Short ]
[C#.NET] recordcontrolname.BitCount[ = short ]

Property Value

The number of bits per pixel

Explanation

The BitCount property refers to the number of bits per pixel in the capture image.

This property is updated when the GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, or ShowCapturePinDialog methods are executed.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time.


BitRate (Record Control/ Custom Property)

This property sets and retrieves the bit rate.

[Visual Basic] recordcontrolname.BitRate[ = Long ]
[Visual C++] [ long = ]recordcontrolname.GetBitRate()
recordcontrolname.SetBitRate(long Val)
[VB.NET] recordcontrolname.BitRate[ = Integer ]
[C#.NET] recordcontrolname.BitRate[ = int ]

Property Value

The bit rate per second

Explanation

The BitRate property sets and retrieves the bit rate. When saving the capture using compression, a higher bit rate means a better quality video. A smaller bit rate means a lesser quality video.

The BitRate property setting is enabled when the Format property is set to 1(ikAsf).

This property is updated when the Open and ShowCapturePinDialog methods are executed.

If the BitRate property is set prior to executing the SetStreamFormat method, then that value will be used.

Setting this value

This value can be set at run-time

Retrieving this value

This value can be retrieved at run-time


BorderColor (Record Control/ Custom Property)

This property sets the color of Record Control's the border.

[Visual Basic] recordcontrolname.BorderColor[ = OLE_COLOR ]
[Visual C++] [ unsigned long = ]recordcontrolname.GetBorderColor()
recordcontrolname.SetBorderColor(unsigned long Val)
[VB.NET] recordcontrolname.BorderColor[ = Color ]
[C#.NET] recordcontrolname.BorderColor[ = Color ]

Property Value

The color of the Record Control's border.

Explanation

The BorderColor property sets the color for the border of the Record Control. To set this property, use the RGB(Red, Green, Blue) or equivalent values.

The BorderColor property is enabled when the BorderVisible property is True and the Appearance property is set to 0(ikFlat).

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


BorderVisible (Record Control/ Custom Property)

This property sets whether or not the border of the Record Control is displayed.

[Visual Basic] recordcontrolname.BorderVisible[ = Boolean ]
[Visual C++] [ BOOL = ]recordcontrolname.GetBorderVisible()
recordcontrolname.SetBorderVisible(BOOL Val)
[VB.NET] recordcontrolname.BorderVisible[ = Boolean ]
[C#.NET] recordcontrolname.BorderVisible[ = bool ]

Property Value

Value | Explanation
True | The border is displayed
False | The border is not displayed

Explanation

The BorderVisible property sets whether or not the border of the Record Control is displayed.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


Compression (Record Control/ Custom Property)

This property refers to the compression format of the capture image.

[Visual Basic] recordcontrolname.Compression[ = Long ]
[Visual C++] [ long = ]recordcontrolname.GetCompression()
[VB.NET] recordcontrolname.Compression[ = Integer ]
[C#.NET] recordcontrolname.Compression[ = int ]

Property Value

The compression format.

Explanation

The Compression property refers to the compression format of the capture image.

This property is updated when the GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, or ShowCapturePinDialog methods are executed.

When the image is uncompressed, the value of the Compression property will be 0(BI_RGB) or 3(BI_BITFIELDS). For details about what the values in these parentheses, please refer to Windows API from which these values were taken and have the same meaning. For compressed images, the value set in the Compression property will be values according to FOURCC code.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time.


Enabled (Record Control/ Custom Property)

This property sets whether or not the mouse and keyboard events of the Record Control are enabled.

[Visual Basic] recordcontrolname.Enabled[ = Boolean ]
[Visual C++] [ BOOL = ]recordcontrolname.GetEnabled()
recordcontrolname.SetEnabled(BOOL Val)
[VB.NET] recordcontrolname.Enabled[ = Boolean ]
[C#.NET] recordcontrolname.Enabled[ = bool ]

Property Value

Value | Explanation
True | The mouse and keyboard events are enabled
False | The mouse and keyboard events are disabled

Explanation

The Enabled property sets whether or not the mouse and keyboard events of the Record Control are enabled. When True, the mouse and keyboard events are generated. When False, the mouse and keyboard events are not generated.

Setting this value

This value can be set at design-time and run-time.

Retrieving this value

This value can be retrieved at run-time.


ErrorStatus (Record Control/ Custom Property)

This property retrieves the type of error that has occurred.

[Visual Basic] recordcontrolname.ErrorStatus[ = Integer ]
[Visual C++] [ short = ]recordcontrolname.GetErrorStatus()
[VB.NET] recordcontrolname.ErrorStatus[ = Short ]
[C#.NET] recordcontrolname.ErrorStatus[ = short ]

Property Value

Value | Explanation
0 | No error has occurred
2 | An other unspecified error
4 | Unsupported function
5 | Incorrect value has been set
11 | Execution sequence error
201 | DirectX environment is not set up
202 | Not connected to the device
203 | COM interface error

Explanation

The ErrorStatus property retrieves the type of error that has occurred. Refer to these values after executing a Record Control method.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


Format (Record Control/ Custom Property)

This property sets the format for the file where the capture is saved.

[Visual Basic] recordcontrolname.Format[ = VideoFormatConstants ]
[Visual C++] [ long = ]recordcontrolname.GetFormat()
recordcontrolname.SetFormat(long Val)
[VB.NET] recordcontrolname.Format[ = ImageKit10WebCamera(A)Lib.VideoFormatConstants ]
[C#.NET] recordcontrolname.Format[ = ImageKit10WebCamera(A)Lib.VideoFormatConstants ]

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Capture is saved in AVI format (uncompressed). Default
1 | Capture is saved in WMV format (compressed)

The following constants may also be used: ikAvi=0, ikAsf=1

Explanation

The Format property sets the format for the file where the capture is saved. Please set this value before executing the Open method. The default value is 0 (ikAvi).

When saving in WMV format, please set the appropriate value in the BitRate property.

Setting this value

This value can be set at run-time

Retrieving this value

This value can be retrieved at run-time


FrameRate (Record Control/ Custom Property)

This property sets the frame rate.

[Visual Basic] recordcontrolname.FrameRate[ = Double ]
[Visual C++] [ double = ]recordcontrolname.GetFrameRate()
recordcontrolname.SetFrameRate(double Val)
[VB.NET] recordcontrolname.FrameRate[ = Double ]
[C#.NET] recordcontrolname.FrameRate[ = double ]

Property Value

The frame rate in frames per second.

Explanation

The FrameRate property sets or retrieves the frame rate.

This property is updated when the GetStreamFormat, GetStreamFormats, or ShowCapturePinDialog methods are executed. If the FrameRate property is set before executing the SetStreamFormat method then that frame rate value will be used.

Setting this value

This value can be set at run-time

Retrieving this value

This value can be retrieved at run-time


HWND (Record Control/ Custom Property)

This property refers to the window handle of the Record Control.

[Visual Basic] recordcontrolname.HWND[ = LONG_PTR ]
[Visual C++] [ LONG_PTR = ]recordcontrolname.GetHWND()
[VB.NET] recordcontrolname.HWND[ = Integer(x86) or Long(x64) ]
[C#.NET] recordcontrolname.HWND[ = int(x86) or long(x64) ]

* (x86) refers to the 32 bit version, (x64) refers to the 64 bit version.

Property Value

The window handle of the Record Control.

Explanation

The HWND property refers to the window handle of the Record Control.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


MaximumBitRate (Record Control/ Custom Property)

This property retrieves the maximum bit rate.

[Visual Basic] recordcontrolname.MaximumBitRate[ = Long ]
[Visual C++] [ long = ]recordcontrolname.GetMaximumBitRate()
[VB.NET] recordcontrolname.MaximumBitRate[ = Integer ]
[C#.NET] recordcontrolname.MaximumBitRate[ = int ]

Property Value

The bit rate in bits per second.

Explanation

The MaximumBitRate property retrieves the maximum bit rate.

This property is updated when the GetStreamFormat method is executed. When setting the BitRate property please do so in regard to this maximum value.

Setting this value

This value can be set at run-time

Retrieving this value

This value can be retrieved at run-time


MaximumFrameRate (Record Control/ Custom Property)

This property retrieves the maximum frame rate.

[Visual Basic] recordcontrolname.MaximumFrameRate[ = Double ]
[Visual C++] [ double = ]recordcontrolname.GetMaximumFrameRate()
[VB.NET] recordcontrolname.MaximumFrameRate[ = Double ]
[C#.NET] recordcontrolname.MaximumFrameRate[ = double ]

Property Value

The frame rate in frames per second.

Explanation

The MaximumFrameRate property retrieves the maximum frame rate.

This property is updated when the GetStreamFormat method is executed. When setting the FrameRate property please do so in regard to this maximum value.

Setting this value

This value can be set at run-time

Retrieving this value

This value can be retrieved at run-time


MinimumBitRate (Record Control/ Custom Property)

This property retrieves the minimum bit rate.

[Visual Basic] recordcontrolname.MinimumBitRate[ = Long ]
[Visual C++] [ long = ]recordcontrolname.GetMinimumBitRate()
[VB.NET] recordcontrolname.MinimumBitRate[ = Integer ]
[C#.NET] recordcontrolname.MinimumBitRate[ = int ]

Property Value

The bit rate in bits per second.

Explanation

The MinimumBitRate property retrieves the minimum bit rate.

This property is updated when the GetStreamFormat method is executed. When setting the BitRate property please do so in regard to this minimum value.

Setting this value

This value can be set at run-time

Retrieving this value

This value can be retrieved at run-time


MinimumFrameRate (Record Control/ Custom Property)

This property retrieves the minimum frame rate.

[Visual Basic] recordcontrolname.MinimumFrameRate[ = Double ]
[Visual C++] [ double = ]recordcontrolname.GetMinimumFrameRate()
[VB.NET] recordcontrolname.MinimumFrameRate[ = Double ]
[C#.NET] recordcontrolname.MinimumFrameRate[ = double ]

Property Value

The frame rate in frames per second.

Explanation

The MinimumFrameRate property retrieves the minimum frame rate.

This property is updated when the GetStreamFormat method is executed. When setting the FrameRate property please do so in regard to this minimum value.

Setting this value

This value can be set at run-time

Retrieving this value

This value can be retrieved at run-time


MouseCursorFile (Record Control/ Custom Property)

This property sets the name of the cursor file used for the user defined mouse cursor in the Record Control.

[Visual Basic] recordcontrolname.MouseCursorFile[ = String ]
[Visual C++] [ CString = ]recordcontrolname.GetMouseCursorFile()
recordcontrolname.SetMouseCursorFile(LPCTSTR Val)
[VB.NET] recordcontrolname.MouseCursorFile[ = String ]
[C#.NET] recordcontrolname.MouseCursorFile[ = string ]

Property Value

The name of the cursor file that determines the user defined cursor displayed within the Record Control.

Explanation

The MouseCursorFile property sets the name of the cursor file used for the user defined mouse cursor. This property is enabled when the MouseCursorType property is set to 15(ikCursorCustom)

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


MouseCursorType (Record Control/ Custom Property)

This property sets the shape of the mouse cursor when the mouse is within the Record Control.
[Visual Basic] recordcontrolname.MouseCursorType [= CursorTypeConstants ]
[Visual C++] [long = ]recordcontrolname.GetMouseCursorType()
recordcontrolname.SetMouseCursorType(long Val)
[VB.NET] recordcontrolname.MouseCursorType [= ImageKit10WebCamera(A)Lib.CursorTypeConstants ]
[C#.NET] recordcontrolname.MouseCursorType [= ImageKit10WebCamera(A)Lib.CursorTypeConstants ]

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Standard arrow (Default)
1 | Standard arrow and small hourglass
2 | Crosshair
3 | Standard arrow and question mark
4 | I-beam
6 | Forbidden
8 | Four-pointed arrow
9 | Double-pointed arrow pointing northeast and southwest
10 | Double-pointed arrow pointing north and south
11 | Double-pointed arrow pointing northwest and southeast
12 | Double-pointed arrow pointing west and east
13 | Vertical arrow
14 | Hourglass
15 | Custom
16 | Hidden

It is also possible to use the following constants (ikCursorARROW = 0, ikCursorAPPSTARTING = 1, ikCursorCROSS = 2,
                ikCursorHELP = 3, ikCursorIBEAM = 4, ikCursorNO = 6, ikCursorSIZEALL = 8,
                ikCursorSIZENESW = 9, ikCursorSIZENS = 10, ikCursorSIZENWSE = 11,
                ikCursorSIZEWE = 12, ikCursorUPARROW = 13, ikCursorWAIT = 14, ikCursorCustom =
                15, ikCursorNoShow = 16).

Explanation

The MouseCursorType property sets the shape of the mouse cursor when the mouse is within the Record Control. When this property is set to 15 (ikCursorCustom), a cursor file name must be set in the MouseCursorFile property.

Setting this value

This value can be set at run-time.

Retrieving this value

This value can be retrieved at run-time.


State (Record Control/ Custom Property)

This property retrieves the current state of the Record Control.
[Visual Basic] recordcontrolname.State [= StateConstants ]
[Visual C++] [long = ]recordcontrolname.GetState()
[VB.NET] recordcontrolname.CtlState [= ImageKit10WebCamera(A)Lib.StateConstants ]
[C#.NET] recordcontrolname.CtlState [= ImageKit10WebCamera(A)Lib.StateConstants ]

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Property Value

Value | Explanation
0 | Closed
1 | Open
2 | Running
4 | Paused
8 | Stopped

It is also possible to use the following constants (ikClosed = 0, ikOpen = 1, ikRunning = 2, ikPaused = 4, ikStopped = 8).

Explanation

The State property retrieves the current state of the Record Control. The State property is updated whenever the Close, Open, Pause, Start, Stop methods are executed. When more than one of these methods is executed, the State property value will be a logical sum.

In VB.NET and C#.NET use "CtlState" instead of "State".

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


VideoDevices (Record Control/ Custom Property)

This property retrieves the name of the video device.

[Visual Basic] recordcontrolname.VideoDevices[ = String ]
[Visual C++] [ CString = ]recordcontrolname.GetVideoDevices()
[VB.NET] recordcontrolname.VideoDevices[ = String ]
[C#.NET] recordcontrolname.VideoDevices[ = string ]

Property Value

The name of the video device

Explanation

The VideoDevices property retrieves the name of the video device. This value is set when the GetVideoDevices method successfully executes.

When connected to multiple video devices, the device names will be delimited by commas as in, "XXX,XXX,XXX,......". For a single video device, the string will not have a comma.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


VideoHeight (Record Control/ Custom Property)

This property retrieves the height of the capture image.

[Visual Basic] recordcontrolname.VideoHeight[ = Long ]
[Visual C++] [ long = ]recordcontrolname.GetVideoHeight()
[VB.NET] recordcontrolname.VideoHeight[ = Integer ]
[C#.NET] recordcontrolname.VideoHeight[ = int ]

Property Value

The height of the capture image.

Explanation

The VideoHeight property retrieves the height of the capture image.

This property is updated when the GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, or ShowCapturePinDialog methods are executed.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


VideoSubType (Record Control/ Custom Property)

This property retrieves the GUID string that specifies the subtype of the media sample.

[Visual Basic] recordcontrolname.VideoSubType[ = String ]
[Visual C++] [ CString = ]recordcontrolname.GetVideoSubType()
[VB.NET] recordcontrolname.VideoSubType[ = String ]
[C#.NET] recordcontrolname.VideoSubType[ = string ]

Property Value

The GUID string.

Explanation

The VideoSubType property retrieves the GUID string that specifies the subtype of the media sample.

This property is updated when the GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, or ShowCapturePinDialog methods are executed.

When the capture image is uncompressed, the string's first 8 digits will be the FOURCC code.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


VideoWidth(Record Control/ Custom Property)

ImageKit10 ActiveX

VideoWidth (Record Control/ Custom Property)

This property retrieves the width of the capture image.

[Visual Basic] recordcontrolname.VideoWidth[ = Long ]
[Visual C++] [ long = ]recordcontrolname.GetVideoWidth()
[VB.NET] recordcontrolname.VideoWidth[ = Integer ]
[C#.NET] recordcontrolname.VideoWidth[ = int ]

Property Value

The width of the capture image.

Explanation

The VideoWidth property retrieves the width of the capture image.

This property is updated when the GetStreamFormat, GetStreamFormats, Open, SetStreamFormat, or ShowCapturePinDialog methods are executed.

Setting this value

This value cannot be set

Retrieving this value

This value can be retrieved at run-time


Record Methods

Custom Method | Explanation
Close | Closes the video file
GetStreamFormat | Retrieves the specified format function
GetStreamFormats | Retrieves the specified set of format functions
GetVideoDevices | Retrieves the video device name
Open | Connects to the Web(USB) camera in capture mode
Pause | Pauses the vido capture or restarts a paused capture
SetStreamFormat | Sets the specified format functions
ShowCapturePinDialog | Displays the capture pin dialog
ShowFilterDialog | Displays the filter dialog
Start | Starts the video capture
Stop | Stops the video capture


Close (Record Control/ Custom Method)

This method closes the connection to the Web(USB) camera.

[Visual Basic] [ Boolean = ]recordcontrolname.Close
[Visual C++] [ BOOL = ]recordcontrolname.Close()
[VB.NET] [ Boolean = ]recordcontrolname.Close()
[C#.NET] [ bool = ]recordcontrolname.Close()

Parameters

None

Return Value

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

Explanation

The Close method closes the connection to the Web(USB) camera that was opened with the Open method. If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then 11 will be set in the ErrorStatus property. This applies to executing the Close method without first executing the Open method.


GetStreamFormat (Record Control/ Custom Method)

This method retrieves the format functions of the specified index.

[Visual Basic] [ Boolean = ]recordcontrolname.GetStreamFormat(Index As Long)
[Visual C++] [ BOOL = ]recordcontrolname.GetStreamFormat(long Index)
[VB.NET] [ Boolean = ]recordcontrolname.GetStreamFormat(Index As Integer)
[C#.NET] [ bool = ]recordcontrolname.GetStreamFormat(int Index)

Parameters

Name | Explanation
Index | The index (With a range from -1 to GetStreamFormats method's return value - 1)

Return Value

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

Explanation

The GetStreamFormat method retrieves the format functions of the specified index. If you pass an Index of -1, you will retrieve the currently selected format functions. Passing in Index values from 0 to GetStreamFormats method's return value -1 will give you the format functions for the specified index.

If the GetStreamFormat method is successful, if the return value is True (nonzero), then the following properties are updated: BitCount, Compression, FrameRate, MaximumBitRate, MaximumFrameRate, MinimumBitRate, MinimumFrameRate, VideoHeight, VideoSubType, and VideoWidth. If the GetStreamFormat method is not successful, if the return value is False (0), then values of 5 or 11 will be set in the ErrorStatus property.

Before executing the GetStreamFormat method, you must first execute the Open and GetStreamFormats methods.


GetStreamFormats (Record Control/ Custom Method)

This method retrieves the format function set.

[Visual Basic] [ Long = ]recordcontrolname.GetStreamFormats
[Visual C++] [ long = ]recordcontrolname.GetStreamFormats()
[VB.NET] [ Integer = ]recordcontrolname.GetStreamFormats()
[C#.NET] [ int = ]recordcontrolname.GetStreamFormats()

Parameters

None

Return Value

Returns the number of retrieved format sets.

Explanation

The GetStreamFormats method retrieves the format function set.

When the GetStreamFormats method is successful, return value of 1 or more, then by executing the GetStreamFormat method, you can retrieve the output size and other format information.

When the GetStreamFormats method is unsuccessful, return value of 0, then values of 2 or 11 will be set in the ErrorStatus property.

Before executing the GetStreamFormats method, you must first execute the Open method


GetVideoDevices (Record Control/ Custom Method)

This method retrieves the video device names.

[Visual Basic] [ Long = ]recordcontrolname.GetVideoDevices
[Visual C++] [ long = ]recordcontrolname.GetVideoDevices()
[VB.NET] [ Integer = ]recordcontrolname.GetVideoDevices()
[C#.NET] [ int = ]recordcontrolname.GetVideoDevices()

Parameters

None

Return Value

Returns the number of retrieved names

Explanation

The GetVideoDevices method retrieves the video device names.

When the GetVideoDevices method is successful, return value of 1 or more, then the video device names will be set in the VideoDevices property. If multiple video devices are retrieved, the string will be delimited by commas, i.e. "XXX,XXX,XXX,....." When only one video device is retrieved, the string will not contain a comma.

When the GetVideoDevices method is unsuccessful, return value of 0, then values of 201 or 202 will be set in the ErrorStatus property.


Open (Record Control/ Custom Method)

This method connects to the Web(USB) camera in capture mode.

[Visual Basic] [ Boolean = ]recordcontrolname.Open(FileName As String, Index As Long)
[Visual C++] [ BOOL = ]recordcontrolname.Open(LPCTSTR FileName, long Index)
[VB.NET] [ Boolean = ]recordcontrolname.Open(FileName As String, Index As Integer)
[C#.NET] [ bool = ]recordcontrolname.Open(string FileName, int Index)

Parameters

Name | Explanation
FileName | The name and path of the file where the video is saved.
Index | The Web(USB) camera index.

Return Value

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

Explanation

The Open method connects to the Web(USB) camera in capture mode.

Set the FileName parameter to specify the file where the captured video will be saved. The Format property determines whether the video will be saved in AVI or in WMV format. Set the Index parameter with the index of the video device you want to use as retrieved by the GetVideoDevices method. To use the first video device set this index to 0 (zero).

If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then values of 5, 11, 201, 202, or 203 will be set in the ErrorStatus property.

Important: You cannot use the preview (Preview Control) and the capture (Record Control) at the same time. To use the capture, be sure to first close the preview by executing the Preview Control's Close method to close the connection to the Web(USB) camera and then reopen the connection with the Record Control's Open method.


Pause (Record Control/ Custom Method)

This method pauses the video capture or restarts a video capture that has been paused.

[Visual Basic] [ Boolean = ]recordcontrolname.Pause
[Visual C++] [ BOOL = ]recordcontrolname.Pause()
[VB.NET] [ Boolean = ]recordcontrolname.Pause()
[C#.NET] [ bool = ]recordcontrolname.Pause()

Parameters

None

Return Value

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

Explanation

The Pause method pauses the capture that has been started with the Start method. If this method is executed when the capture is paused, the capture will restart.

If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then values of 2 or 11 will be set in the ErrorStatus property.


SetStreamFormat (Record Control/ Custom Method)

This method sets the format functions (output size, etc.)

[Visual Basic] [ Boolean = ]recordcontrolname.SetStreamFormat(Index As Long)
[Visual C++] [ BOOL = ]recordcontrolname.SetStreamFormat(long Index)
[VB.NET] [ Boolean = ]recordcontrolname.SetStreamFormat(Index As Integer)
[C#.NET] [ bool = ]recordcontrolname.SetStreamFormat(int Index)

Parameters

Name | Explanation
Index | The index (With a range from 0 to GetStreamFormats method's return value - 1)

Return Value

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

Explanation

The SetStreamFormat method sets the format functions. Use this method to change the capture's output size, etc.

It is possible to change capture's output size even if ShowCapturePinDialog method has been executed. If output size or other format settings are changed while the capture is running, those changes will not take effect. You will have to stop the capture (execute the Stop method) first and then change the settings.

When passing values into the Index parameter, values from 0 to GetStreamFormats method's return value - 1 will set that format's functions.

When the SetStreamFormat method's return value is True (nonzero), the following properties are updated: BitCount, Compression, VideoHeight, VideoSubType, and VideoWidth. When the return value is False (0), values of 2, 5, or 11 will be set in the ErrorStatus property.

Important: Before executing the SetStreamFormat method, you must first execute the Open method and the GetStreamFormats method.


ShowCapturePinDialog (Record Control/ Custom Method)

This method displays the Capture Pin dialog.

[Visual Basic] [ Boolean = ]recordcontrolname.ShowCapturePinDialog
[Visual C++] [ BOOL = ]recordcontrolname.ShowCapturePinDialog()
[VB.NET] [ Boolean = ]recordcontrolname.ShowCapturePinDialog()
[C#.NET] [ bool = ]recordcontrolname.ShowCapturePinDialog()

Parameters

None

Return Value

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

Explanation

The ShowCapturePinDialog method displays the Capture Pin dialog. To execute this method successfully, you must first execute the Open method and connect to a Web(USB) camera.

When the ShowCapturePinDialog method's return value is True (nonzero), the following properties are updated: BitCount, Compression, FrameRate, VideoHeight, VideoSubType, and VideoWidth. When the return value is False (0), values of 2, 11, or 202 will be set in the ErrorStatus property.

If output size or other format settings are changed while the capture is running, those changes will not take effect. You will have to stop the capture (execute the Stop method) first and then change the settings.


ShowFilterDialog (Record Control/ Custom Method)

This method displays the Filter dialog.

[Visual Basic] [ Boolean = ]recordcontrolname.ShowFilterDialog
[Visual C++] [ BOOL = ]recordcontrolname.ShowFilterDialog()
[VB.NET] [ Boolean = ]recordcontrolname.ShowFilterDialog()
[C#.NET] [ bool = ]recordcontrolname.ShowFilterDialog()

Parameters

None

Return Value

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

Explanation

The ShowFilterDialog method displays the Filter dialog. To execute this method successfully, you must first execute the Open method and connect to a Web(USB) camera.

When the ShowFilterDialog method's return value is False (0), values of 2, 11, or 202 will be set in the ErrorStatus property.


Start (Record Control/ Custom Method)

This method starts the video capture.

[Visual Basic] [ Boolean = ]recordcontrolname.Start(Mode As DisplayModeConstants)
[Visual C++] [ BOOL = ]recordcontrolname.Start(long Mode)
[VB.NET] [ Boolean = ]recordcontrolname.Start(Mode As ImageKit10WebCamera(A)Lib.DisplayModeConstants)
[C#.NET] [ bool = ]recordcontrolname.Start(ImageKit10WebCamera(A)Lib.DisplayModeConstants Mode)

* ImageKit10WebCameraALib refers to the ANSI version, ImageKit10WebCameraLib refers to the Unicode version.

Parameters

Name | Explanation
Mode | The display mode 0: Scale (The capture is scaled to the dimensions of the Record Control) 1: Stretch (The capture is stretched to fill the Record Control's dimensions) The following contants may also be used: (ikScale = 0, ikStretch = 1)

Return Value

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

Explanation

The Start method starts the video capture. The Mode parameter determines how the video will be displayed in the Record Control.

When the Start method returns True(nonzero), the State property is updated. If the return value is False (0), then values of 2 or 11 will be set in the ErrorStatus property.


Stop (Record Control/ Custom Method)

This method stops the video capture.

[Visual Basic] [ Boolean = ]recordcontrolname.Stop
[Visual C++] [ BOOL = ]recordcontrolname.Stop()
[VB.NET] [ Boolean = ]recordcontrolname.Stop()
[C#.NET] [ bool = ]recordcontrolname.Stop()

Parameters

None

Return Value

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

Explanation

The Stop method stops the video capture that was started with the Start method.

If the return value is True (nonzero), then the State property is updated. If the return value is False (0), then 11 will be set in the ErrorStatus property.


DLL Command Reference

The ImageKit includes a DLL version along with an ActiveX version. The major benefits of using the DLL version include the small footprint for applications built with the ImageKit DLL version and the fact that these applications do not require the ImageKit.OCX to be registered on the computer running the application.

The ImageKit DLL version contains most of the same functionality as the ActiveX version, however, there is no display control in the DLL version.

Before using the ImageKit DLL commands:
The application calling the DLL commands must include the procedure definitions of the ImageKit DLL functions.

Please refer to the corresponding header files in your development container

Container | Header FileName
C++Builder, Visual C++ | ImageKit10.h
Delphi | ImageKit10.pas
Visual Basic | ImageKit10.bas

Regarding earlier versions of the ImageKit

1) Converting programs from the ImageKit5

The name of the DLL functions has been changed from "IK5... to "IK... (The remaining part of the function name is unchanged). In addition to name changes, new parameters and return values have been added to many of the functions. Whenever possible, the changes to a particular function have been noted under the heading "Differences from the ImageKit5"

Note: The following Ik5Effect.dll functions have been moved to the Ik10Com.dll / Ik10ComA.dll / Ik10Com64.dll / Ik10Com64A.dll: IK5ClearClipBrd, IK5CopyImage, IK5CreateImage, IK5GetFromClipBrd, IK5IsClipBrd, IK5SetToClipBrd

2) Converting programs from the ImageKit6

Although the name conventions and structures are essentially the same, some member variables may have been added. Likewise although the function name has not changed, new parameters and return values have been added. Whenever possible, the changes to a particular function have been noted under the heading "Differences from the ImageKit6" written on the relevant help pages.

Note: The following Ik6Com.dll functions have been moved to the Ik10VectCom.dll / Ik10VectComA.dll /Ik10VectCom64.dll / Ik10VectCom64A.dll : IKCreateVectImage, IKCreateVectImageEx, IKDrawVectObject, IKVectToDib. Also the ImageKit6 IKVectToDib function has been renamed to IKVectorToRaster.

3) Converting programs from the ImageKit7

The structure has not changed from the ImageKit7 to the ImageKit9 but members have been added and in the Unicode versions, string types have changed. These changes are noted on the relevant help pages under the heading, "Differences from the ImageKit7"

3) Converting programs from the ImageKit8

The structure has not changed from the ImageKit8 to the ImageKit9 but members have been added and in the Unicode versions, string types have changed. These changes are noted on the relevant help pages under the heading, "Differences from the ImageKit8"

4) Converting programs from the ImageKit9

In some structures, member variables have been added. For the changes, there is a brief explanation starting with the heading "Differences from ImageKit9".

Please refer to Ik10Com.dll | Ik10Effect.dll | Ik10File.dll | Ik10Print.dll | Ik10RasToVect.dll | Ik10Scan.dll | Ik10VectCom.dll

The abbreviations, "IK5", "IK6", "IK7", "IK8", and "IK9", "Ik10" refer to the ImageKit5, ImageKit6, ImageKit7 ActiveX, ImageKit8 ActiveX, ImageKit9 ActiveX, and ImageKit10 ActiveX respectively.


Ik10Com.dll, Ik10ComA.dll, Ik10Com64.dll, and Ik10Com64A.dll

The Ik10Com.dll, Ik10ComA.dll, Ik10Com64.dll, and Ik10Com64A.dll provides basic functions various versions of the ImageKit10.

The Ik10Com.dll corresponds to the 32 bit Unicode version.
The Ik10ComA.dll corresponds to the 32 bit ANSI version.
The Ik10Com64.dll corresponds to the 64 bit Unicode version.
The Ik10Com64A.dll corresponds to the 64 bit ANSI version.

The discussion below will use "Ik10Com.dll" to refer to all 4 of these version dlls unless specifically noted.

Ik10Com.dll Functions:

Function Name | Explanation
IKBitBlt | Performs a bit-block transfer of the color data corresponding to a rectangle of pixels from the specified source device context into a destination device context
IKBitmapFromDib | Converts the image data from a Device Independent Bitmap (DIB) to a Device Dependent Bitmap (DDB)
IKClearClipBrd | Clears the clipboard
IKCopyImage | Makes an identical copy of a raster image or a vector image in the memory
IKCreateImage | Creates a new raster image
IKDeleteBitmapObject | Deletes the Bitmap object
IKDibFromBitmap | Converts a Device Dependent Bitmap to a Device Independent Bitmap
IKFreeMemory | Frees image data from the memory
IKGetDpi | Retrieves the value of resolution property of an image (Integer)
IKGetDpiF | Retrieves the value of resolution property of an image (Float)
IKGetDpiFromHdc | Retrieves the resolution from the device context
IKGetErrorStatus | Retrieves the error reference number
IKGetFromClipBrd | Retrieves the raster image or the vector image from the clipboard
IKGetImageType | Retrieves various image information
IKGetMemorySize | Retrieves the size of the memory used by the image
IKGetOneBitPalCount | Retrieves the number of 0 pixels and 1 pixels from a 1 bit color image
IKGetPalette | Retrieves the palette information for a raster image
IKGetSystemPalette | Retrieves the system palette from the current PC
IKIsClipBrdData | Checks whether or not there is clipboard data
IKResizeRefine1BitImage | Resizes a 1-bit image and displays it in high quality display
IKSetDpi | Sets a new value in the resolution property of an image (Integer)
IKSetDpiF | Sets a new value in the resolution property of an image (Float)
IKSetPalette | Sets the palette information for the raster image
IKSetToClipBrd | Copies a raster image or a vector image to the clipboard
IKStretchBlt | Copies a bitmap from a source rectangle into a destination rectangle, stretching or compressing the bitmap to fit the dimensions of the destination rectangle, if necessary

Structure definiton and explanation (User-defined types)

IKIMAGE_INFO: refers to the image information retrieved by the IKGetImageType function

(1)C++Builder/Visual C++
typedef struct {
short BitCount;
short PalCount;
short Mask1632;
long Xdpi;
long Ydpi;
long Width;
long Height;
long WidthByte;
BOOL Gray;
long ImageSize;
short ImageType;
} IKIMAGE_INFO;
typedef IKIMAGE_INFO * PTR_IKIMAGE_INFO;

(2)Delphi
type
IKIMAGE_INFO = Record
BitCount: Smallint;
PalCount: Smallint;
Mask1632: Smallint;
Xdpi: Longint;
Ydpi: Longint;
Width: Longint;
Height: Longint;
WidthByte: Longint;
Gray: LongBool;
ImageSize: Longint;
ImageType: Smallint;
end;

(3)Visual Basic
Type IKIMAGE_INFO
BitCount As Integer
PalCount As Integer
Mask1632 As Integer
Xdpi As Long
Ydpi As Long
Width As Long
Height As Long
WidthByte As Long
Gray As Long
ImageSize As Long
ImageType As Integer
End Type

BitCount
The number of bits per pixel in the image. (Cannot be used with vector images).
1: 2 colors (i.e. Black and White), 4: 16 colors, 8: 256 colors, 16: 16-bit color, 24: 24-bit color, 32: 32-bit color
PalCount
Refers to the number of palette colors for the image. (Cannot be used with vector images)
This is valid when the BitCount is less than 8, otherwise 0 is returned.
Mask1632:
Refers to the type of mask data in a 16-bit color or 32-bit color image. (Cannot be used with vector images)
0: The BitCount is not 16 bit or 32 bit
1: Mask data exists (RGB555 format)
2: Mask data exists (RGB565 format)
3: Mask data does not exist (RGB555 format)
4: Mask data exists (RGB888 format)
5: Mask data does not exist (RGB888 format)
Xdpi
Refers to the number of pixels in one horizontal inch of an image
Ydpi
Refers to the number of pixels in one vertical inch of an image
Width
Refers to the width of the image in pixels
Height
Refers to the height of the image in pixels
WidthByte
Refers to the number of bytes per line in the image. (Cannot be used with vector images)
Gray
Refers to whether or not the image is grayscale.
True (nonzero): Grayscale, False(0): Not grayscale. (Cannot be used with vector images)
ImageSize
Refers to the size of the image in bytes
ImageType
Refers to the image type.
0: Unknown, 1: Raster image, 2: WMF, 3: EMF, 4: DXF, 5: SVG, 6: SXF

IKIMAGE_INFO is the successor of the ImageKit5's IK5IMAGE_INFO, however ImageType have been added.

User Function Definition
In Visual Basic, create the User Function using a standard module NOT a form module.

Syntax
(1)C++Builder/Visual C++ BOOL __stdcall UserProc(short Percent);
(2)Delphi function UserProc(Percent: Smallint): LongBool; stdcall;
(3)Visual Basic Function UserProc(ByVal Percent As Integer) As Long

Parameters
Name Explanation

------------------------------------------------------------------------------

Percent The percent of the current process that is completed

Return Value
When False (0) is returned the execution is terminated. When True (nonzero) is returned the execution continues.

The User Function is explained using the term "UserProc". Although any name for the User Function would be appropriate, in our example the following syntax is used to pass parameters.

(1)C++Builder/Visual C++ UserProc
(2)Delphi LONG_PTR(Addr(UserProc)) or LONG_PTR(@UserProc)
(3)Visual Basic Address Of UserProc


IKBitBlt

This function performs a bit-block transfer of the color data corresponding to a rectangle of pixels from the specified source device context into a destination device context.

[C++Builder/Visual C++] BOOL IKBitBlt(HDC hDCDst, long XDst, long YDst, long Width, long Height, HDC hDCSrc, long XSrc, long YSrc, DWORD dwRop);
[Delphi] function IKBitBlt(hDCDst: HDC; XDst, YDst, Width, Height: Longint; hDCSrc: HDC; XSrc, YSrc: Longint; dwRop: DWORD): LongBool;
[Visual Basic] Function IKBitBlt(ByVal hDCDst As Long, ByVal XDst As Long, ByVal YDst As Long, ByVal Width As Long, ByVal Height As Long, ByVal hDCSrc As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal dwRop As Long) As Long

Parameters

Name | Explanation
hDCDst | handle to destination device context
XDst | x-coordinate of destination upper-left corner (in pixels)
YDst | y-coordinate of destination upper-left corner (in pixels)
Width | width of destination rectangle (in pixels)
Height | height of destination rectangle (in pixels)
hDCSrc | handle to source device context
XSrc | x-coordinate of source upper-left corner (in pixels)
YSrc | y-coordinate of source upper-left corner (in pixels)
dwRop | raster operation code

Return Value

Returns True (nonzero) if successful, returns False (0) when unsuccessful

Explanation

The following list shows the raster operation codes.

Value | Explanation
0x00000042 | Fills the destination rectangle using the color associated with index 0 in the physical palette. (This color is black for the default physical palette.)(BLACKNESS)
0x00550009 | Inverts the destination rectangle.(DSTINVERT)
0x00C000CA | Merges the colors of the source rectangle with the brush currently selected in hdcDest, by using the Boolean AND operator.(MERGECOPY)
0x00BB0226 | Merges the colors of the inverted source rectangle with the colors of the destination rectangle by using the Boolean OR operator.(MERGEPAINT)
0x00330008 | Copies the inverted source rectangle to the destination.(NOTSRCCOPY)
0x001100A6 | Combines the colors of the source and destination rectangles by using the Boolean OR operator and then inverts the resultant color.(NOTSRCERASE)
0x00F00021 | Copies the brush currently selected in hdcDest, into the destination bitmap.(PATCOPY)
0x005A0049 | Combines the colors of the brush currently selected in hdcDest, with the colors of the destination rectangle by using the Boolean XOR operator.(PATINVERT)
0x00FB0A09 | Combines the colors of the brush currently selected in hdcDest, with the colors of the inverted source rectangle by using the Boolean OR operator. The result of this operation is combined with the colors of the destination rectangle by using the Boolean OR operator.(PATPAINT)
0x008800C6 | Combines the colors of the source and destination rectangles by using the Boolean AND operator.(SRCAND)
0x00CC0020 | Copies the source rectangle directly to the destination rectangle.(SRCCOPY)
0x00440328 | Combines the inverted colors of the destination rectangle with the colors of the source rectangle by using the Boolean AND operator.(SRCERASE)
0x00660046 | Combines the colors of the source and destination rectangles by using the Boolean XOR operator.(SRCINVERT)
0x00EE0086 | Combines the colors of the source and destination rectangles by using the Boolean OR operator.(SRCPAINT)
0x00FF0062 | Fills the destination rectangle using the color associated with index 1 in the physical palette. (This color is white for the default physical palette.)(WHITENESS)

The above hexidecimal notation uses Delphi's 0x. In Visual Basic, replace this with &H. The terms within the parentheses () refer to the Windows API operation.


IKBitmapFromDib

This function converts the image data from a Device Independent Bitmap(DIB) to a Device Dependent Bitmap (DDB).

[C++Builder/Visual C++] HBITMAP IKBitmapFromDib(HANDLE Handle);
[Delphi] function IKBitmapFromDib(Handle: THandle): HBitmap;
[Visual Basic] Function IKBitmapFromDib(ByVal Handle As Long) As Long

Parameters

Name | Explanation
Handle | The image handle of the raster image

Return Value

Returns the Bitmap handle if successful, otherwise returns 0 or null.

Explanation

The IKBitmapFromDib function converts the image data from a Device Independent Bitmap(DIB) to a Device Dependent Bitmap (DDB). This function can be used to pass an image to C++Builder and Delphi TBitmap.

Note the image data passed by the Handle parameter is NOT freed after this function is executed.

Delphi:

{Set a raster image in TBitmap}

var

Bitmap1: TBitmap;

ImageHandle: THandle;

begin

ImageHandle := IKFileLoad('C:\Png\001.png', 0, 0, 0, 0, nil, nil, nil);

Bitmap1 := TBitmap.Create;

try

Bitmap1.Handle := IKBitmapFromDib(ImageHandle);

{Image Processing}

finally

Bitmap1.Free;

IKFreeMemory(ImageHandle);

end;

end;


IKClearClipBrd

This function clears the clipboard.

[C++Builder/Visual C++] void IKClearClipBrd(HWND hWnd);
[Delphi] procedure IKClearClipBrd(hWnd: HWND);
[Visual Basic] Sub IKClearClipBrd(ByVal hWnd As Long)

Parameters

Name | Explanation
hWnd | The window handle of the calling function

Return Value

None

Explanation

The IKClearClipBrd function clears the clipboard.


IKCopyImage

This function makes an identical copy of a raster or vector image in the memory into another memory.

[C++Builder/Visual C++] HANDLE IKCopyImage(HANDLE Handle);
[Delphi] function IKCopyImage(Handle: THandle): THandle;
[Visual Basic] Function IKCopyImage(ByVal Handle As Long) As Long

Parameters

Name | Explanation
Handle | The image handle of the image data to be copied (For raster images, supports 1, 4, 8, 16, 24, 32, or 48 bit image)

Return Value

If successful, this function returns the image handle of the new (copied) raster image or vector image otherwise it returns 0

Explanation

The IKCopyImage function makes an identical copy of a raster or vector image in the memory into another memory. After this function is executed, the original image remains in the memory. Note: 48-bit color image is used when a 36, 42, or 48 bit color image is retrieved from a scan device using Ik10Scan.dll, Ik10ScanA.dll, Ik10Scan64.dll, or Ik10Scan64A.dll and copied.

Note: If a vector image is set in the Handle parameter, the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll must also be used.

Differences between the ImageKit6

The UserProc, Caption, Message, and Button parameters have been deleted.


IKCreateImage

This function creates a new raster image.

[C++Builder/Visual C++] HANDLE IKCreateImage(long Width, long Height, short BitCount, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKCreateImage(Width, Height: Longint; BitCount: Smallint; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKCreateImage(ByVal Width As Long, ByVal Height As Long, ByVal BitCount As Integer, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Width | The width of the created image in pixels
Height | The height of the created image in pixels
BitCount | The bit count of the created image (1, 4, 8, 16, 24, 32, 40, 80) * 4 represents 4 bit color, 40 is for 4 bit grayscale, 8 is for 8 bit color, and 80 is for 8 bit grayscale
Red | The red value of the color in the created image ( from 0 to 255)
Green | The green value of the color in the created image ( from 0 to 255)
Blue | The blue value of the color in the created image ( from 0 to 255)
UserProc | The address of the user function (set to 0 if the user function is not used)
Caption | The text displayed in the title bar of the progress dialog box
Message | The message displayed in the center of the progress dialog box
Button | The text displayed in the button in the progress dialog box

Return Value

If successful, the image handle of the created raster image is returned. If unsuccessful, 0 is returned

Explanation

The IKCreateImage function creates a new raster image in the memory. Depending on the bit count of the created image, the RGB values set in the Red, Green, and Blue parameters may not be effective. In such cases, the nearest values will be assigned. (For images with bit counts higher than 24, the RGB values are effective as they are.)

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user functions please refer to the Definition of User Function in the Ik10Com.dll, Ik10ComA.dll, Ik10Com64.dll, Ik10Com64A.dll section.


IKDeleteBitmapObject

This function deletes the Bitmap object.

[C++Builder/Visual C++] BOOL IKDeleteBitmapObject(HBITMAP hBm);
[Delphi] function IKDeleteBitmapObject(hBm: HBitmap): LongBool;
[Visual Basic] Function IKDeleteBitmapObject(ByVal hBm As Long) As Long

Parameters

Name | Explanation
hBm | The Bitmap handle

Return Value

Returns True (nonzero) if successful, returns False (0) if not successful

Explanation

The IKDeleteBitmapObject function deletes the Bitmap object. Use this function when the Bitmap handle retrieved by the IKBitmapFromDib function is no longer needed.


IKDibFromBitmap

This function converts a Device Dependent Bitmap to a Device Independent Bitmap.

[C++Builder/Visual C++] HANDLE IKDibFromBitmap(HBITMAP hBm, HPALETTE hPal);
[Delphi] function IKDibFromBitmap(hBm: HBitmap; hPal: HPalette): THandle;
[Visual Basic] Function IKDibFromBitmap(ByVal hBm As Long, ByVal hPal As Long) As Long

Parameters

Name | Explanation
hBm | The bitmap handle
hPal | The bitmap palette (0 if there is no palette)

Return Value

Returns the raster image handle if successful, otherwise returns 0 or NULL

Explanation

The IKBitmapFromDib function converts a Device Dependent Bitmap to a Device Independent Bitmap. If successful, the raster image handle will be returned. This function can be used to retrieve an image from C++Builder/Delhi TBitmap or VisualBasic PictureBox. Note: The hBm parameter is not freed after executing this function.

Delphi:

{Retrieve a raster image from TBitmap}

var

Bitmap1: TBitmap;

ImageHandle: THandle;

begin

Bitmap1 := TBitmap.Create;

try

Bitmap1.LoadFromFile('C:\Bmp\001.bmp');

{Image Processing 1}

ImageHandle := IKDibFromBitmap(Bitmap1.Handle, Bitmap1.Palette);

{Image Processing 2}

finally

Bitmap1.Free;

end;

end;

Visual Basic:

' Retrieve a raster image from a PictureBox

Dim ImageHandle As Long

Set Picture1.Picture = LoadPicture("C:\Bmp\001.bmp")

' Image Processing 1

ImageHandle = IKDibFromBitmap(Picture1.Picture.Handle, Picture1.Picture.hPal)

' Image Processing 2


IKFreeMemory

This function frees the image data from the memory.

[C++Builder/Visual C++] BOOL IKFreeMemory(HANDLE Handle);
[Delphi] function IKFreeMemory(Handle: THandle): LongBool;
[Visual Basic] Function IKFreeMemory(ByVal Handle As Long) As Long

Parameters

Name | Explanation
Handle | The image handle of the image data to be freed (supports raster, vector, and Raw image data)

Return Value

Returns True (nonzero) if successful, returns False (0) if not successful

Explanation

The IKFreeMemory function frees the image data from the memory. There are no constraints on the memory size that can be freed with this function. Please use it to free resources whenever image data is no longer needed. To be certain that you do not free the memory twice, be sure to set the Handle parameter to 0 after executing this function.

In Visual Basic:

IKFreeMemory(Handle)

Handle = 0

Note: If a vector image is set in the Handle parameter, the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll must also be used.


IKGetDpi

This function retrieves the value of resolution property of an image.

[C++Builder/Visual C++] BOOL IKGetDpi(HANDLE Handle, long *Xdpi, long *Ydpi);
[Delphi] function IKGetDpi(Handle: THandle; var Xdpi, Ydpi: Longint): LongBool;
[Visual Basic] Function IKGetDpi(ByVal Handle As Long, Xdpi As Long, Ydpi As Long) As Long

Parameters

Name | Explanation
Handle | The image handle of the raster image.
Xdpi | The horizontal resolution value. (The number of pixels in one horizontal inch)
Ydpi | The vertical resolution value. (The number of pixels in one vertical inch)

Return Value

Returns True (nonzero) if successful, returns False (0) if not successful

Explanation

The IKGetDpi function retrieves the value of resolution property of an image. If successful, the horizontal and vertical resolution values are returned in the Xdpi and Ydpi parameters. It should be noted that this is not the resolution of the image but rather it is the value set in the image's resolution property. The creator of the image can set any value in this property.


IKGetDpiF

This function retrieves the value of resolution property of an image. (Float value)

[C++Builder/Visual C++] BOOL IKGetDpiF(HANDLE Handle, float *Xdpi, float *Ydpi);
[Delphi] function IKGetDpiF(Handle: THandle; var Xdpi, Ydpi: Single): LongBool;
[Visual Basic] Function IKGetDpiF(ByVal Handle As Long, Xdpi As Single, Ydpi As Single) As Long

Parameters

Name | Explanation
Handle | The image handle of the raster image
Xdpi | The horizontal resolution value. (The number of pixels in one horizontal inch)
Ydpi | The vertical resolution value. (The number of pixels in one vertical inch)

Return Value

Returns True (nonzero) if successful, returns False (0) if not successful

Explanation

The IKGetDpiF function retrieves the value of resolution property of an image. The resolution value is a float type value. If successful, the horizontal and vertical resolution values are returned in the Xdpi and Ydpi parameters. It should be noted that this is not the resolution of the image but rather it is the value set in the image's resolution property. The creator of the image can set any value in this property.


IKGetDpiFromHdc

This function retrieves the resolution from the screen or printer device context.

[C++Builder/Visual C++] BOOL IKGetDpiFromHdc(HDC hDC, long *Xdpi, long *Ydpi);
[Delphi] function IKGetDpiFromHdc(hDC: HDC; var Xdpi, Ydpi: Longint): LongBool;
[Visual Basic] Function IKGetDpiFromHdc(ByVal hDC As Long, Xdpi As Long, Ydpi As Long) As Long

Parameters

Name | Explanation
hDC | The Device Context
Xdpi | The horizontal resolution value. (The number of pixels in one horizontal inch)
Ydpi | The vertical resolution value. (The number of pixels in one vertical inch)

Return Value

Returns True (nonzero) if successful, returns False (0) if not successful

Explanation

The IKGetDpiFromHdc method retrieves the resolution from the screen or printer device context. If successful, the horizontal and vertical resolution values are returned in the Xdpi and Ydpi parameters.


IKGetErrorStatus

This function retrieves the error reference number.

[C++Builder/Visual C++] int IKGetErrorStatus(void);
[Delphi] function IKGetErrorStatus: Integer;
[Visual Basic] Function IKGetErrorStatus() As Long

Parameters

None

Return Value

Value | Explanation
0 | No error has occurred
1 | The process was canceled
2 | An unspecified error has occurred
3 | A memory error has occurred
4 | This function is not supported
5 | An incorrect value has been set
6 | The file is incorrect or corrupted
7 | The image is incorrect or corrupted
8 | Twain_32.dll can not load
9 | An error has occurred while drawing on or displaying an image
10 | That image format is not supported
11 | The order of execution is incorrect
12 | There is no paper in the ADF (UI suppressed only)
13 | There are no images in the digital camera (UI suppressed only)
14 | The DLL is not loaded
15 | Transmission error
16 | Cannot find file
17 | The file is corrupted
18 | A timeout has occurred. The process has been cancelled
19 | The username and/or password is incorrect. Access denied.
20 | Cannot open file
21 | Cannot create file
22 | Cannot save file
23 | Cannot load file
24 | There is no image data to display
25 | PDF Password error
101 | There is no entry point for the Twain_32.dll
102 | The data source manager and the data source haven't been opened or can't be opened.
103 | There is no data source
104 | The data source is already connected to the maximum number of applications
105 | An error has occurred in the data source or in the data source manager
106 | An unconfirmed triplet has occurred (TWAIN - DG_XXX/DAT_XXX/MSG_XXX)
107 | Check the scan device's operating status
108 | Paper is jammed in the feeder
109 | Multiple sheets of paper have been fed into the feeder
110 | The resolution is incorrect
111 | The cover is open
112 | The corner of the original is folded over
113 | A focus error occurred when capturing the original
114 | The original is too bright
115 | The original is too dark
116 | Unable to transfer because image information cannot be retrieved

Explanation

The IKGetErrorStatus function retrieves the error reference number for an error that occurs when using an ImageKit10 DLL command.

Note: Error 13 is for digital cameras whose TWAIN drivers support TWAIN version 1.7 and up. Errors 108 and 109 are for TWAIN drivers that support TWAIN version 1.8 and up.

Errors 111 through 115 are for TWAIN drivres that support TWAIN version 2.0

Error 116 is for TWAIN drivers that support TWAIN version 2.1


IKGetFromClipBrd

This function retrieves the raster and vector image from the clipboard.

[C++Builder/Visual C++] HANDLE IKGetFromClipBrd(HWND hWnd, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKGetFromClipBrd(hWnd: HWND; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKGetFromClipBrd(ByVal hWnd As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
hWnd | The window handle of the calling function
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

If successful, the image handle of the created raster or vector image is returned. If unsuccessful, 0 is returned.

Explanation

The IKGetFromClipBrd function retrieves the raster and vector image from the clipboard. If the retrieved image is a vector image, it will be treated as an EMF image.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user functions please refer to the Definition of User Function in the Ik10Com.dll, Ik10ComA.dll, Ik10Com64.dll, Ik10Com64A.dll section.


IKGetImageType

This function retrieves various image information.

[C++Builder/Visual C++] BOOL IKGetImageType(HANDLE Handle, PTR_IKIMAGE_INFO ImageInfo);
[Delphi] function IKGetImageType(Handle: THandle; var ImageInfo: IKIMAGE_INFO): LongBool;
[Visual Basic] Function IKGetImageType(ByVal Handle As Long, ImageInfo As IKIMAGE_INFO) As Long

Parameters

Name | Explanation
Handle | The image handle (supports raster and vector image data)
ImageInfo | The structure (user-defined type) parameter containing the retrieved information

Return Value

Returns True (nonzero) if successful, returns False (0) if not successful

Explanation

The IKGetImageType function retrieves various image information. If successful, the image information is set into the ImageInfo parameter. Regarding IKIMAGE_INFO, please refer to the explanation for the IKIMAGE_INFO member variables in the Ik10Com.dll, Ik10ComA.dll, Ik10Com64.dll, Ik10Com64A.dll.

Note: The ImageKit10 ImageInfo structure is different from the ImageKit5. (IK6 and IK7 are the same)


IKGetMemorySize

This function retrieves the size of the memory used by the image.

[C++Builder/Visual C++] DWORD IKGetMemorySize(HANDLE Handle);
[Delphi] function IKGetMemorySize(Handle: THandle): DWORD;
[Visual Basic] Function IKGetMemorySize(ByVal Handle As Long) As Long

Parameters

Name | Explanation
Handle | The image handle (supports raster, vector, and Raw image data)

Return Value

The IKGetMemorySize function retrieves the size of the memory used by the image (in bytes). If unsuccessful, 0 is returned.

Explanation

The IKGetMemorySize function retrieves the size of the memory used by the image.


IKGetOneBitPalCount

This function retrieves the number of 0 pixels and 1 pixels from a 1 bit color image palette.

[C++Builder/Visual C++] BOOL IKGetOneBitPalCount(HANDLE Handle, long *Pal0, long *Pal1);
[Delphi] function IKGetOneBitPalCount(Handle: THandle; var Pal0, Pal1: Longint): LongBool;
[Visual Basic] Function IKGetOneBitPalCount (ByVal Handle As Long, Pal0As Long, Pal1As Long) As Long

Parameters

Name | Explanation
Handle | The raster image handle
Pal0 | The number of 0 pixels retrieved from a 1 bit color image palette
Pal1 | The number of 1 pixels retrieved from a 1 bit color image palette

Return Value

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

Explanation

The IKGetOneBitPalCount function retrieves the number of 0 pixels and 1 pixels from a 1 bit color image palette. In other words, this function tells you how many pixels are black and how many are white in a black and white image. The image data referred to by the Handle parameter must be 1 bit color. If successful, the number of pixels is set into the Pal0 and Pal1 parameters. To retrieve palette color information, please refer to the IKGetPalette function.


IKGetPalette

This function retrieves the palette information for a raster image.

[C++Builder/Visual C++] BOOL IKGetPalette(HANDLE Handle, short *Red, short *Green, short *Blue);
[Delphi] function IKGetPalette(Handle: THandle; var Red, Green, Blue: Smallint): LongBool;
[Visual Basic] Function IKGetPalette(ByVal Handle As Long, Red As Integer, Green As Integer, Blue As Integer) As Long

Parameters

Name | Explanation
Handle | The raster image handle
Red | Array of the retrieved red palette information
Green | Array of the retrieved green palette information
Blue | Array of the retrieved blue palette information (1) C++Builder/Visual C++ assigns the first pointer of the array (2) Delphi the style of the argument is Red[0] (3) Visual Basic the style of the argument is Red(0)

Return Value

Returns True (nonzero) if successful, returns False (0) if not successful

Explanation

The IKGetPalette function retrieves the palette information for a raster image. The various RGB number arrays taken from the palette information become the value in the PalCount member variable of IKIMAGE_INFO. To retrieve the PalCount, please refer to the IKGetImageType function. Regarding IKIMAGE_INFO, please refer to the explanation for the IKIMAGE_INFO member variables in the Ik10Com.dll, Ik10ComA.dll, Ik10Com64.dll, Ik10Com64A.dll.


IKGetSystemPalette

This function retrieves the system palette from the current PC.

[C++Builder/Visual C++] int IKGetSystemPalette(void);
[Delphi] function IKGetSystemPalette: Integer;
[Visual Basic] Function IKGetSystemPalette() As Long

Parameters

None

Return Value

Explanation
The system palette from the current PC
2: 2 color (1 bit color)
16: 16 color (4 bit color)
256: 256 color (8 bit color)
0: 16 bit color, 24 bit color, or 32 bit color

Explanation

The IKGetSystemPalette function retrieves the system palette from the current PC.


IKIsClipBrdData

This function checks whether or not there is clipboard data

[C++Builder/Visual C++] BOOL IKIsClipBrdData(HWND hWnd);
[Delphi] function IKIsClipBrdData(hWnd: HWND): LongBool;
[Visual Basic] Function IKIsClipBrdData(ByVal hWnd As Long) As Long

Parameters

Name | Explanation
hWnd | The window handle of the calling function

Return Value

Returns True (nonzero) if there is clipboard data, otherwise returns False (0)

Explanation

The IKIsClipBrdData function checks whether or not there is clipboard data.


IKResizeRefine1BitImage

This function resizes a 1-bit image and displays it in high quality (8 bit grayscale).

[C++Builder/Visual C++] HANDLE IKResizeRefine1BitImage(HANDLE Handle, long Width, long Height);
[Delphi] function IKResizeRefine1BitImage(Handle: THandle; Width, Height: Longint): THandle;
[Visual Basic] Function IKResizeRefine1BitImage(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long) As Long

Parameters

Name | Explanation
Handle | The image handle of the raster image.
Width | The width of the resized image in pixels
Height | The height of the resized image in pixels

Return Value

If successful, the image handle of the created raster image is returned. If unsuccessful, 0 is returned

Explanation

The IKResizeRefine1BitImage function resizes a 1 bit image and displays it in high quality (8 bit grayscale). Note: The image data referred to by the Handle parameter is not freed after this function is executed.


IKSetDpi

This function sets a new value in the resolution property of an image.

[C++Builder/Visual C++] BOOL IKSetDpi(HANDLE Handle, long Xdpi, long Ydpi);
[Delphi] function IKSetDpi(Handle: THandle; Xdpi, Ydpi: Longint): LongBool;
[Visual Basic] Function IKSetDpi(ByVal Handle As Long, ByVal Xdpi As Long, ByVal Ydpi As Long) As Long

Parameters

Name | Explanation
Handle | The image handle of the raster image.
Xdpi | The horizontal resolution value. (The number of pixels in one horizontal inch)
Ydpi | The vertical resolution value. (The number of pixels in one vertical inch)

Return Value

Returns True (nonzero) if successful, returns False (0) if not successful

Explanation

The IKSetDpi function sets a new value in the resolution property of an image. If successful, the horizontal and vertical resolution values in the Xdpi and Ydpi parameters are set in the image's resolution property. It should be noted that this does not set the resolution of the image but rather it sets the value of the image's resolution property.


IKSetDpiF

This function sets a new value in the resolution property of an image. (Float)

[C++Builder/Visual C++] BOOL IKSetDpiF(HANDLE Handle, float Xdpi, float Ydpi);
[Delphi] function IKSetDpiF(Handle: THandle; Xdpi, Ydpi: Single): LongBool;
[Visual Basic] Function IKSetDpiF(ByVal Handle As Long, ByVal Xdpi As Single, ByVal Ydpi As Single) As Long

Parameters

Name | Explanation
Handle | The image handle of the raster image.
Xdpi | The horizontal resolution value. (The number of pixels in one horizontal inch)
Ydpi | The vertical resolution value. (The number of pixels in one vertical inch)

Return Value

Returns True (nonzero) if successful, returns False (0) if not successful

Explanation

The IKSetDpiF function sets a new value in the resolution property of an image. The value is a float type. If successful, the horizontal and vertical resolution values in the Xdpi and Ydpi parameters are set in the image's resolution property. It should be noted that this does not set the resolution of the image but rather it sets the value of the image's resolution property.


IKSetPalette

This function sets the palette information for a raster image.

[C++Builder/Visual C++] BOOL IKSetPalette(HANDLE Handle, short *Red, short *Green, short *Blue);
[Delphi] function IKSetPalette(Handle: THandle; var Red, Green, Blue: Smallint): LongBool;
[Visual Basic] Function IKSetPalette(ByVal Handle As Long, Red As Integer, Green As Integer, Blue As Integer) As Long

Parameters

Name | Explanation
Handle | The raster image handle
Red | Array of the retrieved red palette information
Green | Array of the retrieved green palette information
Blue | Array of the retrieved blue palette information (1) C++Builder/Visual C++ assigns the first pointer of the array (2) Delphi the style of the argument is Red[0] (3) Visual Basic the style of the argument is Red(0)

Return Value

Returns True (nonzero) if successful, returns False (0) if not successful

Explanation

The IKSetPalette function sets the palette information for a raster image. The number of colors that can be set must be the same as the number of colors of the image. The various RGB number arrays taken from the palette information become the value in the PalCount member variable of IKIMAGE_INFO. To retrieve the PalCount, please refer to the IKGetImageType function. Regarding IKIMAGE_INFO, please refer to the explanation for the IKIMAGE_INFO member variables in the Ik10Com.dll, Ik10ComA.dll, Ik10Com64.dll, Ik10Com64A.dll.


IKSetToClipBrd

This function copies a raster and vector image to the clipboard.

[C++Builder/Visual C++] BOOL IKSetToClipBrd(HWND hWnd, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSetToClipBrd(hWnd: HWND; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKSetToClipBrd(ByVal hWnd As Long, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
hWnd | The window handle of the calling function
Handle | The image handle of the raster and vector image
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful, returns False (0) if not successful

Explanation

The IKSetToClipBrd function copies a raster and vector image to the clipboard. If the image is a vector image, it will be copied to the clipboard as an EMF image. Note that the image data referred to by the Handle parameter is NOT freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user functions please refer to the Definition of User Function in the Ik10Com.dll, Ik10ComA.dll, Ik10Com64.dll, Ik10Com64A.dll section.


IKStretchBlt

This function copies a bitmap from a source rectangle into a destination rectangle, stretching or compressing the bitmap to fit the dimensions of the destination rectangle, if necessary.

[C++Builder/Visual C++] BOOL IKStretchBlt(HDC hDCDst, long XDst, long YDst, long WidthDst, long HeightDst, HDC hDCSrc, long XSrc, long YSrc, long WidthSrc, long HeightSrc, DWORD dwRop);
[Delphi] function IKStretchBlt(hDCDst: HDC; XDst, YDst, WidthDst, HeightDst: Longint; hDCSrc: HDC; XSrc, YSrc, WidthSrc, HeightSrc: Longint; dwRop: DWORD): LongBool;
[Visual Basic] Function IKStretchBlt(ByVal hDCDst As Long, ByVal XDst As Long, ByVal YDst As Long, ByVal WidthDst As Long, ByVal HeightDst As Long, ByVal hDCSrc As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal WidthSrc As Long, ByVal HeightSrc As Long, ByVal dwRop As Long) As Long

Parameters

Name | Explanation
hDCDst | handle to destination DC
XDst | x-coord of destination upper-left corner
YDst | y-coord of destination upper-left corner
WidthDst | width of destination rectangle
HeightDst | height of destination rectangle
hDCSrc | handle to source DC
XSrc | x-coord of source upper-left corner
YSrc | y-coord of source upper-left corner
WidthSrc | width of source rectangle
HeightSrc | height of source rectangle
dwRop | raster operation code

Return Value

Returns True (nonzero) if successful, returns False (0) when unsuccessful

Explanation

The IKStretchBlt function copies a bitmap from a source rectangle into a destination rectangle, stretching or compressing the bitmap to fit the dimensions of the destination rectangle, if necessary.

The StretchBlt function creates a mirror image of a bitmap if the signs of the WidthSrc and WidthDest parameters or if the HeightSrc and HeightDest parameters differ. If WidthSrc and WidthDest have different signs, the function creates a mirror image of the bitmap along the x-axis. If HeightSrc and HeightDest have different signs, the function creates a mirror image of the bitmap along the y-axis.

The following list shows the raster operation codes.

Value | Explanation
0x00000042 | Fills the destination rectangle using the color associated with index 0 in the physical palette. (This color is black for the default physical palette.)(BLACKNESS)
0x00550009 | Inverts the destination rectangle.(DSTINVERT)
0x00C000CA | Merges the colors of the source rectangle with the brush currently selected in hdcDest, by using the Boolean AND operator.(MERGECOPY)
0x00BB0226 | Merges the colors of the inverted source rectangle with the colors of the destination rectangle by using the Boolean OR operator.(MERGEPAINT)
0x00330008 | Copies the inverted source rectangle to the destination.(NOTSRCCOPY)
0x001100A6 | Combines the colors of the source and destination rectangles by using the Boolean OR operator and then inverts the resultant color.(NOTSRCERASE)
0x00F00021 | Copies the brush currently selected in hdcDest, into the destination bitmap.(PATCOPY)
0x005A0049 | Combines the colors of the brush currently selected in hdcDest, with the colors of the destination rectangle by using the Boolean XOR operator.(PATINVERT)
0x00FB0A09 | Combines the colors of the brush currently selected in hdcDest, with the colors of the inverted source rectangle by using the Boolean OR operator. The result of this operation is combined with the colors of the destination rectangle by using the Boolean OR operator.(PATPAINT)
0x008800C6 | Combines the colors of the source and destination rectangles by using the Boolean AND operator.(SRCAND)
0x00CC0020 | Copies the source rectangle directly to the destination rectangle.(SRCCOPY)
0x00440328 | Combines the inverted colors of the destination rectangle with the colors of the source rectangle by using the Boolean AND operator.(SRCERASE)
0x00660046 | Combines the colors of the source and destination rectangles by using the Boolean XOR operator.(SRCINVERT)
0x00EE0086 | Combines the colors of the source and destination rectangles by using the Boolean OR operator.(SRCPAINT)
0x00FF0062 | Fills the destination rectangle using the color associated with index 1 in the physical palette. (This color is white for the default physical palette.)(WHITENESS)

The above hexidecimal notation uses Delphi's 0x. In Visual Basic, replace this with &H. The terms within the parentheses () refer to the Windows API operation.


Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, and Ik10Effect64A.dll

The Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, and Ik10Effect64A.dll provides functions for applying imaging effects

The Ik10Effect.dll corresponds to the 32 bit Unicode version.
The Ik10EffectA.dll corresponds to the 32 bit ANSI version.
The Ik10Effect64.dll corresponds to the 64 bit Unicode version.
The Ik10Effect64A.dll corresponds to the 64 bit ANSI version.

The discussion below will use "Ik10Effect.dll" to refer to all 4 of these version dlls unless specifically noted.

Regarding RGB and YCrCb color space: The conversion between the RGB and YCrCb color space is performed internally by the IkEffect.dll. The formula for this conversion is given below:

Where Y is the luminance component, CrCb is the chrominance component comprising of Cb which specifies blueness and Cr which specifies redness.

(1) From RGB to YCrCb
Y = (0.29900 * R) + (0.58700 * G) + (0.11400 * B)
Cr = (0.50000 * R) + (-0.41869 * G) + (-0.08131 * B) + 128
Cb = (-0.16874 * R) + (-0.33126 * G) + (0.50000 * B) + 128

(2) From YCrCb to RGB
R = Y + (1.402 * (Cr - 128))
G = Y - (0.34414 * (Cb - 128)) - (0.71414 * (Cr - 128))
B = Y + (1.772 * (Cb - 128))

Ik10Effect.dll Functions:

Function Name | Explanation
IKAffine | Performs image Affine changes
IKAntiAlias | Performs image anti-alias
IKAutoSelectImage | Uses a specified color (RGB value), and selects areas of the image that have that color.
IKAutoSelectImageEx | Uses a specified color (RGB value), and selects areas of the image that have that color. (For Delphi and C++Builder)
IKBlur | Blurs the image
IKCanvas | Produces a canvas effect on the image
IKCheckSecretImage | Retrieves the digital watermark from the image
IKChroma | Processes image chrominance
IKConvertColor | Increases or decreases the number of colors in an image
IKCustomFilter | Creates a user defined effect filter
IKCutRectImage | Allows a rectangular portion of an image to be copied without the use of a mask image
IKEmboss | Embosses the image
IKEndDibAccess | Ends DIB access
IKGetDibPixel | Retrieves the pixel values from the DIB
IKGlassTile | Produces an effect similar to glass tile on the image
IKLayer | Layers raster images together
IKLayerEx | Layers raster images together. (Allows alpha channel)
IKLens | Produces a lens-like effect on the image
IKMakeRGBAImage | Creates a 32-bit RGBA image from an image and an alpha channel
IKMosaic | Produces a mosaic on the image
IKMotionBlur | Produces a motion blur on the image
IKOilPaint | Produces an effect similar to an oil painting on the image
IKOutline | Produces an outline effect on the image
IKPanorama | Makes a panorama image from several images
IKPasteImage | Pastes raster image together
IKRedEyeRemoval | Removes Red Eyes from images
IKRemoveNoise | Processes noise reduction
IKResize | Increases or decreases the image size
IKResizeEx | Increases or decreases the image size. (For Delphi and C++Builder)
IKRGBGamma | Modifies RGB values using a Gamma function
IKRGBLevel | Increases and decreases RGB values
IKRGBRev | Reverses RGB values
IKRGBSpline | Modifies RGB values using a Spline function
IKRipple | Produces a ripple like effect on the image
IKRotation | Rotates the image
IKRotationEx | Rotates the image. (For Delphi and C++Builder)
IKSelectImage | Selects areas on the image for processing
IKSelectImageEx | Selects areas on the image for processing. (For Delphi and C++Builder)
IKSetDibPixel | Sets the DIB pixel values
IKSetGray | Changes color images to grayscale
IKSetSecretImage | Sets a digital watermark on the image
IKSharp | Changes the image sharpness
IKSplitRGBAImage | Splits a 32 bit RGBA image into a 24 bit RGB image and a 8 bit alpha channel
IKStartDibAccess | Begins DIB access
IKUnifyColor | Changes a range of color into a single color
IKWaves | Produces a wave-like effect on the image
IKWhirlPinch | Produces an effect similar to pinching the image then twisting your fingers
IKYCCGamma | Modifies image YCrCb values using a Gamma function
IKYCCLevel | Increases and decreases YCrCb values
IKYCCRev | Reverses YCrCb values
IKYCCSpline | Modifies YCrCb values using a Spline function

* Note: The ImageKit5 IK5Shade function has been renamed in the IKBlur function. (There is no change for the ImageKit6)

Structure definiton and explanation (User-defined types)

IKSELECT_IMAGE: This structure refers to images and mask images

(1)C++Builder/Visual C++
typedef struct {
HANDLE hImgBmh;
HANDLE hMskBmh;
} IKSELECT_IMAGE;
typedef IKSELECT_IMAGE * PTR_IKSELECT_IMAGE;

(2)Delphi
type
IKSELECT_IMAGE = Record
hImgBmh: STHandle;
hMskBmh STHandle;
end;

(3)Visual Basic
Type IKSELECT_IMAGE
hImgBmh As Long
hImgBmh As Long
End Type

A. Regarding the member variables of IKSELECT_IMAGE

hImgBmh:
This is the image handle of the image that is processed. (This argument must set with a valid image handle)
hMskBmh:
This is the image handle of the mask image that is used with the hImgBmh image. (Mask images determine which area of an image will be processed) When a mask image is not being used, set this member variable to 0 or NULL. A mask image must be a 1 bit black and white image. If image handles to other types of images are passed in this member variable, the function will return an error. The white area of the mask image determines the area on the image that is processed. The black area is the mask.

Note The images set in the hImgBmh and hMskBmh member variables must be the same height and width.

B. Regarding the return values of IKSELECT_IMAGE

hImgBmh:
This member variable returns the image handle of the resultant image. (The image created as a result of executing an IkEffect.dll function)
hMskBmh:
This member variable returns the image handle of the resultant mask image. (The mask image created as a result of executing an IkEffect.dll function)

IKDIB_INFO: This structure is used to access the Device Independent Bitmap (DIB)

(1)C++Builder/Visual C++
typedef struct {
BYTE Pal;
BYTE Red;
BYTE Green;
BYTE Blue;
char Reserved[128];
} IKDIB_INFO;
typedef IKDIB_INFO * PTR_IKDIB_INFO;

(2)Delphi
type
IKDIB_INFO = Record
Pal: Byte;
Red: Byte;
Green: Byte;
Blue: Byte;
Reserved: array[0..127] of AnsiChar;
end;

(3)Visual Basic
Type IKDIB_INFO
Pal As Byte
Red As Byte
Green As Byte
Blue As Byte
Reserved(0 To 127) As Byte
End Type

Pal:
The palette number
Red:
The RGB red value
Green:
The RGB green value
Blue:
The RGB blue value
Reserved:
A reserved area in the structure of 64 bytes(This is used internally by the ImageKit and should be ignored)

IKRECT: This structure refers to the coordinates of a rectangle, used by VisualBasic

Visual Basic
Type IKRECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

IKPOINT: This structure refers to x and y coordinates, used by VisualBasic

Visual Basic
Type IKPOINT
x As Long
y As Long
End Type

User Function Definition
In Visual Basic, create the User Function using a standard module NOT a form module.

Syntax
(1)C++Builder/Visual C++ BOOL __stdcall UserProc(short Percent);
(2)Delphi function UserProc(Percent: Smallint): LongBool; stdcall;
(3)Visual Basic Function UserProc(ByVal Percent As Integer) As Long

Parameters
Name Explanation

------------------------------------------------------------------------------

Percent The percent of the current process that is completed

Return Value
When False (0) is returned the execution is terminated. When True (nonzero) is returned the execution continues.

The User Function is explained using the term "UserProc". Although any name for the User Function would be appropriate, in our example the following syntax is used to pass parameters.

(1)C++Builder/Visual C++ UserProc
(2)Delphi LONG_PTR(Addr(UserProc)) or LONG_PTR(@UserProc)
(3)Visual Basic Address Of UserProc


IKAffine

This function corrects a warped raster image.

[C++Builder/Visual C++] HANDLE IKAffine(HANDLE Handle, int Px1, int Py1, int Px2, int Py2, int Px3, int Py3, int Px4, int Py4, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKAffine(Handle: THandle; Px1, Py1, Px2, Py2, Px3, Py3, Px4, Py4: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKAffine(ByVal Handle As Long, ByVal Px1 As Long, ByVal Py1 As Long, ByVal Px2 As Long, ByVal Py2 As Long, ByVal Px3 As Long, ByVal Py3 As Long, ByVal Px4 As Long, ByVal Py4 As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | The image handle of the raster image (Supports 1, 4, 8, 16, 24, and 32 bit images)
Px1 to Px4 | The x coordinates of the four points defining the area for Affine changes. (in pixels)
Py1 to Py4 | The y coordinates of the four points defining the area for Affine changes. (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the corrected image if successful. Returns False (0) if unsuccessful.

Explanation

The IKAffine function corrects a warped raster image.

(Px1,Py1), (Px2,Py2), (Px3,Py3), (Px4,Py4) are the points of the (irregular) quadrangle that surrounds the area of the image to be corrected. The corrected area is squared and scaled to fit into a regular rectangle. Note: the image handle of the original image data is NOT freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dll section.


IKAntiAlias

This function makes the edges of a raster image smooth.

[C++Builder/Visual C++] HANDLE IKAntiAlias(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKAntiAlias(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKAntiAlias(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array. (This parameter is enabled when SelectMode is 2)
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle if successful. Returns 0 if unsuccessful

Explanation

The IKAntiAlias function makes the edges of a raster image smooth. Before executing the IKAntiAlias function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dll section.


IKAutoSelectImage

This function uses a specified color (RGB value), compares this value to pixels in the image and selects areas of the image that have that color.

This function supports Visual Basic and Visual C++. For C++Builder and Delphi, please use the IKAutoSelectImageEx.

[Visual Basic] Function IKAutoSelectImage(ByVal Handle As Long, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Mode As Byte, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As IKSELECT_IMAGE
[Visual C++] IKSELECT_IMAGE IKAutoSelectImage(HANDLE Handle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, BYTE Mode, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

Parameters

Name | Explanation
Handle | The image handle of the raster image (1, 4, 8, 16, 24, or 32 bit image)
SelectMode | Sets the method for selecting the area on the image that will be processed (1: Total image, 2: Polygon, 3: Ellipse)
lpPoint | A structure defining coordinates for the points of the polygonal area on the image (This parameter is enabled when SelectMode is 2). In Visual C++, pass the pointer to the first element in the structure array In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array. (This parameter is enabled when SelectMode is 2)
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Red | Specifies the red value of the color that will be selected (From 0 to 255)
Green | Specifies the green value of the color that will be selected (From 0 to 255)
Blue | Specifies the blue value of the color that will be selected (From 0 to 255)
Mode | Comparison mode (0:RGB, 1:CrCb, 2:Y)
Level | Level of Allowance (From 0 to 255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

If successful, the created raster image handle and mask image handle are returned in the structure (each member image is the same size) If unsuccessful, 0 is returned.

Explanation

The IKAutoSelectImage function uses a specified color (RGB value), compares this value to pixels in the image and selects areas of the image that have that color. From this selection, this function creates a new image and mask image. This function supports Visual Basic and Visual C++. For C++Builder and Delphi, please use the IKAutoSelectImageEx.

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

  1. To process the total image, set SelectMode to 1.
  2. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  3. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

The Mode parameter sets the type of color comparison used to select portions of the image. When the Mode parameter is other than 0 (i.e. CrCb or Y) then all RGB values are converted to YCrCb values and compared. The Level parameter controls the range of RGB values that will be selected. If the Level value is 0, then only those pixels that have the save RGB value as that specified in the Red, Green, and Blue parameters will be selected. As the Level parameter increases, the range of RGB values that will be selected increases. For example, if Level = 10 and Red, Green, and Blue = 100 respectively, then all pixels with an RGB value between (90,90,90) and (110,110,110) will be selected.

Note: the image handle passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dll section.


IKAutoSelectImageEx

This function uses a specified color (RGB value), compares this value to pixels in the image and selects areas of the image that have that color. From this selection, this function creates a new image and mask image.

This function is for use with Delphi and C++Builder. For Visual Basic and Visual C++, please see the IKAutoSelectImage function.

[C++Builder] BOOL IKAutoSelectImageEx(HANDLE Handle, PTR_IKSELECT_IMAGE DstHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, BYTE Mode, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKAutoSelectImageEx(Handle: THandle; var DstHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue, Mode, Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

Parameters

Name | Explanation
Handle | The image handle of the raster image (1, 4, 8, 16, 24, or 32 bit image)
DstHandle | A structure whose member variables contain the created image handle and mask image handle (if unsuccessful the members of the structure return 0) Note: DstHandle is used by the IKAutoSelectImageEx function only
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint | A structure defining coordinates for the points of the polygonal area on the image (This parameter is enabled when SelectMode is 2). In C++Builder, pass the pointer to the first element in the structure array In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array. (This parameter is enabled when SelectMode is 2)
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Red | Specifies the red value of the color that will be selected (From 0 to 255)
Green | Specifies the green value of the color that will be selected (From 0 to 255)
Blue | Specifies the blue value of the color that will be selected (From 0 to 255)
Mode | Comparison mode (0:RGB, 1:CrCb, 2:Y)
Level | Level of Allowance (From 0 to 255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

If successful, True (nonzero) is returned, otherwise 0 is returned.

Explanation

The IKAutoSelectImageEx function uses a specified color (RGB value), compare this value to pixels in the image and select areas of the image that have that color. From this selection, this function creates a new image and mask image. This function is for use with Delphi and C++Builder. For Visual Basic and Visual C++, please see the IKAutoSelectImage function.

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

  1. To process the total image, set SelectMode to 1.
  2. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points. (must be 3 or more).
  3. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

The Mode parameter sets the type of color comparison used to select portions of the image. When the Mode parameter is other than 0 (i.e. CrCb or Y) then all RGB values are converted to YCrCb values and compared. The Level parameter controls the range of RGB values that will be selected. If the Level value is 0, then only those pixels that have the save RGB value as that specified in the Red, Green, and Blue parameters will be selected. As the Level parameter increases, the range of RGB values that will be selected increases. For example, if Level = 10 and Red, Green, and Blue = 100 respectively, then all pixels with an RGB value between (90,90,90) and (110,110,110) will be selected.

Note: the image handle passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dll section.


IKBlur

This function blurs a raster image.

[C++Builder/Visual C++] HANDLE IKBlur(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKBlur(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKBlur(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle | A structure containing the image handle and the mask image handle member variables hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint | A structure defining coordinates for the points of the polygonal area on the image (This parameter is enabled when SelectMode is 2). In C++Builder and Visual C++, pass the pointer to the first element in the structure array In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0] In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array. (This parameter is enabled when SelectMode is 2)
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Level | The strength of the bluring (From 1 to 20). As the Level increases, the strength of the blur increases
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKBlur function blurs a raster image. As the Level parameter increases, the strength of the blur increases.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKCanvas

This function produces a canvas effect on the raster image.

[C++Builder/Visual C++] HANDLE IKCanvas(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Direction, BYTE Depth, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKCanvas(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect: TRect; InOut: LongBool; Direction, Depth: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKCanvas(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Direction As Byte, ByVal Depth As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image (This parameter is enabled when SelectMode is 2).

In C++Builder and Visual C++, pass the pointer to the first element in the structure array

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array. (This parameter is enabled when SelectMode is 2)
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Direction | The direction of the canvas pattern (0:From top to right, 1: From top to left, 2: From bottom to left, 3: From bottom to right)
Depth | Depth of the canvas pattern. (From 0 to 255). The depth increase as this value increases
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKCanvas function produces a canvas effect on the raster image.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handle passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKCheckSecretImage

This function retrieves the digital watermark from a raster image.

[C++Builder/Visual C++] HANDLE IKCheckSecretImage(HANDLE Handle1, HANDLE Handle2, int Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKCheckSecretImage(Handle1, Handle2: THandle; Level: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKCheckSecretImage(ByVal Handle1 As Long, ByVal Handle2 As Long, ByVal Level As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle1 | The image handle of the original image. This is the image without a digital watermark that is used as a key to compare to another image and check if a watermark exists (24 bit color images only).
Handle2 | The image handle of the image that contains the watermark (24 bit color images only).
Level | The level at which to retrieve the watermark. (From -20 to 20 )
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful (1 bit image). Returns 0 if unsuccessful.

Explanation

The IKCheckSecretImage function retrieves the digital watermark from a raster image whose watermark has been set with the IKSetSecretImage function. It CANNOT retrieve other types of watermarks.

To check whether an image contains a watermark, set the image handle of the original image in the Handle1 parameter and set the image handle of the image suspected to contain the watermark in the Handle2 parameter. The Level parameter should be set to a value that is the same as or slighly smaller than the Level at which the watermark was embedded into the image using the IKSetSecretImage function. Using a Level to retrieve the watermark that differs significantly from the Level at which the watermark was set can result in no watermark being retrieved. Furthermore, the orginal image and the watermarked image must be exactly the same size. If either image has been resized, no watermark can be retrieved. Furthermore, the orginal image and the watermarked image must be exactly the same size. If either image has been resized, no watermark can be retrieved.

The IKCheckSecretImage function returns the results, the image handle of a 1 bit raster image, if successful. If unsuccessful, 0 is returned. Note that neither Handle1 or Handle2 are freed after this method is executed.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKChroma

This function adjusts the chrominance of a raster image.

[C++Builder/Visual C++] HANDLE IKChroma(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, int Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKChroma(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Level: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKChroma(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Level As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 1, 4, 8, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Level | Chrominance Level (-100 to 1000)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful (1 bit image). Returns 0 if unsuccessful.

Explanation

The IKChroma function adjusts the chrominance of a raster image.

Chrominance refers to the color element of the image whereas Luminance refers to the brightness element. You can adjust the chrominance by using the Level parameter which can have a value ranging from -100 to 1000. When the Level parameter is 0, there is no change in the image color. As the level becomes negative, the colors in the image become less vivid. When the Level parameter reaches -100 the chrominance element is negated leaving only the Luminance element. This is grayscale. Conversely, as the Level parmeter increases from 0, the colors become more vivid.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

For 1 , 4, or 8 bit images, regardless of whether the SelectMode parameter settings, the total image will be processed.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKConvertColor

This function changes the number of colors in a raster image.

[C++Builder/Visual C++] HANDLE IKConvertColor(HANDLE Handle, short PixelType, BOOL FixedPal, BOOL Dither, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKConvertColor(Handle: THandle; PixelType: Smallint; FixedPal, Dither: LongBool; Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKConvertColor(ByVal Handle As Long, ByVal PixelType As Integer, ByVal FixedPal As Long, ByVal Dither As Long, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | The image handle of the raster image (1, 4, 8, 16, 24, or 32 bit image)
PixelType | The number of bits per pixel (1, 4, 8, 16, 24, 32, 40, 80) after the conversion. * 4 represents 4 bit color, 40 is for 4 bit grayscale, 8 is for 8 bit color, and 80 is for 8 bit grayscale
FixedPal | Fixed palette settings (Use when decreasing or increasing to 1, 4, or 8 bit color) False (0): Uses a created palette most suitable for the image True (nonzero): Uses a fixed palette
Dither | Sets the dither (error diffusion) (Use when decreasing to 1, 4, or 8 bit color or 4 bit grayscale) False(0): Does not dither True(nonzero): Dithers
Level | Threshold value settings (Use when decreasing to 1 bit images) Values range from 0 to 255
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKConvertColor function changes the number of colors in a raster image.

When decreasing the number of colors of an image to 1 bit color, if the RGB value (an average of the red, green, and blue values) is less than the threshold value, the palette is set to 0. If the RGB value (an average of the red, green, and blue values) is more than the value set in the Level parameter, it is set to 1. If the specified RGB values can not be selected, a black image is created.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKCustomFilter

This function allows you to create a custom effects filter for raster images.

[C++Builder/Visual C++] HANDLE IKCustomFilter(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, LPINT Matrix, BYTE Div, BYTE Level, BOOL Red, BOOL Green, BOOL Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKCustomFilter(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; var Matrix: Integer; Div, Level: Byte; Red, Green, Blue: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKCustomFilter(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, Matrix As Long, ByVal Div As Byte, ByVal Level As Byte, ByVal Red As Long, ByVal Green As Long, ByVal Blue As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Matrix 9x9 matrix (an array of 81 items ranging from 0 to 80).

(1) In C++Builder and Visual C++, pass the pointer to the first element in the matrix array.

(2) In Delphi, Mt: array [0..80] of Integer, the arguments are returned in the first element of the array Mt[0]

(3)In Visual Basic, Dim Mt(0 To 80) As Long, the arguments are returned in the first element of the array Mt(0)
Div | The division factor
Level | The bias factor (from 0 to 255, as this factor increases, the color becomes brighter)
Red | To process the red plane, set toTrue (nonzero), otherwise set to False (0)
Green | To process the green plane, set toTrue (nonzero), otherwise set to False (0)
Blue | To process the blue plane, set toTrue (nonzero), otherwise set to False (0)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful (1 bit image). Returns 0 if unsuccessful.

Explanation

The IKCustomFilter function allows you to create a custom effects filter for raster images. An effects filter alters each pixel's color based on its current color and the colors of any neighboring pixels (See the explanation of the filter matrix below).

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When processing a grayscale image the Red, Green and Blue parameter values are ineffective (dummy values).

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.

The filter consists of an array of coefficients called a filter matrix. A filter processes an image on a pixel-by-pixel basis. Each pixel's color value is multiplied by the coefficient in the matrix center, and any pixels within the matrix are multiplied by the corresponding coefficients. The sum of the products becomes the target pixel's new value. To make the filter matrix, it is necessary to create an array containing 80 elements and set the appropriate coefficient values in the array elements. The formula used to calculate the target pixel's value is given below:

Where F is the output value of the target pixel, Pi is a pixel in the grid, and Ci is a coefficient in the matrix. Div is the division factor which allows you to achieve effects that would otherwise require decimal coefficients. Level is a bias factor. You use the bias to shift the value of each pixel by a fixed amount. As the bias factor increases, the resultant color is brighter. Bias adjustments are particularly useful for creating embossing effects.

Some sample matrix are given below:


IKCutRectImage

This function copies that portion of a raster image that is specified by the selected rectangle.

[C++Builder/Visual C++] HANDLE IKCutRectImage(HANDLE Handle, LPRECT Rect, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKCutRectImage(Handle: THandle; var Rect: TRect; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKCutRectImage(ByVal Handle As Long, Rect As IKRECT, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | The image handle of the raster image (1, 4, 8, 16, 24, or 32 bit image)
Rect | A structure specifying the coordinates for the rectangle bounding the area on the image
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKCutRectImage function copies that portion of a raster image that is specified by the selected rectangle. (If you wish to use a mask image, please refer to the IKSelectImage(EX) function). Although very similar to the IKSelectImage(EX) function, the IKCutRectImage function is much faster.

Note: The image handle passed to the Handle parameter is not automatically freed after execution.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKEmboss

This function embosses a raster image.

[C++Builder/Visual C++] HANDLE IKEmboss(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE MskPattern, BYTE Edge, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKEmboss(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; MskPattern, Edge, Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKEmboss(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal MskPattern As Byte, ByVal Edge As Byte, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
MskPattern | Sets the direction of the emboss (0: Left to Right, 1: Top Left to Bottom Right, 2: Top to Bottom, 3: Top Right to Bottom Left, 4: Right to Left, 5: Bottom Right to Top Left, 6: Bottom to Top, 7: Bottom Left to Top Right)
Edge | Sets the depth of the emboss (from 1 to 5; where 5 is the deepest emboss)
Level | Sets the brightness of the emboss (from 0 to 255; where 255 is the brightest)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful (1 bit image). Returns 0 if unsuccessful.

Explanation

The IKEmboss function embosses a raster image. The MskPattern parameter sets the direction of the emboss. The Edge parameter sets the depth or strength of the emboss. The Level parameter sets the brightness or whitness of the embossed image.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKEndDibAccess

This function is used to allow access to pixels in the Device Independent Bitmap (DIB). This function is to be used in conjunction with the IKStartDibAccess function.

[C++Builder/Visual C++] BOOL IKEndDibAccess(HANDLE hDib, PTR_IKDIB_INFO stpDibInfo);
[Delphi] function IKEndDibAccess(hDib: THandle; var stpDibInfo: IKDIB_INFO): LongBool;
[Visual Basic] Function IKEndDibAccess(ByVal hDib As Long, stpDibInfo As IKDIB_INFO) As Long

Parameters

Name | Explanation
hDib | The image handle of the raster image (1, 4, 8, 16, 24, or 32 bit image)
stpDibInfo | A structure variable (user-defined type) as retrieved by the IKStartDibAccess function

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKEndDibAccess function is used to allow access to pixels in the Device Independent Bitmap (DIB). This function is to be used in conjunction with the IKStartDibAccess function. The hDib and stpDibInfo must be the same parameters as those used with the IKStartDibAccess function.

For more information about IKDIB_INFO, please refer to the explanation of the IKDIB_INFO member variables at the beginning of the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dll section.

To access the DIB and manipulate pixel data, you must use the following functions as a group.

IKStartDibAccess

l

IKGetDibPixel, IKSetDibPixel

l

IKEndDibAccess

Sample Code

The following code starts access to the DIB, then loops through each pixel in the image, using the IKGetDibPixel function to retrieve the pixels' rgb values. Then those values are reversed and set using the IKSetDibPixel function.

(1)Delphi

Handle: THandle;

ImageInfo: IKIMAGE_INFO;

DibInfo: IKDIB_INFO;

Ret: LongBool;

i, j: Integer;

Handle := IKFileLoad('newtone.bmp', 0, 0, 0, 0, nil, nil, nil);

if Handle = 0 then Exit;

Ret := IKGetImageType(Handle, ImageInfo);

Ret := IKStartDibAccess(Handle, DibInfo);

for i := 0 to ImageInfo.Height - 1 do

begin

for j := 0 to ImageInfo.Width - 1 do

begin

Ret := IKGetDibPixel(DibInfo, j, i);

if ImageInfo.BitCount = 1 then

begin

if DibInfo.PalNo <> 0 then

DibInfo.PalNo := 0

else

DibInfo.PalNo := 1;

end

else if ImageInfo.BitCount > 8 then

begin

DibInfo.Blue := 255 - DibInfo.Blue;

DibInfo.Green := 255 - DibInfo.Green;

DibInfo.Red := 255 - DibInfo.Red;

end;

Ret := IKSetDibPixel(DibInfo, j, i);

end;

end;

Ret := IKEndDibAccess(Handle, DibInfo);

Ret := IKBmpFileSave('newtone.bmp', Handle, False, 0, nil, nil, nil);

IKFreeMemory(Handle);

(2)Visual Basic

Dim Handle As Long

Dim ImageInfo As IKIMAGE_INFO

Dim DibInfo As IKDIB_INFO

Dim Ret As Long

Dim i As Long, j As Long

Handle = IKFileLoad("newtone.bmp", 0, 0, 0, 0, "", "", "")

If Handle = 0 Then Exit Sub

Ret = IKGetImageType(Handle, ImageInfo)

Ret = IKStartDibAccess(Handle, DibInfo)

For i = 0 To ImageInfo.Height - 1

For j = 0 To ImageInfo.Width - 1

Ret = IKGetDibPixel(DibInfo, j, i)

If ImageInfo.BitCount = 1 Then

If DibInfo.PalNo <> 0 Then

DibInfo.PalNo = 0

Else

DibInfo.PalNo = 1

End If

Else If ImageInfo.BitCount > 8 Then

DibInfo.Blue = 255 - DibInfo.Blue

DibInfo.Green = 255 - DibInfo.Green

DibInfo.Red = 255 - DibInfo.Red

End If

Ret = IKSetDibPixel(DibInfo, j, i)

Next j

Next i

Ret = IKEndDibAccess(Handle, DibInfo)

Ret = IKBmpFileSave("newtone.bmp", Handle, False, 0, "", "", "")

IKFreeMemory(Handle)


IKGetDibPixel

This function retrieves the RGB values and palette number of the specified pixel in the Device Independent Bitmap (DIB).

[C++Builder/Visual C++] BOOL IKGetDibPixel(PTR_IKDIB_INFO stpDibInfo, long lx, long ly);
[Delphi] function IKGetDibPixel(var stpDibInfo: IKDIB_INFO: lx, ly: Longint): LongBool;
[Visual Basic] Function IKGetDibPixel(stpDibInfo As IKDIB_INFO, ByVal lx As Long, ByVal ly As Long) As Long

Parameters

Name | Explanation
stpDibInfo | A structure variable (user-defined type) as retrieved by the IKStartDibAccess function
lx, ly | The x,y coordinates of the specified pixel

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKGetDibPixel function retrieves the RGB values and palette number of the specified pixel in the Device Independent Bitmap (DIB). If successful, for 1, 4, and 8 bit images the Pal is set in the stpDibInfo parameter; for 16, 24, or 32 bit images the Red, Green, and Blue values are set in the stpDibInfo parameter.

For more information about IKDIB_INFO, please refer to the explanation of the IKDIB_INFO member variables at the beginning of the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dll section.

To access the DIB and manipulate pixel data, you must use the following functions as a group.

IKStartDibAccess

l

IKGetDibPixel, IKSetDibPixel

l

IKEndDibAccess

Sample Code

The following code starts access to the DIB, then loops through each pixel in the image, using the IKGetDibPixel function to retrieve the pixels' rgb values. Then those values are reversed and set using the IKSetDibPixel function.

(1)Delphi

Handle: THandle;

ImageInfo: IKIMAGE_INFO;

DibInfo: IKDIB_INFO;

Ret: LongBool;

i, j: Integer;

Handle := IKFileLoad('newtone.bmp', 0, 0, 0, 0, nil, nil, nil);

if Handle = 0 then Exit;

Ret := IKGetImageType(Handle, ImageInfo);

Ret := IKStartDibAccess(Handle, DibInfo);

for i := 0 to ImageInfo.Height - 1 do

begin

for j := 0 to ImageInfo.Width - 1 do

begin

Ret := IKGetDibPixel(DibInfo, j, i);

if ImageInfo.BitCount = 1 then

begin

if DibInfo.PalNo <> 0 then

DibInfo.PalNo := 0

else

DibInfo.PalNo := 1;

end

else if ImageInfo.BitCount > 8 then

begin

DibInfo.Blue := 255 - DibInfo.Blue;

DibInfo.Green := 255 - DibInfo.Green;

DibInfo.Red := 255 - DibInfo.Red;

end;

Ret := IKSetDibPixel(DibInfo, j, i);

end;

end;

Ret := IKEndDibAccess(Handle, DibInfo);

Ret := IKBmpFileSave('newtone.bmp', Handle, False, 0, nil, nil, nil);

IKFreeMemory(Handle);

(2)Visual Basic

Dim Handle As Long

Dim ImageInfo As IKIMAGE_INFO

Dim DibInfo As IKDIB_INFO

Dim Ret As Long

Dim i As Long, j As Long

Handle = IKFileLoad("newtone.bmp", 0, 0, 0, 0, "", "", "")

If Handle = 0 Then Exit Sub

Ret = IKGetImageType(Handle, ImageInfo)

Ret = IKStartDibAccess(Handle, DibInfo)

For i = 0 To ImageInfo.Height - 1

For j = 0 To ImageInfo.Width - 1

Ret = IKGetDibPixel(DibInfo, j, i)

If ImageInfo.BitCount = 1 Then

If DibInfo.PalNo <> 0 Then

DibInfo.PalNo = 0

Else

DibInfo.PalNo = 1

End If

Else If ImageInfo.BitCount > 8 Then

DibInfo.Blue = 255 - DibInfo.Blue

DibInfo.Green = 255 - DibInfo.Green

DibInfo.Red = 255 - DibInfo.Red

End If

Ret = IKSetDibPixel(DibInfo, j, i)

Next j

Next i

Ret = IKEndDibAccess(Handle, DibInfo)

Ret = IKBmpFileSave("newtone.bmp", Handle, False, 0, "", "", "")

IKFreeMemory(Handle)


IKGlassTile

This function produces an effect similar to glass tile on the image.

[C++Builder/Visual C++] HANDLE IKGlassTile(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, int xSize, int ySize, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKGlassTile(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect: TRect; InOut: LongBool; xSize, ySize: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKGlassTile(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal xSize As Long, ByVal ySize As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
xSize | Sets the width of each glass tile (from 10 to 100)
ySize | Sets the height of each glass tile (from 10 to 100)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKGlassTile function produces an effect similar to glass tile on the image.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKLayer

This function layers raster images.

[C++Builder/Visual C++] HANDLE IKLayer(HANDLE Handle1, HANDLE Handle2, BYTE Trans, BOOL TransColor, BYTE TRed, BYTE TGreen, BYTE TBlue, BYTE BRed, BYTE BGreen, BYTE BBlue, int x, int y, BOOL Clip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKLayer(Handle1, Handle2: THandle; Trans: Byte; TransColor: LongBool; TRed, TGreen, TBlue, BRed, BGreen, BBlue: Byte; x, y: Integer; Clip: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKLayer(ByVal Handle1 As Long, ByVal Handle2 As Long, ByVal Trans As Byte, ByVal TransColor As Long, ByVal TRed As Byte, ByVal TGreen As Byte, ByVal TBlue As Byte, ByVal BRed As Byte, ByVal BGreen As Byte, ByVal BBlue As Byte, ByVal x As Long, ByVal y As Long, ByVal Clip As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle1 | The handle of the image on which another image is layered. (The image on the bottom) Supports 1, 4, 8, 16, 24, 32 bit images.
Handle2 | The handle of the image to be layered. (The image on the top) Supports 1, 4, 8, 16, 24, 32 bit images.
Trans | The level of transparency of Handle2 (From 0 to 255, as this value increases the image of Handle2 becomes visible)
TransColor | Sets whether or not Handle2 has a transparent color. (False(0): No transparent color, True(non zero): Has transparent color)
TRed | Sets the red component of the RGB value of the transparent color for Handle2 (from 0 to 255)
TGreen | Sets the green component of the RGB value of the transparent color for Handle2 (from 0 to 255)
TBlue | Sets the blue component of the RGB value of the transparent color for Handle2 (from 0 to 255)
BRed | Sets the red component of the RGB value of the background color (from 0 to 255) This is the area of the image that is not part of either Handle1 or Handle2
BGreen | Sets the green component of the RGB value of the background color (from 0 to 255) This is the area of the image that is not part of either Handle1 or Handle2
BBlue | Sets the blue component of the RGB value of the background color (from 0 to 255) This is the area of the image that is not part of either Handle1 or Handle2
x,y | The coordinates of the attachment location (in pixels)
Clip | Sets whether or not the image is clipped (False(0): No clipping, True(nonzero) clipping)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful (1 bit image). Returns 0 if unsuccessful. In general the resulting image will be 24 bit color. However, if Handle1 and Handle2 are the same bitcount and both images have the same palette then the resultant image will have the same bitcount as the input images. (This is for images with a bit count of 8 or less.)

Explanation

The IKLayer function layers raster images. The upper left corner of the Handle2 image is attached to the Handle1 image at the x,y coordinate location.

If the Clip parameter is set to True (nonzero), the size of the created image is the same as the image of Handle 1. Any portions of the Handle2 image that extend beyond the Handle1 image will be clipped. If the Clip parameter is set to False(0), the size of the created image is the same as the combination of the two images. Any areas of the created image that are not in either the Handle1 image or the Handle2 image will be the color set in the BRed, BGreen, and BBlue parameters. If the TransColor parameter is set to True, the color set by the TRed, TGreen, and TBlue parameters will be a transparent color.

Note: The image handles passed to this function are not freed after execution.

An explanation of the output bitcounts:

  • When the Trans parameter is NOT 0 or 255, then the output will be 24 bit color.
  • When Handle1 and Handle2 are both 8 bits or less and their bitcounts are the same and their palettes are IDENTICAL (same colors in the same order), then the output will be the same bitcount as the input images.
  • If Handle1 and Handle2 have different bitcounts, or their palettes are not IDENTICAL (same colors in the same order), then the output will be a 24 bit image.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.

If you want to use an image with an alpha channel, please refer to the IKLayerEx function.

[The differences from the ImageKit5]

Function Name Parameters
IK5Layer | Handle1, Handle2, Trans, TRed, TGreen, TBlue, BRed, BGreen, BBlue, x, y, Clip, EffectUserProc, Caption, Message, Button
IKLayer | Handle1, Handle2, Trans, TransColor, TRed, TGreen, TBlue, BRed, BGreen, BBlue, x, y, Clip, UserProc, Caption, Message, Button

The TransColor parameter has been added since ImageKit6. If the TransColor parameter is set to True then the functionality is the same as the ImageKit5. EffectUserProc refers to the same user function as UserProc.


IKLayerEx

This function layers raster images. It allows you to set an alpha channel.

[C++Builder/Visual C++] HANDLE IKLayerEx(HANDLE Handle1, HANDLE Handle2, BYTE Trans, BOOL TransColor, BYTE TRed, BYTE TGreen, BYTE TBlue, BYTE BRed, BYTE BGreen, BYTE BBlue, int x, int y, BOOL Clip, BOOL Alpha, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKLayerEx(Handle1, Handle2: THandle; Trans: Byte; TransColor: LongBool; TRed, TGreen, TBlue, BRed, BGreen, BBlue: Byte; x, y: Integer; Clip, Alpha: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKLayerEx(ByVal Handle1 As Long, ByVal Handle2 As Long, ByVal Trans As Byte, ByVal TransColor As Long, ByVal TRed As Byte, ByVal TGreen As Byte, ByVal TBlue As Byte, ByVal BRed As Byte, ByVal BGreen As Byte, ByVal BBlue As Byte, ByVal x As Long, ByVal y As Long, ByVal Clip As Long, ByVal Alpha As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle1 | The handle of the image on which another image is layered. (The image on the bottom) Supports 1, 4, 8, 16, 24, 32 bit images.
Handle2 | The handle of the image to be layered. (The image on the top) Supports 1, 4, 8, 16, 24, 32 bit images.
Trans | The level of transparency of Handle2 (From 0 to 255, as this value increases the image of Handle2 becomes visible)
TransColor | Sets whether or not Handle2 has a transparent color. (False(0): No transparent color, True(non zero): Has transparent color)
TRed | Sets the red component of the RGB value of the transparent color for Handle2 (from 0 to 255)
TGreen | Sets the green component of the RGB value of the transparent color for Handle2 (from 0 to 255)
TBlue | Sets the blue component of the RGB value of the transparent color for Handle2 (from 0 to 255)
BRed | Sets the red component of the RGB value of the background color (from 0 to 255) This is the area of the image that is not part of either Handle1 or Handle2
BGreen | Sets the green component of the RGB value of the background color (from 0 to 255) This is the area of the image that is not part of either Handle1 or Handle2
BBlue | Sets the blue component of the RGB value of the background color (from 0 to 255) This is the area of the image that is not part of either Handle1 or Handle2
x,y | The coordinates of the attachment location (in pixels)
Clip | Sets whether or not the image is clipped (False(0): No clipping, True(nonzero) clipping)
Alpha | Sets whether or not the alpha channel is used. (False(0): Alpha channel is not used, True (nonzero): Alpha channel is used. * This parameter is used with the IKLayerEx function only. Please refer to the explanation below.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful (1 bit image). Returns 0 if unsuccessful. In general the resulting image will be 24 bit color. However, if Handle1 and Handle2 are the same bitcount and both images have the same palette then the resultant image will have the same bitcount as the input images. (This is for images with a bit count of 8 or less.)

Explanation

The IKLayerEx function layers raster images. The upper left corner of the Handle2 image is attached to the Handle1 image at the x,y coordinate location.

If the Clip parameter is set to True (nonzero), the size of the created image is the same as the image of Handle 1. Any portions of the Handle2 image that extend beyond the Handle1 image will be clipped. If the Clip parameter is set to False(0), the size of the created image is the same as the combination of the two images. Any areas of the created image that are not in either the Handle1 image or the Handle2 image will be the color set in the BRed, BGreen, and BBlue parameters. If the TransColor parameter is set to True, the color set by the TRed, TGreen, and TBlue parameters will be a transparent color. When using the alpha channel, set the Alph parameter of the IKLayerEx function to True (nonzero) and set the image handle of a 32 bit RGBA image into the Handle2 parameter. When the Alpha parameter is True, the Trans parameter is disabled. When the Alpha parameter is False(0), the IKLayerEx function is the same as the IKLayer function.

Note: The image handles passed to this function are not freed after execution.

An explanation of the output bitcounts:

  • When the Trans parameter is NOT 0 or 255, then the output will be 24 bit color.
  • When Handle1 and Handle2 are both 8 bits or less and their bitcounts are the same and their palettes are IDENTICAL (same colors in the same order), then the output will be the same bitcount as the input images.
  • If Handle1 and Handle2 have different bitcounts, or their palettes are not IDENTICAL (same colors in the same order), then the output will be a 24 bit image.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.

[The differences from the ImageKit5]

Function Name Parameters
IK5Layer | Handle1, Handle2, Trans, TRed, TGreen, TBlue, BRed, BGreen, BBlue, x, y, Clip, EffectUserProc, Caption, Message, Button
IKLayer | Handle1, Handle2, Trans, TransColor, TRed, TGreen, TBlue, BRed, BGreen, BBlue, x, y, Clip, UserProc, Caption, Message, Button

The TransColor parameter has been added since ImageKit6. If the TransColor parameter is set to True then the functionality is the same as the ImageKit5. EffectUserProc refers to the same user function as UserProc.


IKLens

This function produces a lens like effect on the a raster image.

[C++Builder/Visual C++] HANDLE IKLens(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, double Refract, BOOL BackColor, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKLens(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect: TRect; InOut: LongBool; Refract: Double; BackColor: LongBool; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKLens(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Refract As Double, ByVal BackColor As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Refract | Sets the lens magnification (Greater than 1.0)
BackColor | Sets whether or not the area outside of the lens effect is painted a particular color [True(nonzero): the area is painted False(0): the area is not painted]
Red | Sets the red component of the color painted in the area outside the lens (from 0 to255)
Green | Sets the green component of the color painted in the area outside the lens (from 0 to255)
Blue | Sets the blue component of the color painted in the area outside the lens (from 0 to255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful (1 bit image). Returns 0 if unsuccessful.

Explanation

The IKLens function produces a lens like effect on the a raster image.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. The Red, Green, and Blue parameters are enabled when the BackColor parameter is True(nonzero).

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKMakeRGBAImage

This function creates a 32 bit RGBA image from a 24 bit RGB image and a 1 bit color or 8 bit grayscale alpha channel image.

[C++Builder/Visual C++] HANDLE IKLayer(HANDLE Handle1, HANDLE Handle2, BYTE Trans, BOOL TransColor, BYTE TRed, BYTE TGreen, BYTE TBlue, BYTE BRed, BYTE BGreen, BYTE BBlue, int x, int y, BOOL Clip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKMakeRGBAImage(InHandle1, InHandle2: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKMakeRGBAImage(ByVal InHandle1 As Long, ByVal InHandle2 As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle1 | The image handle of the RGB image (supports 1, 4, 8, 16, 24, and 32 bit images)
InHandle2 | The image handle of the alpha channel image (supports 1 bit color or 8 bit grayscale)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

If successful, returns the image handle of the 32 bit RGBA image. Returns 0 if unsuccessful.

Explanation

The IKMakeRGBAImage function creates a 32 bit RGBA image from a 24 bit RGB image and a 1 bit color or 8 bit grayscale alpha channel image.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.

See Also

Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll: IKPngFileLoadEx and IKPngFileSaveEx


IKMosaic

This function produces an effect similar to glass tile on the image.

[C++Builder/Visual C++] HANDLE IKMosaic(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKMosaic(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKMosaic(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Width | The width of the mosaic (in pixels)
Height | The height of the mosaic (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKMosaic function produces an effect similar to glass tile on the image. If the Width and Height parameters are less than 1 then the mosaic will not be processed.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKMotionBlur

This function produces a motion blur on the image.

[C++Builder/Visual C++] HANDLE IKMotionBlur(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Mode, BYTE Length, int Angle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKMotionBlur(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect: TRect; InOut: LongBool; Mode, Length: Byte; Angle: Inetegr; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKMotionBlur(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Mode As Byte, ByVal Length As Byte, ByVal Angle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Mode | Sets the type of blur (0: Linear, 1: Radial, 2: Zoom)
Length | Sets the length of the blur (from 0 to 255)
Angle | Sets the degree of the blur (angle, in 1 degree units)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKMotionBlur function produces a motion blur on the image. The Mode parameter determines the type of motion blur.

Mode=0 (Linear blur)
This motion blur simulates the image shifting. The Length parameter sets the magnitude of the shift. The Angle parameter determines the direction of the shift. The major directions of the Angle parameter are as follows:
Angle=0 -> A shift to the left; Angle= 90 -> a shift down; Angle=180 -> a shift to the right; Angle=270 -> a shift up.

Mode=1 (Radial blur)
This motion blur simulates the image spinning by the number of degrees set in the Angle parameter. The Length parameter is ineffective.

Mode=2 (Zoom blur)
This motion blur simulates the image zooming in by the length set in the Length parameter. The Angle parameter is ineffective.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKOilPaint

This function produces an effect similar to an oil painting on the image.

[C++Builder/Visual C++] HANDLE IKOilPaint(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Mode, BYTE MaskSize, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKOilPaint(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect: TRect; InOut: LongBool; Mode, MaskSize: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKOilPaint(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Mode As Byte, ByVal MaskSize As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Mode | Sets the processing mode (0:Process by RGB, 1:Process by Luminance (Brightness))
MaskSize | Sets brush stroke size (from 1 to 100)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKOilPaint function produces an effect similar to an oil painting on the image.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKOutline

This function produces an outline of a raster image.

[C++Builder/Visual C++] HANDLE IKOutline(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Plane, BYTE Operator, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKOutline(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Plane, Operator, Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKOutline(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Plane As Byte, ByVal Operator As Byte, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
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 brightness of the outline (from 0 to 100)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKOutline function produces an outline of a raster image by identifying and displaying only the "edges" within the image. 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 the brightness of an outline. 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.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKPanorama

This function composes a panorama from two raster images.

[C++Builder/Visual C++] HANDLE IKPanorama(HANDLE Handle1, HANDLE Handle2, BYTE CutMode, int Px11, int Py11, int Px12, int Py12, int Px21, int Py21, int Px22, int Py22, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPanorama(Handle1, Handle2: THandle; CutMode: Byte; Px11, Py11, Px12, Py12, Px21, Py21, Px22, Py22: Integer; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKPanorama(ByVal Handle1 As Long, ByVal Handle2 As Long, ByVal CutMode As Byte, ByVal Px11 As Long, ByVal Py11 As Long, ByVal Px12 As Long, ByVal Py12 As Long, ByVal Px21 As Long, ByVal Py21 As Long, ByVal Px22 As Long, ByVal Py22 As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle1 | The handle of the image on which another image is attached (24 bit only)
Handle2 | The handle of the image that is attached (24 bit only)
CutMode | Sets whether or not Handle2 will be cut at the attachment location and if so which portion of Handle2 will be cut For horizontal attachments (0: no cut, 1: cut left portion, 2: cut right portion) For vertical attachments (0: no cut, 1: cut lower portion, 2: cut upper portion)
Px11,Py11 | The location of the first point of attachment for Handle1 (in pixels)
Px12,Py12 | The location of the second point of attachment for Handle1 (in pixels)
Px21,Py21 | The location of the first point of attachment for Handle2 (in pixels)
Px22,Py22 | The location of the second point of attachment for Handle2 (in pixels)
Red | Sets the red component of the color painted in the area outside the lens (from 0 to255)
Green | Sets the green component of the color painted in the area outside the lens (from 0 to255)
Blue | Sets the blue component of the color painted in the area outside the lens (from 0 to255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful (24 bit image). Returns 0 if unsuccessful.

Explanation

The IKPanorama function composes a panorama from two raster images.

To execute the IKPanorama function, set the image handle of the base image into the Handle1 parameter. Set the image handle of the image you wish to attach to the base image into the Handle2 parameter. Set the attachment location on Handle1 and Handle2. The IKPanorama function will attach the Handle2 image to the Handle1 image at the location specified.

The CutMode parameter determines if any portion of Handle2 will be cut off. If CutMode=0 then no portion of Handle2 will be cut.

If the attachment is horizontal, i.e. the first attachment point is to the left of the second attachment point, then if CutMode=1, the portion of Handle2 to the left of the attachment location will be cut off. If CutMode=2, the portion of Handle2 to the right of the attachment location will be cut off.

If the attachment is vertical, i.e. the first attachment point is to the above the second attachment point, then if CutMode=1, the portion of Handle2 below the attachment location will be cut off. If CutMode=2, the portion of Handle2 above the attachment location will be cut off.

Note: the image handles passed to this function are NOT automatically freed after execution.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKPasteImage

This function pastes a raster image into another raster image.

[C++Builder/Visual C++] HANDLE IKPasteImage(HANDLE Handle, PTR_IKSELECT_IMAGE SrcHandle, int Angle, BOOL TurnX, BOOL TurnY, BYTE Trans, BOOL TransColor, BYTE TRed, BYTE TGreen, BYTE TBlue, BYTE BRed, BYTE BGreen, BYTE BBlue, int x, int y, BOOL Clip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPasteImage(Handle: THandle; var SrcHandle: IKSELECT_IMAGE; Angle: Integer; TurnX, TurnY: LongBool; Trans: Byte; TransColor: LongBool; TRed, TGreen, TBlue, BRed, BGreen, BBlue: Byte; x, y: Integer; Clip: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKPasteImage(ByVal Handle As Long, SrcHandle As IKSELECT_IMAGE, ByVal Angle As Long, ByVal TurnX As Long, ByVal TurnY As Long, ByVal Trans As Byte, ByVal TransColor As Long, ByVal TRed As Byte, ByVal TGreen As Byte, ByVal TBlue As Byte, ByVal BRed As Byte, ByVal BGreen As Byte, ByVal BBlue As Byte, ByVal x As Long, ByVal y As Long, ByVal Clip As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | The handle of the base image. This is the image onto which another image is pasted (supports 1, 4, 8, 16, 24, 32 bit images)
SrcHandle | A structure containing the image handle and the mask image handle member variables hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
Angle | Angle of rotation (-35999 to 35999, in 1/100 degree units)
TurnX | Reversal of the x axis (False(0): no reversal, True (nonzero): reversal)
TurnY | Reversal of the y axis (False(0): no reversal, True (nonzero): reversal)
Trans | The level of transparency (from 0 to 255, as this value increases, the image in SrcHandle becomes visible)
TransColor | Sets whether or not there is a transparent color in SrcHandle(hImgBmh) (False(0)No transparent color, True(nonzero):transparent color)
TRed | Sets the red component of the transparent color in SrcHandle(hImgBmh) (from 0 to 255)
TGreen | Sets the green component of the transparent color in SrcHandle(hImgBmh) (from 0 to 255)
TBlue | Sets the blue component of the transparent color in SrcHandle(hImgBmh) (from 0 to 255)
BRed | Sets the red component of the background color. This color is drawn in the area not in either SrcHandle( hImgBmh) or Handle images) (from 0 to 255)
BGreen | Sets the green component of the background color. This color is drawn in the area not in either SrcHandle( hImgBmh) or Handle images) (from 0 to 255)
BBlue | Sets the blue component of the background color. This color is drawn in the area not in either SrcHandle(hImgBmh) or Handle image) (from 0 to 255)
x,y | The attachment coordinates (in pixels)
Clip | Sets whether or not the image is clipped (False(0): No clipping, True(nonzero) clipping)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.
In general the resulting image will be 24 bit color. However, if the Handle and SrcHandle stucture images are the same bitcount and both images have the same palette then the resultant image will have the same bitcount as the those images. (This is for images with a bit count of 8 or less.)

Explanation

The IKPasteImage function pastes a raster image into another raster image. The base image, the image that another image is pasted into) is set into the Handle parameter. The image you want to paste into the base image is set in the SrcHandle stucture. If using a mask image (to determine an area on the image to be processed), then set the image handle of the mask image in the SrcHandle stucture. The IKPasteImage function supports 1, 4, 8, 16, 24, 32 bit images.

The Angle, TurnX, and TurnY parameters apply to the images in the SrcHandle stucture. The x,y parameters determine the coordinates on the base image (the image in the Handle parameter) where the CENTER of the SrcHandle stucture images are pasted. When the Clip parameter is True, the result is the same size as the base image (the image in the Handle parameter) and any excess is clipped. When the TransColor parameter is True, the color specified in the TRed, TGreen and TBlue parameters is transparent.

Note: The image handles passed to this function are not freed after execution.

An explanation of the output bitcounts:

  • When the Trans parameter is NOT 0 or 255, then the output will be 24 bit color.
  • When Handle and SrcHandle are both 8 bits or less and their bitcounts are the same and their palettes are IDENTICAL (same colors in the same order), then the output will be the same bitcount as the input images.
  • If Handle and SrcHandle are less than 8 bits and their bitcounts are different, or their bitcounts are the same (less than 8 bits) but their palettes are not IDENTICAL (same colors in the same order), then the output will be a 24 bit image.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.

[Differences from the ImageKit5]

Function Name Parameters
IK5PasteImage | Handle, SrcHandle, Angle, TurnX, TurnY, Trans, Red, Green, Blue, x, y, Clip, EffectUserProc, Caption, Message, Button
IKPasteImage | Handle, SrcHandle, Angle, TurnX, TurnY, Trans, TransColor, TRed, TGreen, TBlue, BRed, BGreen, BBlue, x, y, Clip, UserProc, Caption, Message, Button

The TransColor, TRed, TGreen and TBlue parameters have been added. In the ImageKit5 the Red, Green and Blue parameters are now called BRed, BGreen and BBlue. When the TransColor parameter is false, this function is the same as in the ImageKit5. EffectUserProc refers to the same user function as UserProc.


IKRedEyeRemoval

This function removes "Red eye" from images by converting reddish colors within the selected area to another specified color.

[C++Builder/Visual C++] HANDLE IKRedEyeRemoval(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, BYTE Error, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKRedEyeRemoval(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue, Error: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKRedEyeRemoval(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Error As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Red | Sets the red component for the specified color after the red eye removal (from 0 to 255)
Green | Sets the green component for the specified color after the red eye removal (from 0 to 255)
Blue | Sets the blue component for the specified color after the red eye removal (from 0 to 255)
Error | Sets a margin of error for converting colors within the selected area. Any colors falling outside this margin of error will be converted to the color specifed by Red, Green, and Blue. (from 0 to 255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKRedEyeRemoval function removes "Red eye" from images by converting reddish colors within the selected area to another specified color. Error sets a margin of error for colors within the selected area. Any color whose red value falls outside this margin of error will be converted to the color specifed by Red, Green and Blue. As the Error value increases only colors closer to pure red will be converted. As the Error value decreases, a wider and wider range of 'reddish' colors will be converted.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKRemoveNoise

This function reduces the image noise in raster images.

[C++Builder/Visual C++] HANDLE IKRemoveNoise(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Mode, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKRemoveNoise(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Mode, Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKRemoveNoise(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Mode As Byte, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Mode | Sets the mode of noise reduction. (0: Median luminance method, 1:Noise reduction for each RGB plane)
Level | Sets the level of noise reduction for the RGB mode (from 0 to 255, effective when Mode is 1)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKRemoveNoise function reduces the image noise in raster images. When the Mode is 1, the value of the Level is enabled. As the Level increases the level of noise decreases.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.

Differences between ImageKit8

Now supports 2 bit color images. You can pass a bit 2 color image into the SrcHandle parameter.


IKResize

This function changes the size of raster images. Use this function in Visual Basic and Visual C++. For C++Builder and Delphi, please refer to the IKResizeEx function.

[Visual Basic] Function IKResize(SrcHandle As IKSELECT_IMAGE, ByVal Width As Long, ByVal Height As Long, ByVal Mode As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As IKSELECT_IMAGE
[Visual C++] IKSELECT_IMAGE IKResize(PTR_IKSELECT_IMAGE SrcHandle, long Width, long Height, BOOL Mode, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

Parameters

Name | Explanation
SrcHandle | A structure containing the image handle and the mask image handle member variables hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
Width | The width of the new image (in pixels)
Height | The height of the new image (in pixels)
Mode | Sets whether Interpolation is used. (False (0): does not interpolate, True (nonzero): interpolates). When enlarging the image, the linear interpolation method is used, when reducing the image, the average method is used. The interpolation can be used for 8 bit grayscale, 16, 24, and 32 bit images.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle and mask image handle in the structure members if successful. If unsuccessful, 0 is returned in the structure member variables.

Explanation

The IKResize function changes the size of raster images. When the Mode parameter is false (No interpolation) then changes in size can adversely affect the quality of the Image. Use this function in Visual Basic and Visual C++. For C++Builder and Delphi, please refer to the IKResizeEx function.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKResizeEx

This function changes the size of raster images. Use this function in C++Builder and Delphi. For Visual Basic and Visual C++, please refer to the IKResize function.

[C++Builder] BOOL IKResizeEx(PTR_IKSELECT_IMAGE SrcHandle, PTR_IKSELECT_IMAGE DstHandle, long Width, long Height, BOOL Mode, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKResizeEx(var SrcHandle, DstHandle: IKSELECT_IMAGE; Width, Height: Longint; Mode: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

Parameters

Name | Explanation
SrcHandle | A structure containing the image handle and the mask image handle member variables hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
DstHandle | A structure whose member variables contain the created image handle and mask image handle. (if unsuccessful the members of the structure return 0) Note: DstHandle is used by the IKResizeEx function only
Width | The width of the new image (in pixels)
Height | The height of the new image (in pixels)
Mode | Sets whether Interpolation is used. (False (0): does not interpolate, True (nonzero): interpolates). When enlarging the image, the linear interpolation method is used, when reducing the image, the average method is used. The interpolation can be used for 8 bit grayscale, 16, 24, and 32 bit images.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKResizeEx function changes the size of raster images. When the Mode parameter is false (No interpolation) then changes in size can adversely affect the quality of the Image. Use this function in C++Builder and Delphi. For Visual Basic and Visual C++, please refer to the IKResize function

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKRGBGamma

This function uses gamma correction to adjust the RGB values of a raster image.

[C++Builder/Visual C++] HANDLE IKRGBGamma(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, double Red, double Green, double Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKRGBGamma(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue: Double; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKRGBGamma(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Double, ByVal Green As Double, ByVal Blue As Double, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Red | The gamma factor for the red plane
Green | The gamma factor for the green plane
Blue | The gamma factor for the blue plane
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKRGBGamma function uses gamma correction to adjust the RGB values 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.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When processing a 1, 4 or 8 bit image, the whole image will be processed regardless of the value of the SelectMode.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKRGBLevel

This function increases (or decreases) the RGB values of a raster image.

[C++Builder/Visual C++] HANDLE IKRGBLevel(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, int Red, int Green, int Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKRGBLevel(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKRGBLevel(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Long, ByVal Green As Long, ByVal Blue As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Red | Sets the shift in the red component of the RGB value (from-255 to 255)
Green | Sets the shift in the green component of the RGB value (from-255 to 255)
Blue | Sets the shift in the blue component of the RGB value (from-255 to 255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKRGBLevel function increases (or decreases) the RGB values of a raster image. As the values of the Red, Green, or Blue parameters increase, the image becomes brighter. As those values decrease, the image becomes darker. If the Red, Green, or Blue parameters are 0, the image is not altered.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When processing a 1, 4 or 8 bit image, the whole image will be processed regardless of the value of the SelectMode.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKRGBRev

This function reverses the RGB values of a raster image.

[C++Builder/Visual C++] HANDLE IKRGBRev(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BOOL Red, BOOL Green, BOOL Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKRGBRev(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKRGBRev(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Long, ByVal Green As Long, ByVal Blue As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Red | Reverses the red component of the RGB value (False(0): does not reverse value, True( nonzero): reverses value)
Green | Reverses the green component of the RGB value (False(0): does not reverse value, True( nonzero): reverses value)
Blue | Reverses the blue component of the RGB value (False(0): does not reverse value, True( nonzero): reverses value)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKRGBRev function reverses the RGB values of a raster image. If the Red, Green, or Blue parameters are True, then that component of the RGB value is reversed. So, for example, the reverse of a red component = 255 would be a red component = 0 (Red = 255 - Red).

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When processing a 1, 4 or 8 bit image, the whole image will be processed regardless of the value of the SelectMode.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKRGBSpline

This function uses spline function to modifiy the RGB values of a raster image.

[C++Builder/Visual C++] HANDLE IKRGBSpline(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, LPPOINT lpSpPoint, int SpPoints, BOOL Red, BOOL Green, BOOL Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKRGBSpline(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; var lpSpPoint: TPoint; SpPoints: Integer; Red, Green, Blue: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKRGBSpline(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, lpSpPoint As IKPOINT, ByVal SpPoints As Long, ByVal Red As Long, ByVal Green As Long, ByVal Blue As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
lpSpPoint | A structure of arrays containing output RGB values defining the coordinates for points on the RGBSpline curve (Values are set in the same way as lpPoints).
SpPoints | The number of (spx, spy) coordinates in the array (from 3 to 10)
Red | Affects the red component of the RGB value (False(0): does not affect the red component, True( nonzero): affects the red component)
Green | Affects the green component of the RGB value (False(0): does not affect the green component, True( nonzero): affects the green component)
Blue | Affects the blue component of the RGB value (False(0): does not affect the blue component, True( nonzero): affects the blue component)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKRGBSpline function uses spline function to modifiy the RGB values of a raster image. A spline function is a method of interpolating values that lay in between data points. In other words it produces a smooth curve from a limited set of points.

The IKRGBSpline function allows you to define the relationship between the input RGB values in the original image and output RGB values in the newly created image. You do this by specifying a set of coordinate points where the input RGB values are the x coordinates and the output RGB values are the y coordinates. These coordinate points are stored in arrays and passed to the IKRGBSpline function through the lpSpPoint structure. The IKRGBSpline function then interpolates a "smooth" curve from these coordinate points. The graphic representation of this relationship between input RGB and output RGB values is known as the RGBSpline curve. A sample RGBSpline curve is shown in the diagram below:

In the above diagram, the green default RGBSpline curve represents no change between input RGB values and output RGB values. In this case, the newly created image is exactly the same as the orginal image. The red RGBSpline curve represents an increase in contrast between the original image and the newly created image. It was generated from the following points: (The lpSpPoint point values are specified below. SpPoints=5)

Point (x values,y values)
Point A | (0,0)
Point B | (64,32)
Point C | (128,128)
Point D | (192,160)
Point E | (255,255)

At the midpoint of the red RGBSpline curve, the input RGB value of 128 equals the output RGB value of 128. At points below the midpoint, however, the output RGB values are lower than the input RGB values. This means that dark colors become darker. Conversely, at points above the midpoint, output RGB values are higher than input RGB values. This means that light colors become lighter. This particular RGBSpline curve therefore increases the contrast of the image.

An RGBSpline curve that decreases contrast could be defined with the following points: (The lpSpPoint point values are specified below. SpPoints=5)

Point (x values,y values)
Point A | (0,0)
Point B | (64, 96)
Point C | (128,128)
Point D | (225,192)
Point E | (255,255)

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When processing a 1, 4 or 8 bit image, the whole image will be processed regardless of the value of the SelectMode. Please set the lpSpPoint members to values from 0 to 255.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKRipple

This function produces a ripple like effect on a raster image.

[C++Builder/Visual C++] HANDLE IKRipple(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, double Amp, double Wavelen, double Phase, BOOL BackColor, BOOL Reflect, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKRipple(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Amp, Wavelen, Phase: Double; BackColor, Reflect: LongBool; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKRipple(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Amp As Double, ByVal Wavelen As Double, ByVal Phase As Double, ByVal BackColor As Long, ByVal Reflect As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh can be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Amp | Sets the amplitude or height of the ripples. As this value increases the ripples become higher.
Wavelen | Sets the wavelength or distance from the crest of one wave to the crest of the next wave. As this value increases there are few ripples produced.
Phase | Sets the phase or shift in the wave cycle
BackColor | Sets whether empty spaces are filled with color from adjacent pixels or from the color set as a background color [False(0): spaces filled with background color, True(nonzero):spaces filled with the color of the adjacent pixels]
Reflect | Causes a reflective effect from one ripple to the next. (Best used with small amplitudes) [False(0):No reflection, True(nonzero): reflection]
Red | The red component of the background color (from 0 to 255)
Green | The green component of the background color (from 0 to 255)
Blue | The blue component of the background color (from 0 to 255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKRipple function produces a ripple like effect on a raster image.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When the BackColor parameter is FALSE (0) the Red, Green and Blue parameters are enabled.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKRotation

This function rotates a raster image. Use this function in Visual Basic and Visual C++. For C++Builder and Delphi, please refer to the IKRotationEx function.

[Visual Basic] Function IKRotation(SrcHandle As IKSELECT_IMAGE, ByVal Angle As Long, ByVal TurnX As Long, ByVal TurnY As Long, ByVal Mode As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Clip As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As IKSELECT_IMAGE
[Visual C++] IKSELECT_IMAGE IKRotation(PTR_IKSELECT_IMAGE SrcHandle, int Angle, BOOL TurnX, BOOL TurnY, BOOL Mode, BYTE Red, BYTE Green, BYTE Blue, BOOL Clip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

Parameters

Name | Explanation
SrcHandle | A structure containing the image handle and the mask image handle member variables hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
Angle | Angle of rotation (-35999 to 35999, in 1/100 degree units)
TurnX | Reverses image along the x axis (False(0): no reversal, True (nonzero): reversal)
TurnY | Reverses image along the y axis (False(0): no reversal, True (nonzero): reversal)
Mode | Sets whether on not linear interpolation is used (False (0): does not interpolate, True (nonzero): interpolates). Interpolation is enabled for 8 bit grayscale, 16, 24, and 32 bit images only.
Red | The red component of the background color (from 0 to 255)
Green | The green component of the background color (from 0 to 255)
Blue | The blue component of the background color (from 0 to 255)
Clip | Sets whether or not the image is clipped (False(0): No clipping, True(nonzero) clipping)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle and mask image handle in the structure members if successful. If unsuccessful, 0 is returned in the structure member variables.

Explanation

The IKRotation function rotates a raster image. Use this function in Visual Basic and Visual C++. For C++Builder and Delphi, please refer to the IKRotationEx function.

If the Angle parameter value is positive, the image is rotated counterclockwise, if the Angle parameter value is negative, the image is rotated clockwise. When the Clip parameter is True and the rotated image is larger than the original, the excess areas are cut.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user functions please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKRotationEx

This function rotates a raster image. Use this function in C++Builder and Delphi. For Visual Basic and Visual C++, please refer to the IKRotation function.

[C++Builder] BOOL IKRotationEx(PTR_IKSELECT_IMAGE SrcHandle, PTR_IKSELECT_IMAGE DstHandle, int Angle, BOOL TurnX, BOOL TurnY, BOOL Mode, BYTE Red, BYTE Green, BYTE Blue, BOOL Clip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKRotationEx(var SrcHandle, DstHandle: IKSELECT_IMAGE; Angle: Integer; TurnX, TurnY, Mode: LongBool; Red, Green, Blue: Byte; Clip: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): LonBool;

Parameters

Name | Explanation
SrcHandle | A structure containing the image handle and the mask image handle member variables hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
DstHandle | A structure whose member variables contain the created image handle and mask image handle (if unsuccessful the members of the structure return 0) Note: DstHandle is used by the IKRotationEx function only
Angle | Angle of rotation (-35999 to 35999, in 1/100 degree units)
TurnX | Reverses image along the x axis (False(0): no reversal, True (nonzero): reversal)
TurnY | Reverses image along the y axis (False(0): no reversal, True (nonzero): reversal)
Mode | Sets whether on not linear interpolation is used (False (0): does not interpolate, True (nonzero): interpolates). Interpolation is enabled for 8 bit grayscale, 16, 24, and 32 bit images only.
Red | The red component of the background color (from 0 to 255)
Green | The green component of the background color (from 0 to 255)
Blue | The blue component of the background color (from 0 to 255)
Clip | Sets whether or not the image is clipped (False(0): No clipping, True(nonzero) clipping)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False if unsuccessful.

Explanation

The IKRotationEx function rotates a raster image. Use this function in C++Builder and Delphi. For Visual Basic and Visual C++, please refer to the IKRotation function.

If the Angle parameter value is positive, the image is rotated counterclockwise, if the Angle parameter value is negative, the image is rotated clockwise. When the Clip parameter is True and the rotated image is larger than the original, the excess areas are cut.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user functions please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKSelectImage

This function allows you to define an area on a raster image and create a new image and mask image from that area. Use this function in Visual Basic and Visual C++. For C++Builder and Delphi, please refer to the IKSelectImageEx function.

[Visual Basic] Function IKSelectImage(ByVal Handle As Long, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As IKSELECT_IMAGE
[Visual C++] IKSELECT_IMAGE IKSelectImage(HANDLE Handle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);

Parameters

Name | Explanation
Handle | The image handle of the raster image. (can be a 1, 4, 8, 16, 24, or 32 bit image)
SelectMode | Sets the method for selecting the area on the image that will be processed (1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Red | The red component of the color painted outside the area selected (from 0 to 255)
Green | The green component of the color painted outside the area selected (from 0 to 255)
Blue | The blue component of the color painted outside the area selected (from 0 to 255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle and mask image handle in the structure members if successful. If unsuccessful, 0 is returned in the structure member variables.

Explanation

The IKSelectImage function allows you to define an area on a raster image and create a new image and mask image from that area. Use this function in Visual Basic and Visual C++. For C++Builder and Delphi, please refer to the IKSelectImageEx function.

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

  1. To process the total image, set SelectMode to 1.
  2. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  3. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

The IKSelectImage function generates the smallest rectangle that can include the selected area and sets the image handles of this area into the members of the IKSELECT_IMAGE structure. The color defined by the Red, Green, and Blue parameters wil be painted in the resulting image in the area that is outside the selected area. The resulting mask image will be a black and white, 1 bit color image where the selected area is white and the area outside of the select area is black. For more information about the images and mask images, please refer to the section in the help file entitled, "Using Effect Methods and Functions".

Note: the image handles passed to this function are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.

If you would like to select a rectangular area on an image and do not require a mask image, please use the IKCutRectImage function as it is much faster than the IKSelectImage function.


IKSelectImageEx

This function allows you to define an area on a raster image and create a new image and mask image from that area. Use this function in C++Builder and Delphi. For Visual Basic and Visual C++, please refer to the IKSelectImage function.

[C++Builder] BOOL IKSelectImageEx(HANDLE Handle, PTR_IKSELECT_IMAGE DstHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSelectImageEx(Handle: THandle; var DstHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

Parameters

Name | Explanation
Handle | The image handle of the raster image. (can be a 1, 4, 8, 16, 24, or 32 bit image)
DstHandle | A structure whose member variables contain the created image handle and mask image handle (if unsuccessful the members of the structure return 0) Note: DstHandle is used by the IKSelectImageEx function only
SelectMode | Sets the method for selecting the area on the image that will be processed (1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Red | The red component of the color painted outside the area selected (from 0 to 255)
Green | The green component of the color painted outside the area selected (from 0 to 255)
Blue | The blue component of the color painted outside the area selected (from 0 to 255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False if unsuccessful.

Explanation

The IKSelectImageEx function allows you to define an area on a raster image and create a new image and mask image from that area. Use this function in C++Builder and Delphi. For Visual Basic and Visual C++, please refer to the IKSelectImage function.

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

  1. To process the total image, set SelectMode to 1.
  2. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  3. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

The IKSelectImageEx function generates the smallest rectangle that can include the selected area and sets the image handles of this area into the members of the IKSELECT_IMAGE structure. The color defined by the Red, Green, and Blue parameters wil be painted in the resulting image in the area that is outside the selected area. The resulting mask image will be a black and white, 1 bit color image where the selected area is white and the area outside of the select area is black. For more information about the images and mask images, please refer to the section in the help file entitled, "Using Effect Methods and Functions".

Note: the image handles passed to this function are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.

If you would like to select a rectangular area on an image and do not require a mask image, please use the IKCutRectImage function as it is much faster than the IKSelectImage function.


IKSetDibPixel

This function sets the RGB value and the palette number of a specified pixel in the Device Independent Bitmap (DIB).

[C++Builder/Visual C++] BOOL IKSetDibPixel(PTR_IKDIB_INFO stpDibInfo, long lx, long ly);
[Delphi] function IKSetDibPixel(var stpDibInfo: IKDIB_INFO: lx, ly: Longint): LongBool;
[Visual Basic] Function IKSetDibPixel(stpDibInfo As IKDIB_INFO, ByVal lx As Long, ByVal ly As Long) As Long

Parameters

Name | Explanation
stpDibInfo | A structure variable (user-defined type) as retrieved by the IKStartDibAccess function
lx, ly | The x,y coordinates of the specified pixel

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKSetDibPixel function sets the RGB value and the palette number of a specified pixel in the Device Independent Bitmap (DIB). For images that are 1, 4, or 8 bit, set the PalNo into the stpDipInfo parameter. Fo 16, 24, or 32 bit images, set the appropriate Red, Green, and Blue vales in the stpDipInfo parameter.

This function is to be used in conjunction with the IKStartDibAccess function. If successful, the appropriate values are set in the ucPal, ucRed, ucGreen, and ucBlue members of the IKDIB_INFO structure.

For more information about IKDIB_INFO, please refer to the explanation of the IKDIB_INFO member variables at the beginning of the Ik10Effect.dll section.

To access the DIB and manipulate pixel data, you must use the following functions as a group.

IKStartDibAccess

l

IKGetDibPixel, IKSetDibPixel

l

IKEndDibAccess

Sample Code

The following code starts access to the DIB, then loops through each pixel in the image, using the IKGetDibPixel function to retrieve the pixels' rgb values. Then those values are reversed and set using the IKSetDibPixel function.

(1)Delphi

Handle: THandle;

ImageInfo: IKIMAGE_INFO;

DibInfo: IKDIB_INFO;

Ret: LongBool;

i, j: Integer;

Handle := IKFileLoad('newtone.bmp', 0, 0, 0, 0, nil, nil, nil);

if Handle = 0 then Exit;

Ret := IKGetImageType(Handle, ImageInfo);

Ret := IKStartDibAccess(Handle, DibInfo);

for i := 0 to ImageInfo.Height - 1 do

begin

for j := 0 to ImageInfo.Width - 1 do

begin

Ret := IKGetDibPixel(DibInfo, j, i);

if ImageInfo.BitCount = 1 then

begin

if DibInfo.PalNo <> 0 then

DibInfo.PalNo := 0

else

DibInfo.PalNo := 1;

end

else if ImageInfo.BitCount > 8 then

begin

DibInfo.Blue := 255 - DibInfo.Blue;

DibInfo.Green := 255 - DibInfo.Green;

DibInfo.Red := 255 - DibInfo.Red;

end;

Ret := IKSetDibPixel(DibInfo, j, i);

end;

end;

Ret := IKEndDibAccess(Handle, DibInfo);

Ret := IKBmpFileSave('newtone.bmp', Handle, False, 0, nil, nil, nil);

IKFreeMemory(Handle);

(2)Visual Basic

Dim Handle As Long

Dim ImageInfo As IKIMAGE_INFO

Dim DibInfo As IKDIB_INFO

Dim Ret As Long

Dim i As Long, j As Long

Handle = IKFileLoad("newtone.bmp", 0, 0, 0, 0, "", "", "")

If Handle = 0 Then Exit Sub

Ret = IKGetImageType(Handle, ImageInfo)

Ret = IKStartDibAccess(Handle, DibInfo)

For i = 0 To ImageInfo.Height - 1

For j = 0 To ImageInfo.Width - 1

Ret = IKGetDibPixel(DibInfo, j, i)

If ImageInfo.BitCount = 1 Then

If DibInfo.PalNo <> 0 Then

DibInfo.PalNo = 0

Else

DibInfo.PalNo = 1

End If

Else If ImageInfo.BitCount > 8 Then

DibInfo.Blue = 255 - DibInfo.Blue

DibInfo.Green = 255 - DibInfo.Green

DibInfo.Red = 255 - DibInfo.Red

End If

Ret = IKSetDibPixel(DibInfo, j, i)

Next j

Next i

Ret = IKEndDibAccess(Handle, DibInfo)

Ret = IKBmpFileSave("newtone.bmp", Handle, False, 0, "", "", "")

IKFreeMemory(Handle)


IKSetGray

This function changes a raster image to gray.

[C++Builder/Visual C++] HANDLE IKSetGray(HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSetGray(Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKSetGray(ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | The image handle of the raster image (can be a 1, 4, 8, 16, 24, or 32 bit image).
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKSetGray function changes a raster image to gray.

Note: the IKSetGray function will convert a raster image to gray without changing the bitcount. A 24 bit color image, for example, is coverted to gray but is still 24 bit color. To change an image to 8-bit grayscale, please use the IKConvertColor function.

Note: the image handles passed to this function are NOT automatically freed after execution.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKSetSecretImage

This function sets a digital watermark image or digital watermark text into a raster image.

[C++Builder/Visual C++] HANDLE IKSetSecretImage(HANDLE Handle1, HANDLE Handle2, LPCTSTR Text, LPCTSTR FName, WORD FSize, BOOL Bold, BOOL Italic, BOOL Underline, BOOL StrikeOut, BYTE Direction, int Angle, int Level, int Left, int Top, int Right, int Bottom, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSetSecretImage(Handle1, Handle2: THandle; Text, FName: PChar; FSize: Word; Bold, Italic, Underline, StrikeOut: LongBool; Direction: Byte; Angle, Level, Left, Top, Right, Bottom: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKSetSecretImage(ByVal Handle1 As Long, ByVal Handle2 As Long, ByVal Text As String, ByVal FName As String, ByVal FSize As Integer, ByVal Bold As Long, ByVal Italic As Long, ByVal Underline As Long, ByVal StrikeOut As Long, ByVal Direction As Byte, ByVal Angle As Long, ByVal Level As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle1 | The image handle of the original image. (24 bit color images only). The watermark will be set on this image.
Handle2 | The image handle of the digital watermark (1 bit color image).
Text | Sets the digital watermark text (In the ANSI version, the length of text can be up to 127 bytes. In the Unicode version, the lenght of text can be up to 127 characters).
FName | Sets the font name (In the ANSI version, the length of the font name can be up to 31 bytes.In the Unicode version, the lenght of text can be up to 31 characters ).
FSize | Sets the font size ( in points)
Bold | If True (nonzero), sets font to bold.
Italic | If True (nonzero), sets font to italics.
Underline | If True (nonzero), sets underline to font.
StrikeOut | If True (nonzero), sets strikethrough line to font.
Direction | Sets the direction of the watermark text (0: left to right, 1: right to left, 2: top to bottom, 3: bottom to top)
Angle | Sets the rotation angle of the watermark text (0, 90, 180, 270 degrees).
Level | Sets the level of "detection" for the watermark (-20 to 20).
Left | The x coordinate of the location where the top left corner of the Handle2 image or text is to be attached to Handle1 (in pixels)
Top | The y coordinate of the location where the top left corner of the Handle2 image or text is to be attached to Handle1 (in pixels)
Right | The x coordinate of the location where the bottom right corner of the text is to be attached to Handle1 (in pixels)
Bottom | The y coordinate of the location where the bottom right corner of the text is to be attached to Handle1 (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle (24 bit image) if successful. Returns 0 if unsuccessful.

Explanation

The IKSetSecretImage function sets a digital watermark image or digital watermark text into a raster image. It can set either a 1 bit color image or text as the watermark. The value of the Level parameter determines how "detectable" the digitable watermark will be. As the Level parameter increases in a positive direction, the digital watermark becomes brighter. As it increases in a negative direction, the digital watermark becomes darker. Note also that depending on the Direction or Angle parameter values, the Underline and StrikeOut parameters may be ineffective. Left, Top, Right, and Bottom parameters are in pixel units.

If the Handle2 parameter is set (nonzero), the image referred to by the Handle2 parameter will be set as the digital watermark. In this case the top left corner of the Handle2 image will be attached to the Handle1 image at the coordinate location determined by the Top and Left parameters. If the Handle2 parameter is 0, then the Text set in the Text parameter will be used as the digital watermark. It will be placed within a rectangular area on the Handle1 image as determined by the Top, Left, Bottom and Right parameters. If you wish to set text longer that 128 bytes or if you want to place watermarks in multiple locations, please do that by creating the appropriate image for Handle2.

Note: the image handles passed to this function are NOT automatically freed after execution.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKSharp

This function modifies sharpness in a raster image.

[C++Builder/Visual C++] HANDLE IKSharp(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Level, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSharp(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Level: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKSharp(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Level As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Level | Sets the degree of sharpness (from 0 to 100, sharpness increases as the level increases)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKSharp function modifies sharpness in a raster image. As the Level parameter value increase the sharpness increases and the image becomes clearer.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKSplitRGBAImage

This function splits a 32 bit RGBA image into a 24 bit RGB image and an 8 bit alpha channel image.

[C++Builder/Visual C++] BOOL IKSplitRGBAImage(HANDLE InHandle, HANDLE *OutHandle1, HANDLE *OutHandle2, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSplitRGBAImage(InHandle: THandle; var OutHandle1, OutHandle2: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKSplitRGBAImage(ByVal InHandle As Long, OutHandle1 As Long, OutHandle2 As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the 32 bit RGBA image
OutHandle1 | The retrieved image handle of the 24 bit RGB image
OutHandle2 | The retrieved image handle of the 8 bit grayscaled alpha channel image
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the True(nonzero) if successful. Returns 0 if unsuccessful.

Explanation

The IKSplitRGBAImage function splits a 32 bit RGBA image into a 24 bit RGB image and an 8 bit alpha channel image.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.

See Also

Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll: IKPngFileLoadEx and IKPngFileSaveEx


IKStartDibAccess

This function is used to allow access to pixels in the Device Independent Bitmap (DIB). This method is to be used in conjunction with the IKEndDibAccess function.

[C++Builder/Visual C++] BOOL IKStartDibAccess(HANDLE hDib, PTR_IKDIB_INFO stpDibInfo);
[Delphi] function IKStartDibAccess(hDib: THandle; var stpDibInfo: IKDIB_INFO): LongBool;
[Visual Basic] Function IKStartDibAccess(ByVal hDib As Long, stpDibInfo As IKDIB_INFO) As Long

Parameters

Name | Explanation
hDib | The raster image memory handle (supports 1, 4, 8, 16. 24, and 32 bit images)
stpDibInfo | A structure variable (user-defined type) that retrieves DIB information

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKStartDibAccess function is used to allow access to pixels in the Device Independent Bitmap (DIB). This method is to be used in conjunction with the IKEndDibAccess function.

For more information about IKDIB_INFO, please refer to the explanation of the IKDIB_INFO member variables at the beginning of the Ik10Effect.dll section.

To access the DIB and manipulate pixel data, you must use the following functions as a group.

IKStartDibAccess

l

IKGetDibPixel, IKSetDibPixel

l

IKEndDibAccess

Sample Code

The following code starts access to the DIB, then loops through each pixel in the image, using the IKGetDibPixel function to retrieve the pixels' rgb values. Then those values are reversed and set using the IKSetDibPixel function.

(1)Delphi

Handle: THandle;

ImageInfo: IKIMAGE_INFO;

DibInfo: IKDIB_INFO;

Ret: LongBool;

i, j: Integer;

Handle := IKFileLoad('newtone.bmp', 0, 0, 0, 0, nil, nil, nil);

if Handle = 0 then Exit;

Ret := IKGetImageType(Handle, ImageInfo);

Ret := IKStartDibAccess(Handle, DibInfo);

for i := 0 to ImageInfo.Height - 1 do

begin

for j := 0 to ImageInfo.Width - 1 do

begin

Ret := IKGetDibPixel(DibInfo, j, i);

if ImageInfo.BitCount = 1 then

begin

if DibInfo.PalNo <> 0 then

DibInfo.PalNo := 0

else

DibInfo.PalNo := 1;

end

else if ImageInfo.BitCount > 8 then

begin

DibInfo.Blue := 255 - DibInfo.Blue;

DibInfo.Green := 255 - DibInfo.Green;

DibInfo.Red := 255 - DibInfo.Red;

end;

Ret := IKSetDibPixel(DibInfo, j, i);

end;

end;

Ret := IKEndDibAccess(Handle, DibInfo);

Ret := IKBmpFileSave('newtone.bmp', Handle, False, 0, nil, nil, nil);

IKFreeMemory(Handle);

(2)Visual Basic

Dim Handle As Long

Dim ImageInfo As IKIMAGE_INFO

Dim DibInfo As IKDIB_INFO

Dim Ret As Long

Dim i As Long, j As Long

Handle = IKFileLoad("newtone.bmp", 0, 0, 0, 0, "", "", "")

If Handle = 0 Then Exit Sub

Ret = IKGetImageType(Handle, ImageInfo)

Ret = IKStartDibAccess(Handle, DibInfo)

For i = 0 To ImageInfo.Height - 1

For j = 0 To ImageInfo.Width - 1

Ret = IKGetDibPixel(DibInfo, j, i)

If ImageInfo.BitCount = 1 Then

If DibInfo.PalNo <> 0 Then

DibInfo.PalNo = 0

Else

DibInfo.PalNo = 1

End If

Else If ImageInfo.BitCount > 8 Then

DibInfo.Blue = 255 - DibInfo.Blue

DibInfo.Green = 255 - DibInfo.Green

DibInfo.Red = 255 - DibInfo.Red

End If

Ret = IKSetDibPixel(DibInfo, j, i)

Next j

Next i

Ret = IKEndDibAccess(Handle, DibInfo)

Ret = IKBmpFileSave("newtone.bmp", Handle, False, 0, "", "", "")

IKFreeMemory(Handle)


IKUnifyColor

This function allows you to unify a range in colors in a raster image.

[C++Builder/Visual C++] HANDLE IKUnifyColor(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Red, BYTE Green, BYTE Blue, BYTE Error, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKUnifyColor(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Red, Green, Blue, Error: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKUnifyColor(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Error As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh must be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Red | The red component of the color to be unified (from 0 to 255)
Green | The green component of the color to be unified (from 0 to 255)
Blue | The blue component of the color to be unified (from 0 to 255)
Error | Sets the range of RGB values that will be unified (from 0 to 255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKUnifyColor function allows you to unify a range in colors in a raster image. This is very useful when using transparancy. The Red, Green, and Blue parameters define the unified color. The Error parameter sets the range (}Error) of colors that will be unified into the single color. So, for example, if you set the Red, Green and Blue parameter each to 128 and the Error parameter to 10, all colors ranging from RGB(118,118,118) to RGB(138,138,138) will be changed to RGB(128,128,128).

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKWaves

This function creates a wave like effect on a raster image.

[C++Builder/Visual C++] HANDLE IKWaves(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BYTE Direction, BYTE WaveType, int Period, int Amp, double Phase, BYTE Edges, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKWaves(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Direction, WaveType: Byte; Period, Amp: Integer; Phase: Double; Edges, Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKWaves(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Direction As Byte, ByVal WaveType As Byte, ByVal Period As Long, ByVal Amp As Long, ByVal Phase As Double, ByVal Edges As Byte, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh can be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Direction | Sets the direction of the waves (0: horizontal, 1: vertical)
WaveType | Sets the type of wave (0:sin wave, 1: sawtooth)
Period | Sets the length of the wave (more than 0)
Amp | Sets the size of the wave (more than 0)
Phase | Sets the phase or shift in the wave cycle (from 0.0 to 1.0)
Edges | Sets the type of edge(0: background color, 1:adjoining pixel color, 2 wrap around)
Red | The red component of the background color (from 0 to 255)
Green | The green component of the background color (from 0 to 255)
Blue | The blue component of the background color (from 0 to 255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKWaves function creates a wave like effect on a raster image.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When the Edges parameter is 0 the Red, Green and Blue parameters are enabled.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKWhirlPinch

This function produces an interesting effect similar to pinching a raster image then twisting your fingers.

[C++Builder/Visual C++] HANDLE IKWhirlPinch(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, double Whirl, double Pinch, double Radius, BYTE Red, BYTE Green, BYTE Blue, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKWhirlPinch(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Whirl, Pinch, Radius: Double; Red, Green, Blue: Byte; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKWhirlPinch(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Whirl As Double, ByVal Pinch As Double, ByVal Radius As Double, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh can be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Whirl | Sets the number of degrees of the twisting effect
Pinch | Sets the "strength" of the pinch
Radius | Sets the size of the area affected by the twisting effect (more than 0)
Red | The red component of the background color (from 0 to 255)
Green | The green component of the background color (from 0 to 255)
Blue | The blue component of the background color (from 0 to 255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKWhirlPinch function produces an interesting effect similar to pinching a raster image then twisting your fingers. The Whirl parameter sets the number of degrees of the twisting effect. A value of 360 would mean that the twisting effect makes one complete revolution. The Radius parameter sets the size of the twisting effect on the image. As the Radius parameter increases in size, it affects larger areas on the image. Values of 2 or more could mean the the radius of the twisting effect is larger than the image itself. In this case the background color is used to fill any spaces that are outside of the orginal image. It is recommended that you set a Radius value of less than 1 so that the area affected remains within the image, then experiment with the Whirl parameter to get the desired effect. The Pinch parameter does exactly that, it pinches the area in the center of the twisting effect. A Pinch parameter of 1 will bring all of the colors together in the center. Values greater than 1 can "tear" the image in which case the background color is painted in the center.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When the Edges parameter is 0 the Red, Green and Blue parameters are enabled.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKYCCGamma

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

[C++Builder/Visual C++] HANDLE IKYCCGamma(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, double Yb, double Cr, double Cb, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKYCCGamma(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Yb, Cr, Cb: Double; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKYCCGamma(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Yb As Double, ByVal Cr As Double, ByVal Cb As Double, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh can be 8bit grayscale, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Yb | The gamma factor for the Y plane
Cr | The gamma factor for the Cr plane
Cb | The gamma factor for the Cb plane
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKYCCGamma function uses gamma correction to adjust the YCrCb values 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 YCrCb 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.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When processing a 1, 4 or 8 bit image, the whole image will be processed regardless of the value of the SelectMode.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKYCCLevel

This function increases (or decreases) the YCrCb values of a raster image.

[C++Builder/Visual C++] HANDLE IKYCCLevel(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, int Yb, int Cr, int Cb, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKYCCLevel(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Yb, Cr, Cb: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKYCCLevel(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Yb As Long, ByVal Cr As Long, ByVal Cb As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Yb | Sets the shift in the Y component (luminance) of the YCrCb value (from -255 to 255)
Cr | Sets the shift in the Cr component (chrominance) of the YCrCb value (from -255 to 255)
Cb | Sets the shift in the Cb component (chrominance) of the YCrCb value (from -255 to 255)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKYCCLevel function increases (or decreases) the YCrCb values of a raster image. Y represents luminance, Cr and Cb represent chrominance. As the values of the Yb, Cr, or Cb parameters increase, the image becomes brighter. As those values decrease, the image becomes darker. If the Yb, Cr, or Cb parameters are 0, the image is not altered.

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When processing a 1, 4 or 8 bit image, the whole image will be processed regardless of the value of the SelectMode.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKYCCRev

This function reverses the YCrCb values of a raster image.

[C++Builder/Visual C++] HANDLE IKYCCRev(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, BOOL Yb, BOOL Cr, BOOL Cb, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKYCCRev(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; Yb, Cr, Cb: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKYCCRev(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, ByVal Yb As Long, ByVal Cr As Long, ByVal Cb As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
Yb | Reverses the Y component (luminance) of the YCrCb value (False(0): does not reverse value, True( nonzero): reverses value)
Cr | Reverses the Cr component (chrominance) of the YCrCb value (False(0): does not reverse value, True( nonzero): reverses value)
Cb | Reverses the Cb component (chrominance) of the YCrCb value (False(0): does not reverse value, True( nonzero): reverses value)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKYCCRev function reverses the YCrCb values of a raster image. If the Yb, Cr, or Cb parameters are True, then that component of the YCrCb value is reversed. So, for example, the reverse of a Yb component = 255 would be a Yb component = 0. (Yb = 255 - Yb)

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When processing a 1, 4 or 8 bit image, the whole image will be processed regardless of the value of the SelectMode.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


IKYCCSpline

This function uses spline function to modifiy the YCrCb values of a raster image.

[C++Builder/Visual C++] HANDLE IKYCCSpline(PTR_IKSELECT_IMAGE SrcHandle, BYTE SelectMode, LPPOINT lpPoint, int Points, LPRECT Rect, BOOL InOut, LPPOINT lpSpPoint, int SpPoints, BOOL Yb, BOOL Cr, BOOL Cb, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKYCCSpline(var SrcHandle: IKSELECT_IMAGE; SelectMode: Byte; var lpPoint: TPoint; Points: Integer; var Rect : TRect; InOut: LongBool; var lpSpPoint: TPoint; SpPoints: Integer; Yb, Cr, Cb: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKYCCSpline(SrcHandle As IKSELECT_IMAGE, ByVal SelectMode As Byte, lpPoint As IKPOINT, ByVal Points As Long, Rect As IKRECT, ByVal InOut As Long, lpSpPoint As IKPOINT, ByVal SpPoints As Long, ByVal Yb As Long, ByVal Cr As Long, ByVal Cb As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
SrcHandle A structure containing the image handle and the mask image handle member variables
hImgBmh can be 1, 4, 8, 16, 24, or 32 bit images
SelectMode | Sets the method for selecting the area on the image that will be processed (0: Mask handle, 1: Total image, 2: Polygon, 3: Ellipse)
lpPoint A structure defining coordinates for the points of the polygonal area on the image. (This parameter is enabled when SelectMode is 2)

In C++Builder and Visual C++, pass the pointer to the first element in the structure array.

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image, i.e. the number of points in the lpPoint array (This parameter is enabled when SelectMode is 2).
Rect | A structure specifying the coordinates for the rectangle bounding the elliptical area on the image (This parameter is enabled when SelectMode is 3)
InOut | Determines whether the area inside the selected area will be processed or the area outside the selected area will be processed. Enabled for polygon and ellipse (SelectMode is 2 or 3). If False (0), the area outside the selected area is processed. If True (nonzero) the area inside the selected area is processed.
lpSpPoint | A structure of arrays containing output YCrCb values defining the coordinates for points on the YCrCb Spline curve (Values are set in the same way as lpPoints).
SpPoints | The number of (spx, spy) coordinates in the array (from 3 to 10)
Yb | Affects the Y component (luminance) of the YCrCb value (False(0): does not affect the Y component, True( nonzero): affects the Y component)
Cr | Affects the Cr component (chrominance) of the YCrCb value (False(0): does not affect the Cr component, True( nonzero): affects the Cr component)
Cb | Affects the Cb component (chrominance) of the YCrCb value (False(0): does not affect the Cb component, True( nonzero): affects the Cb component)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the raster image handle if successful. Returns 0 if unsuccessful.

Explanation

The IKYCCSpline function uses spline function to modifiy the YCrCb values of a raster image. A spline function is a method of interpolating values that lay in between data points. In other words it produces a smooth curve from a limited set of points.

The IKYCCSpline function allows you to define the relationship between the input YCrCb values in the original image and output YCrCb values in the newly created image. You do this by specifying a set of coordinate points where the input YCrCb values are the x coordinates and the output YCrCb values are the y coordinates. These coordinate points are stored in arrays and passed to the IKYCCSpline function through the lpSpPoint structure member variables. The IKYCCSpline function then interpolates a "smooth" curve from these coordinate points. The graphic representation of this relationship between input YCrCb and output YCrCb values is known as the YCrCbSpline curve. A sample YCCSpline curve is shown in the diagram below:

In the above diagram, the green default YCrCbSpline curve represents no change between input YCrCb values and output YCrCb values. In this case, the newly created image is exactly the same as the orginal image. The red YCrCbSpline curve represents an increase in contrast between the original image and the newly created image. It was generated from the following points: (The lpSpPoint point values are specified below. SpPoints=5)

Point (x values,y values)
Point A | (0,0)
Point B | (64,32)
Point C | (128,128)
Point D | (192,160)
Point E | (255,255)

At the midpoint of the red YCrCbSpline curve, the input YCrCb value of 128 equals the output YCrCb value of 128. At points below the midpoint, however, the output YCrCb values are lower than the input YCrCb values. This means that dark colors become darker. Conversely, at points above the midpoint, output YCrCb values are higher than input YCrCb values. This means that light colors become lighter. This particular YCrCbSpline curve therefore increases the contrast of the image.

An YCrCbSpline curve that decreases contrast could be defined with the following points: (The lpSpPoint point values are specified below. SpPoints=5)

Point (x values,y values)
Point A | (0,0)
Point B | (64, 96)
Point C | (128,128)
Point D | (225, 192)
Point E | (255,255)

Before executing this function, 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 SelectMode to 0. Then set the mask image handle in SrcHandle.
  2. To process the total image, set SelectMode to 1.
  3. To process the polygonal area on the image, set SelectMode to 2. Select the polygon by setting the appropriate coordinate values for the points of the polygon in the lpPoint structure. Then set the number of points defining the polygon in Points (must be 3 or more).
  4. To process an elliptical area on the image, set SelectMode to 3. Select the ellipse by setting the appropriate values for the bounding rectangle in the Rect structure.

For the lpPoint and Rect structure members, coordinate points are in pixel units. When SelectMode is set to a value other than 2, set a dummy array in lpPoint and set Points to 0. When SelectMode is set to a value other than 3, then set a dummy array in Rect. When processing a 1, 4 or 8 bit image, the whole image will be processed regardless of the value of the SelectMode. Please set lpSpPoint members to values from 0 to 255.

Note: the image handles passed to IKSELECT_IMAGE are NOT automatically freed after executing this function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dlll section.


Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll

The Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll provides functions for loading and saving image files.

The Ik10File.dll corresponds to the 32 bit Unicode version.
The Ik10FileA.dll corresponds to the 32 bit ANSI version.
The Ik10File64.dll corresponds to the 64 bit Unicode version.
The Ik10File64A.dll corresponds to the 64 bit ANSI version.

The discussion below will use "Ik10File.dll" to refer to all 4 of these version dlls unless specifically noted.

Ik10File.dll Functions:

Function Name | Explanation
IKBmpFileLoad | Loads a raster image from a BMP file
IKBmpFileLoadMem | Loads a raster image from BMP format raw image data
IKBmpFileSave | Saves a raster image into a BMP image file
IKBmpFileSaveMem | Saves raster image data in BMP format as raw image data
IKCMYKBmpPlaneFileLoad | Loads a bmp file that has been saved in seperate CMYK planes
IKCMYKBmpPlaneFileSave | Saves a raster image into seperate CMYK planes
IKDxfFileLoad | Loads vector image data from a DXF file
IKDxfFileLoadMem | Loads a vector image from DXF format raw image data
IKDxfFileSave | Saves vector image data in a DXF file
IKDxfFileSaveMem | Saves vector image data in DXF format as raw image data
IKEmfFileLoad | Loads vector image data from an EMF file
IKEmfFileLoadMem | Loads a vector image from EMF format raw image data
IKEmfFileSave | Saves vector image data in an EMF file
IKEmfFileSaveMem | Saves vector image data in EMF format as raw image data
IKFileLoad | Loads image data from a file
IKFileLoadAsRawData | Loads data "as is" from an image file
IKFileLoadMem | Loads raw image data.
IKFileSaveAsRawData | Saves raw image data into a file
IKFileType | Retrieves various image information
IKFileTypeMem | Retrieves various information from the raw image data
IKFpxFileLoad | Loads raster image data from a FPX file
IKFpxFileLoadMem | Loads a raster image from FPX format raw image data
IKFpxFileSave | Saves raster image data in a FPX file
IKFpxFileSaveMem | Saves raster image data in FPX format as raw image data
IKFTPConnect | Connects to an FTP server
IKFTPDeleteFile | Deletes an existing file from the FTP server. (Includes connecting to and disconnecting from server)
IKFTPDeleteFileEx | Deletes an existing file from the FTP server
IKFTPDisconnect | Disconnects from an FTP server
IKFTPGetFile | Retrieves a file from the FTP server. (Includes connecting to and disconnecting from server)
IKFTPGetFileEx | Retrieves a file from the FTP server
IKFTPPutFile | Transfers a file to the FTP server. (Includes connecting to and disconnecting from server)
IKFTPPutFileEx | Transfers a file to the FTP server
IKFTPRenameFile | Renames an existing file on the FTP server. (Includes connecting to and disconnecting from server)
IKFTPRenameFileEx | Renames an existing file on the FTP server.
IKGifFileLoad | Loads raster image data from a GIF file
IKGifFileLoadMem | Loads a raster image from GIF format raw image data
IKGifFileSave | Saves raster image data in a GIF file
IKGifFileSaveMem | Saves raster image data in GIF format as raw image data
IKHTTPConnect | Connects to an HTTP(S) server
IKHTTPDisconnect | Disconnects from an HTTP(S) server
IKHTTPGetFile | Retrieves a file from the HTTP(S) server. (Includes connecting to and disconnecting from server)
IKHTTPGetFileEx | Retrieves a file from the HTTP(S) server
IKHTTPPutFile | Transfers a file to the HTTP(S) server. (Includes connecting to and disconnecting from server)
IKHTTPPutFileEx | Transfers a file to the HTTP(S) server
IKJ2kFileLoad | Loads raster image data from a JPEG2000 file
IKJ2kFileLoadMem | Loads a raster image from JPEG2000 format raw image data
IKJ2kFileSave | Saves raster image data in a JPEG2000 file
IKJ2kFileSaveMem | Saves raster image data in JPEG2000 format as raw image data
IKJpegExifInfo | Retrieves information about the primary image and thumbnail image from an Exif (JPEG) file
IKJpegExifInfoMem | Retrieves information about the main image and the thumbnail image from Exif format raw image data
IKJpegFileLoad | Loads raster image data from a JPEG file
IKJpegFileLoadMem | Loads a raster image from JPEG format raw image data
IKJpegFileSave | Saves raster image data in a JPEG file
IKJpegFileSaveEx | Saves raster image data and Exif information in a JPEG file
IKJpegFileSaveMem | Saves raster image data in JPEG format as raw image data
IKJpegFileSaveMemEx | Saves raster image data and Exif information in JPEG format as raw image data
IKOpenFileDialog | Displays the Open dialog which can include a file preview and file information
IKOpenFileDlg | Displays the "Open" dialog which can include a file preview
IKPcxFileLoad | Loads raster image data from a PCX file
IKPcxFileLoadMem | Loads a raster image from PCX format raw image data
IKPcxFileSave | Saves raster image data in a PCX file
IKPcxFileSaveMem | Saves raster image data in PCX format as raw image data
IKPngFileLoad | Loads raster image data from a PNG file
IKPngFileLoadEx | Loads raster image data, including alpha channel data, from a PNG file
IKPngFileLoadExMem | Loads a raster image including an alpha channel from PNG format raw image data
IKPngFileLoadMem | Loads a raster image from PNG format raw image data
IKPngFileSave | Saves raster image data in a PNG file
IKPngFileSaveEx | Saves raster image data, including alpha channel data, in a PNG file
IKPngFileSaveExMem | Saves raster image data, including alpha channel data, in PNG format as raw image data
IKPngFileSaveMem | Saves raster image data in PNG format as raw image data
IKRGBBmpPlaneFileLoad | Loads a bmp file that has been saved in seperate RGB planes
IKRGBBmpPlaneFileSave | Saves a raster image into seperate RGB planes
IKSaveFileDialog | Displays the "Save" dialog which includes a file preview and file information
IKSaveFileDlg | Displays the "Save" dialog box which includes the file preview function
IKSaveFileDlgEx | Displays the "Save" dialog which includes the file preview function
IKSvgFileLoad | Loads vector image data from a SVG file
IKSvgFileLoadMem | Loads a vector image from SVG format raw image data
IKSvgFileSave | Saves vector image data in a SVG file
IKSvgFileSaveMem | Saves vector image data in SVG format as raw image data
IKSxfP21FileLoad | Loads vector image data from a SFX p21 format file
IKSxfP21FileLoadMem | Loads a vector image from SXF p21 format raw image data
IKSxfP21FileSave | Saves vector image data in an SXF p21 format file
IKSxfP21FileSaveMem | Saves vector image data in SXF p21 format as raw image data
IKSxfSfcFileLoad | Loads vector image data from an SXF sfc format file
IKSxfSfcFileLoadMem | Loads a vector image from SXF sfc format raw image data
IKSxfFileSave | Saves vector image data in a SXF Sfc format file
IKSxfSfcFileSaveMem | Saves vector image data in SXF sfc format as raw image data
IKTiffFileLoad | Loads raster image data from a TIFF file
IKTiffFileLoadMem | Loads raster image data from a TIFF format raw image data
IKTiffFileSave | Saves raster image data in a TIFF file
IKTiffFileSaveMem | Saves raster image data in TIFF format as raw image data
IKWmfFileLoad | Loads vector image data from a WMF file
IKWmfFileLoadMem | Loads a vector image from WMF format raw image data
IKWmfFileSave | Saves vector image data in a WMF file
IKWmfFileSaveMem | Saves vector image data in WMF format as raw image data
IKYCCBmpPlaneFileLoad | Loads raster image from a bmp file that has been saved in seperate YCrCb planes into the memory
IKYCCBmpPlaneFileSave | Saves a raster image into seperate YCrCb planes

Structure definitions (User-defined types)

IKFILE_INFO: refers to file information (use either IKFileType or IKFileTypeMem)

(1)C++Builder/Visual C++
typedef struct {
short BitCount;
long Xdpi;
long Ydpi;
long Width;
long Height;
long WidthByte;
long ImageSize;
short FileType;
short Interlace;
short MaxPage;
long FileSize;
char Comment[1024];
WORD CommentLen;
short CreationTimeYear;
short CreationTimeMonth;
short CreationTimeDay;
short CreationTimeHour;
short CreationTimeMinute;
short CreationTimeSecond;
short LastAccessTimeYear;
short LastAccessTimeMonth;
short LastAccessTimeDay;
short LastAccessTimeHour;
short LastAccessTimeMinute;
short LastAccessTimeSecond;
short LastWriteTimeYear;
short LastWriteTimeMonth;
short LastWriteTimeDay;
short LastWriteTimeHour;
short LastWriteTimeMinute;
short LastWriteTimeSecond;
} IKFILE_INFO;
typedef IKFILE_INFO * PTR_IKFILE_INFO;

(2)Delphi
type
IKFILE_INFO = Record
BitCount: Smallint;
Xdpi: Longint;
Ydpi: Longint;
Width: Longint;
Height: Longint;
WidthByte: Longint;
ImageSize: Longint;
FileType: Smallint;
Interlace: Smallint;
MaxPage: Smallint;
FileSize: Longint;
Comment: array [0..1023] of Char;
CommentLen: Word;
CreationTimeYear: Smallint;
CreationTimeMonth: Smallint;
CreationTimeDay: Smallint;
CreationTimeHour: Smallint;
CreationTimeMinute: Smallint;
CreationTimeSecond: Smallint;
LastAccessTimeYear: Smallint;
LastAccessTimeMonth: Smallint;
LastAccessTimeDay: Smallint;
LastAccessTimeHour: Smallint;
LastAccessTimeMinute: Smallint;
LastAccessTimeSecond: Smallint;
LastWriteTimeYear: Smallint;
LastWriteTimeMonth: Smallint;
LastWriteTimeDay: Smallint;
LastWriteTimeHour: Smallint;
LastWriteTimeMinute: Smallint;
LastWriteTimeSecond: Smallint;
end;

(3)Visual Basic
Type IKFILE_INFO
BitCount As Integer
Xdpi As Long
Ydpi As Long
Width As Long
Height As Long
WidthByte As Long
ImageSize As Long
FileType As Integer
Interlace As Integer
MaxPage As Integer
FileSize As Long
Comment As String * 1024
CommentLen As Integer
CreationTimeYear As Integer
CreationTimeMonth As Integer
CreationTimeDay As Integer
CreationTimeHour As Integer
CreationTimeMinute As Integer
CreationTimeSecond As Integer
LastAccessTimeYear As Integer
LastAccessTimeMonth As Integer
LastAccessTimeDay As Integer
LastAccessTimeHour As Integer
LastAccessTimeMinute As Integer
LastAccessTimeSecond As Integer
LastWriteTimeYear As Integer
LastWriteTimeMonth As Integer
LastWriteTimeDay As Integer
LastWriteTimeHour As Integer
LastWriteTimeMinute As Integer
LastWriteTimeSecond As Integer
End Type

Executing the IKFileType function sets values into each member variable. Except for MaxPage and FileSize, the values set by the IkFileType function reflect the specified page information. With the exception of TIFF file format, Comment values are for the specified file.

BitCount:
The number of bits per pixel in the image *1
1:2 colors, 4:16 colors, 8:256 colors, 16:16 bit color, 24:24 bit color, 32:32 color
Xdpi:
The number of pixels per horizontal inch of the image
Ydpi:
The number of pixels per vertical inch of the image
Width:
The width of an image in pixels
Height:
The height of an image in pixels
WidthByte:
The number of bytes per line in the image *1
ImageSize:
The size of an image in bytes *1
FileType:
Refers to the file type

Value: Format | Value: Format | Value: Format | Value: Format
1: BMP/DIB | 2: BMP/DIB(RLE4) | 3: BMP/DIB(RLE8) | 4: JPEG(Standard DCT)
5: JPEG(Progressive DCT) | 6: GIF(87a) | 7: GIF(89a) | 8: TIFF(Uncompressed)
9: TIFF(CCITTRLE) | 10: TIFF(GROUP3-1D) | 11: TIFF(GROUP3-2D) | 12: TIFF(GROUP4)
13: TIFF(PACKBITS) | 14: TIFF(LZW) | 15: PNG | 16: FPX(Uncompressed)
17: FPX(Single Color) | 18: FPX(JPEG) | 19: PCX | 20:WMF
21: EMF | 22: DXF | 23: Exif(JPEG) | 24: SVG
25: JPEG2000 | 26: JPEG2000(Code Stream) | 27: SXF(p21) | 28: SXF(sfc)
29: TIFF(JPEG)

TIFF GROUP3-1D is the same as MH, TIFF GROUP3-2D is the same as MR, TIFF GROUP4 is the same as MMR.
The ImageKit supports a portion of the Exif version 2.3 tags
Note: If an unsupported image is loaded, then the FileType will return 0.
Interlace:
Sets whether or not Gif and Png images are interlaced (0: No Interlace, 1: Interlacing) *1
MaxPage:
Refers to the number of pages of the image file
FileSize:
Refers to the size of the actual image data
Comment:
Refers to the comment in certain image files *1, *3
Regarding the format of the comment, please refer to the appropriate save file command
CommentLen:
Refers to the length of the string in the Comment *2
CreationTimeYear:
Refers to the year when the file was created *2
CreationTimeMonth:
Refers to the month when the file was created *2
CreationTimeDay:
Refers to the day when the file was created *2
CreationTimeHour:
Refers to the hour when the file was created *2
CreationTimeMinute:
Refers to the minute when the file was created *2
CreationTimeSecond:
Refers to the second when the file was created *2
LastAccessTimeYear:
Refers to the year when the file was last accessed *2
LastAccessTimeMonth:
Refers to the month when the file was last accessed *2
LastAccessTimeDay:
Refers to the day when the file was last accessed *2
LastAccessTimeHour:
Refers to the hour when the file was last accessed *2
LastAccessTimeMinute:
Refers to the minute when the file was last accessed *2
LastAccessTimeSecond:
Refers to the second when the file was last accessed *2
LastWriteTimeYear:
Refers to the year when the file was last modified *2
LastWriteTimeMonth:
Refers to the month when the file was last modified *2
LastWriteTimeDay:
Refers to the day when the file was last modified *2
LastWriteTimeHour:
Refers to the hour when the file was last modified *2
LastWriteTimeMinute:
Refers to the minute when the file was last modified *2
LastWriteTimeSecond:
Refers to the second when the file was last modified *2

*1 Cannot be used with vector images
*2 These are members added in the ImageKit7. This is important if converting ImageKit5 or ImageKit6 programs
*3 The size of these members were increased in the ImageKit7. This is important if converting ImageKit5 or ImageKit6 programs.

IMAGE_TAG: Refers to the main image and thumbnail image information in an Exif file

(1)C++Builder/Visual C++
typedef struct {
unsigned short Compression;
unsigned short Orientation;
unsigned short YCbCrPositioning;
unsigned long XResolution[2];
unsigned long YResolution[2];
unsigned short ResolutionUnit;
char DateTime[20];
char ImageDescription[257];
WORD ImageDescriptionLen;
char Make[257];
WORD MakeLen;
char Model[257];
WORD ModelLen;
char Software[257];
WORD SoftwareLen;
char Artist[257];
WORD ArtistLen;
char Copyright[257];
WORD CopyrightLen;
HANDLE ThumbImageHandle;
} IMAGE_TAG;
typedef IMAGE_TAG * PTR_IMAGE_TAG;

(2)Delphi
type
IMAGE_TAG = Record
Compression: Word;
Orientation: Word;
YCbCrPositioning: Word;
XResolution: array[0..1] of DWORD;
YResolution: array[0..1] of DWORD;
ResolutionUnit: Word;
DateTime: array[0..19] of Char;
ImageDescription: array[0..256] of Char;
ImageDescriptionLen: Word;
Make: array[0..256] of Char;
MakeLen: Word;
Model: array[0..256] of Char;
ModelLen: Word;
Software: array[0..256] of Char;
SoftwareLen: Word;
Artist: array[0..256] of Char;
ArtistLen: Word;
Copyright: array[0..256] of Char;
CopyrightLen: Word;
ThumbImageHandle: THandle;
end;

(3)Visual Basic
Type IMAGE_TAG
Compression As Integer
Orientation As Integer
YCbCrPositioning As Integer
XResolution(0 To 1) As Long
YResolution(0 To 1) As Long
ResolutionUnit As Integer
DateTime As String * 20
ImageDescription As String * 257
ImageDescriptionLen As Integer
Make As String * 257
MakeLen As Integer
Model As String * 257
ModelLen As Integer
Software As String * 257
SoftwareLen As Integer
Artist As String * 257
ArtistLen As Integer
Copyright As String * 257
CopyrightLen As Integer
ThumbImageHandle As Long
End Type

Compression:
Refers to the type of image compression (1: Uncompressed, 6: JPEG Compression, *Thumbnail image only)
Orientation:
Refers to the image orientation as viewed in terms of rows and columns
YCbCrPositioning:
Refers to the position of chrominance components (CbCr) in relation to the luminance component (Y) (1: center, 2: Co-sited)
XResolution:
Refers to the number of pixels per ResolutionUnit in the image in the horizontal direction
ResolutionUnit = XResolution[0] / XResolution[1]
YResolution:
Refers to the number of pixels per ResolutionUnit in the image in the vertical direction
ResolutionUnit = YResolution[0] / YResolution[1]
ResolutionUnit:
The unit for measuring XResolution and Yresolution (2: Inches, 3: Centimeters)
DateTime:
The date and time of original file generation (The format is "YYYY:MM:DD HH:MM:SS")
ImageDescription:
Refers to the character string giving the title of the image *2
ImageDescriptionLen:
Refers to the length of the string describing the ImageDescription *1
Make:
Refers to the manufacturer of the recording equipment that generated the image *2
MakeLen:
Refers to the length of the string describing the Make *1
Model:
Refers to the model name of the equipment that generated the image *2
ModelLen:
Refers to the length of the string describing the Model *1
Software:
Refers to the name and version of the software used to generate the image *2
SoftwareLen:
Refers to the length of the string describing the Software *1
Artist:
Refers to the camera owner, photographer, or creator of the image *2
ArtistLen:
Refers to the length of the string describing the Artist *1
Copyright:
Refers to the copyright information for the image *2
CopyrightLen:
Refers to the length of the string describing the Copyright *1
ThumbImageHandle:
The image handle (address) to the thumbnail image (thumbnail image only)

*1 These are members newly added in the ImageKit9. This is important if converting ImageKit6 programs
*2 The size of these members was changed in the ImageKit9. This is important if converting ImageKit6 or ImageKit7 programs

EXIF_TAG: Refers to the Exif tag information

(1)C++Builder/Visual C++
typedef struct {
char Exif_Version[5];
char FlashPix_Version[5];
unsigned short ColorSpace;
unsigned long PixelXDimension;
unsigned long Pixel,xDimension;
char ComponentsConfiguration[5];
unsigned long CompressedBitsPerPixel[2];
char MakerNote[257];
WORD MakerNoteLen;
char UserComment[257];
WORD UserCommentLen;
char UserCommentID[8];
char DateTimeOriginal[20];
char DateTimeDigitized[20];
char SubSecTime[129];
WORD SubSecTimeLen;
char SubSecTimeOriginal[129];
WORD SubSecTimeOriginalLen;
char SubSecTimeDigitized[129];
WORD SubSecTimeDigitizedLen;
unsigned long ExposureTime[2];
long ShutterSpeedValue[2];
unsigned long ApertureValue[2];
long BrightnessValue[2];
long ExposureBiasValue[2];
unsigned long MaxApertureValue[2];
unsigned long SubjectDistance[2];
unsigned short MeteringMode;
unsigned short LightSource;
unsigned short Flash;
unsigned long FocalLength[2];
unsigned long FNumber[2];
unsigned short ExposureProgram;
char SpectralSensitivity[257];
WORD SpectralSensitivityLen;
unsigned short ISOSpeedRatings;
unsigned long FlashEnergy[2];
unsigned long FocalPlaneXResolution[2];
unsigned long FocalPlaneYResolution[2];
unsigned short FocalPlaneResolutionUnit;
unsigned short SubjectLocationX;
unsigned short SubjectLocationY;
unsigned long ExposureIndex[2];
unsigned short SensingMethod;
BYTE FileSource;
BYTE SceneType;
unsigned short WhiteBalance;
unsigned short SceneCaptureType;
unsigned short Contrast;
unsigned short Saturation;
unsigned short Sharpness;
} EXIF_TAG;
typedef EXIF_TAG * PTR_EXIF_TAG;

(2)Delphi
type
EXIF_TAG = Record
Exif_Version: array[0..4] of Char;
FlashPix_Version: array[0..4] of Char;
ColorSpace: Word;
PixelXDimension: DWORD;
PixelYDimension: DWORD;
ComponentsConfiguration: array[0..4] of Char;
CompressedBitsPerPixel: array[0..1] of DWORD;
MakerNote: array[0..256] of Char;
MakerNoteLen: Word;
UserComment: array[0..256] of Char;
UserCommentLen: Word;
UserCommentID: array[0..7] of Char;
DateTimeOriginal: array[0..19] of Char;
DateTimeDigitized: array[0..19] of Char;
SubSecTime: array[0..128] of Char;
SubSecTimeLen: Word;
SubSecTimeOriginal: array[0..128] of Char;
SubSecTimeOriginalLen: Word;
SubSecTimeDigitized: array[0..128] of Char;
SubSecTimeDigitizedLen: Word;
ExposureTime: array[0..1] of DWORD;
ShutterSpeedValue: array[0..1] of Longint;
ApertureValue: array[0..1] of DWORD;
BrightnessValue: array[0..1] of Longint;
ExposureBiasValue: array[0..1] of Longint;
MaxApertureValue: array[0..1] of DWORD;
SubjectDistance: array[0..1] of DWORD;
MeteringMode: Word;
LightSource: Word;
Flash: Word;
FocalLength: array[0..1] of DWORD;
FNumber: array[0..1] of DWORD;
ExposureProgram: Word;
SpectralSensitivity: array[0..256] of Char;
SpectralSensitivityLen: Word;
ISOSpeedRatings: Word;
FlashEnergy: array[0..1] of DWORD;
FocalPlaneXResolution: array[0..1] of DWORD;
FocalPlaneYResolution: array[0..1] of DWORD;
FocalPlaneResolutionUnit: Word;
SubjectLocationX: Word;
SubjectLocationY: Word;
ExposureIndex: array[0..1] of DWORD;
SensingMethod: Word;
FileSource: Byte;
SceneType: Byte;
WhiteBalance: Word;
SceneCaptureType: Word;
Contrast: Word;
Saturation: Word;
Sharpness: Word;
end;

(3)Visual Basic
Type EXIF_TAG
Exif_Version As String * 5
FlashPix_Version As String * 5
ColorSpace As Integer
PixelXDimension As Long
PixelYDimension As Long
ComponentsConfiguration As String * 5
CompressedBitsPerPixel(0 To 1) As Long
MakerNote As String * 257
MakerNoteLen As Integer
UserComment As String * 257
UserCommentLen As Integer
UserCommentID As String * 8
DateTimeOriginal As String * 20
DateTimeDigitized As String * 20
SubSecTime As String * 129
SubSecTimeLen As Integer
SubSecTimeOriginal As String * 129
SubSecTimeOriginalLen As Integer
SubSecTimeDigitized As String * 129
SubSecTimeDigitizedLen As Integer
ExposureTime(0 To 1) As Long
ShutterSpeedValue(0 To 1) As Long
ApertureValue(0 To 1) As Long
BrightnessValue(0 To 1) As Long
ExposureBiasValue(0 To 1) As Long
MaxApertureValue(0 To 1) As Long
SubjectDistance(0 To 1) As Long
MeteringMode As Integer
LightSource As Integer
Flash As Integer
FocalLength(0 To 1) As Long
FNumber(0 To 1) As Long
ExposureProgram As Integer
SpectralSensitivity As String * 257
SpectralSensitivityLen As Integer
ISOSpeedRatings As Integer
FlashEnergy(0 To 1) As Long
FocalPlaneXResolution(0 To 1) As Long
FocalPlaneYResolution(0 To 1) As Long
FocalPlaneResolutionUnit As Integer
SubjectLocationX As Integer
SubjectLocationY As Integer
ExposureIndex(0 To 1) As Long
SensingMethod As Integer
FileSource As Byte
SceneType As Byte
WhiteBalance As Integer
SceneCaptureType As Integer
Contrast As Integer
Saturation As Integer
Sharpness As Integer
End Type

Tags Related to Version Information

Exif_Version:
Refers to the version of the Exif Standard supported (For example: "0210")
FlashPix_Version:
Refers to the version of the FPXR file FlashPix format supported (For example: "0100")

Tags Related to Characteristics of Image Data

ColorSpace:
Color space information (1: sRGB)

Tags Related to Composition of Image Data

PixelXDimension:
Refers to the width of the image
PixelYDimension:
Refers to the height of the image
ComponentsConfiguration:
Refers to the color of each color plane in the Exif image arranged in order from the 1st plane to the 4th plane
CompressedBitsPerPixel:
Refers to the compression mode used for a compressed image(bits/pixel)
Compression mode = CompressedBitsPerPixel[0] / CompressedBitsPerPixel[1]

Tags Related to User Information

MakerNote:
Comments of the manufacturer of the Exif writer *2
MakerNoteLen:
The length of the string describing the MakerNote *1
UserComment:
Comments or keywords that the Exif user can place on the image *2
UserCommentLen:
The length of the string describing the UserComment *1
UserCommentID:
An identification code (8 bytes) that occurs at the start of the UserComment tag. (Excess space is padded with NULL(0x00)

Character Code | Code Input Method (8byte) | Reference
ASCII | 0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00 | ITU-T T.50 IA5
JIS | 0x4A,0x49,0x53,0x00,0x00,0x00,0x00,0x00 | JIS X0208-1990
Unicode | 0x55,0x4E,0x49,0x43,0x4F,0x44,0x45,0x00 | Unicode Standard
Undefined | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | Undefined

* In Delphi, 0x should be replaced with $. In Visual Basic, 0x should be replaced with &H.

Tags Related to Date Time

DateTimeDigitized:
The date and time when the image was stored as digital data (Format is "YYYY:MM:DD HH:MM:SS")
DateTimeOriginal:
The data and time when the original image data was generated (Format is "YYYY:MM:DD HH:MM:SS")
SubSecTime:
Records fractions of seconds for the DateTime member of the IMAGE_TAG structure *2
SubSecTimeLen:
The length of the string in SubSecTime. *3
SubSecTimeOriginal:
Records fractions of seconds for DateTimeOriginal *2
SubSecTimeOriginalLen:
The length of the string in SubSecTimeOriginal. *3
SubSecTimeDigitized:
Records fractions of seconds for DateTimeDigitized *2
SubSecTimeDigitizedLen:
The length of the string in SubSecTimeDigitized. *3

Tags related to photographic conditions

ExposureTime:
The exposure time (in seconds)
ExposureTime = ExposureTime[0] / ExposureTime[1]
ShutterSpeedValue:
The shutter speed
The shutter speed (unit is the APEX value) = ShutterSpeedValue[0] / ShutterSpeedValue[1]
ApertureValue:
The lens aperature value
The lens aperature value (unit is the APEX value) = ApertureValue[0] / ApertureValue[1]
BrightnessValue:
The brightness value. Ordinarily brightness is given in the range from -99.99 to 99.99
he brightness value (unit is the APEX value) = BrightnessValue[0] / BrightnessValue[1]
ExposureBiasValue:
The exposure bias value. Ordinarily exposure bias is given in the range from -99.99 to 99.99.
The exposure bias value (unit is the APEX value) = ExposureBiasValue[0] / ExposureBiasValue[1]
MaxApertureValue:
The smallest F value of the lens. Ordinarily the smallest F value of the lens is given in the range from 00.00 to 99.99.
The smallest F value of the lens (unit is the APEX value) = MaxApertureValue[0] / MaxApertureValue[1]
SubjectDistance:
The distance to the subject
The distance to the subject (in meters) = SubjectDistance[0] / SubjectDistance [1]
MeteringMode:
The metering mode
(0: Unknown, 1: Average, 2: CounterWeightedAverage, 3: Spot, 4: MultiSpot, 5: Pattern, 6: Partial, 255: Other)
LightSource:
The type of light source
(0: Unknown, 1: Daylight, 2: Fluorescent, 3: Tungsten (incandescent light), 4: Flash, 9: Clear daylight, 10: Cloudy day, 11: Shadow, 12: Daylight color fluorescent light (D:5700 - 7100K), 13: Mid-day white fluorescent light (N: 4600 - 5500K), 14: White fluorescent light (W: 3800 - 4500K), 15: White fluorescent light (WW: 3200 - 3800K), 16: Fluorescent light bulb (L: 2600 - 3250K), 17: Standard light A, 18: Standard light B, 19: Standard light C, 20: D55, 21: D65, 22: D75, 23: D50, 24: ISO studio tungsten, 255: Other)
Flash:
The flash firing status and the flash return status.
Bit 0 indicates the flash firing status, bits 1 and 2 indicate the flash return
                    status, bits 3 and 4 indicate the camera flash mode, bit 5 indicates if the
                    flash function is enabled, and bit 6 indicates red-eye removal mode.
Values for bit 0 indicate whether the flash fired.
0b = Flash did not fire
1b = Flash fired
Values for bits 1 and 2 indicate the return status
00b = No flash return detection function
01b = Reserved
10b = Flash return light not detected
11b = Flash return light detected
Values for bits 3 and 4 indicate camera flash mode
00b = Unknown flash mode
01b = Compulsory flash firing
10b = Compulsory flash supression
11b = Auto mode
Values for bit 5 indicate whether flash function is enabled
0b = Flash function enabled
1b = Flash function disabled
Values for bit 6 indicate whether red eye removal is enabled
0b = Red eye removal is not used or unknown
1b = Red eye removal is used
Resulting flash tag values (in hexadecimal notation)
0x0000 = Flash did not fire
0x0001 = Flash fired
0x0005 = Flash return light not detected
0x0007 = Flash return light detected
*In Delphi, a $ is used instead of 0x, In Visual Basic an &H is used.
FocalLength:
The focal length of the lens
The actual focal length of the lens (in mm) = FocalLength[0] / FocalLength[1]
FNumber:
The Fnumber
The FNumber = FNumber[0] / FNumber[1]
ExposureProgram:
The class of the program used by the camera to set exposure when the image was taken.
(0: Not defined, 1: Manual, 2: Normal program, 3: Aperture priority, 4: Shutter priority, 5: Creative program (biased toward depth of field), 6: Action program biased toward fast shutter speed), 7: Portrait mode (for clsoeup photos with the background out of focus), 8: Landscape mode (for landscapes with the background in focus
SpectralSensitivity:
The spectral sensitivity of each channel of the camera used.
SpectralSensitivityLen:
The length of the string describing the SpectralSensitivity *1
ISOSpeedRatings:
The ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232xiv
FlashEnergy:
The strobe energy at the time the image was captured as measured in Beam Candle Power Seconds
Flash energy (in BCPS) = FlashEnergy[0] / FlashEnergy[1]
FocalPlaneXResolution:
The number of pixels in the image horizontal direction per FocalPlaneResolutionUnit on the camera focal plane
The FocalPlaneXResolution = FocalPlaneXResolution[0] / FocalPlaneXResolution[1]
FocalPlaneYResolution:
The number of pixels in the image vertical direction per FocalPlaneResolutionUnit on the camera focal plane
FocalPlaneYResolution = FocalPlaneYResolution[0] / FocalPlaneYResolution[1]
FocalPlaneResolutionUnit:
The unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.(2: Inches, 3: Centimeters)
SubjectLocationX:
The horizontal coordinate of the center of the main subject of the scene
SubjectLocationY:
The vertical coordinate of the center of the main subject of the scene
ExposureIndex:
The exposure index selected on the camera or input device at the time the image was captured
The exposure index = ExposureIndex[0] / ExposureIndex[1]
SensingMethod:
The image sensor type on the camera or input device
(1: Not defined, 2: One-chip color area sensor, 3: Two-chip color area sensor, 4: Three-chip color area sensor, 5: Color sequential area sensor, 7: Trilinear sensor, 8: Color sequential linear sensor)
FileSource:
The image source. If a DSC (Digital Still Camera) recorded the image, this value will be set to 3 indicating that the image was recorded on a DSC
SceneType:
The type of scene. If a DSC recorded the image, this value will be set to 1 indicating that the image was directly photographed
White Balance:
Indicates the white balance mode. *3
ScaneCaptureType:
Indicates the type of scene when image was captured. *3
Contrast:
Contrast when image was captured. *3
Saturation:
Saturation when image was captured. *3
Sharpness:
Sharpness when image was captured. *3

APEX is the Additive System of Photographic Exposure
BCPS is the Beam Candle Power Seconds

*1 These are members newly added in the ImageKit7. This is important to note if converting ImageKit6 programs
*2 The size of these members have changed in the ImageKit9. This is important to note if converting ImageKit6 or ImageKit7 programs
*3 These are members newly added in the ImageKit9. This is important to note if converting ImageKit6 or ImageKit7 programs

GPS_TAG: Refers to GPS tag information

(1)C++Builder/Visual C++
typedef struct {
char GPS_Version[5];
char MapDatum[129];
WORD MapDatumLen;
char Latitude[2];
unsigned long LatitudeD[2];
unsigned long LatitudeM[2];
unsigned long LatitudeS[2];
char Longitude[2];
unsigned long LongitudeD[2];
unsigned long LongitudeM[2];
unsigned long LongitudeS[2];
BYTE AltitudeRef;
unsigned long Altitude[2];
unsigned long TimeStampH[2];
unsigned long TimeStampM[2];
unsigned long TimeStampS[2];
char ProcessingMethod[257];
WORD ProcessingMethodLen;
char ProcessingMethodID[8];
char DateStamp[11];
} GPS_TAG;
typedef GPS_TAG * PTR_GPS_TAG;

(2)Delphi
type
GPS_TAG = Record
GPS_Version: array[0..4] of AnsiChar;
MapDatum: array[0..128] of AnsiChar;
MapDatumLen: Word;
Latitude: array[0..1] of AnsiChar;
LatitudeD: array[0..1] of DWORD;
LatitudeM: array[0..1] of DWORD;
LatitudeS: array[0..1] of DWORD;
Longitude: array[0..1] of AnsiChar;
LongitudeD: array[0..1] of DWORD;
LongitudeM: array[0..1] of DWORD;
LongitudeS: array[0..1] of DWORD;
AltitudeRef: Byte;
Altitude: array[0..1] of DWORD;
TimeStampH: array[0..1] of DWORD;
TimeStampM: array[0..1] of DWORD;
TimeStampS: array[0..1] of DWORD;
ProcessingMethod: array[0..256] of AnsiChar;
ProcessingMethodLen: Word;
ProcessingMethodID: array[0..7] of AnsiChar;
DateStamp: array[0..10] of AnsiChar;
end;

(3)Visual Basic
Type GPS_TAG
GPS_Version As String * 5
MapDatum As String * 128
MapDatumLen As Integer
Latitude As String * 2
LatitudeD(0 To 1) As Long
LatitudeM(0 To 1) As Long
LatitudeS(0 To 1) As Long
Longitude As String * 2
LongitudeD(0 To 1) As Long
LongitudeM(0 To 1) As Long
LongitudeS(0 To 1) As Long
AltitudeRef As Byte
Altitude(0 To 1) As Long
TimeStampH(0 To 1) As Long
TimeStampM(0 To 1) As Long
TimeStampS(0 To 1) As Long
ProcessingMethod As String * 257
ProcessingMethodLen As Integer
ProcessingMethodID As String * 8
DateStamp As String * 11
End Type

GPS_Version:
Refers to the GPS tag version (i.e. "2000")
MapDatum:
Refers to the name of the map data used *1
MapDatumLen:
Refers to the length of the string used in MapDatum *2
Latitude:
Refers to the latitude direction where the image was taken. (i.e. "N" or "S")
LatitudeD:
The latitude in degrees where the image was taken.
LatitudeD = LatitudeD[0] / LatitudeD[1]
LatitudeM:
The latitude in minutes where the image was taken
LatitudeM = LatitudeM[0] / LatitudeM[1]
LatitudeS:
The latitude in seconds where the image was taken
LatitudeS = LatitudeS[0] / LatitudeS[1]
Longitude:
Refers to the longitude direction where the image was taken. (i.e. "E" or "W")
LongitudeD:
The longitude in degrees where the image was taken
LongitudeD = LongitudeD[0] / LongitudeD[1]
LongitudeM:
The longitude in minutes where the image was taken
LongitudeM = LongitudeM[0] / LongitudeM[1]
LongitudeS:
The longitude in seconds where the image was taken
LongitudeS = LongitudeS[0] / LongitudeS[1]
AltitudeRef:
The altitude used as the reference altitude. Units are in meters *2
If the reference is sea level and the altitude is above sea level, 0 is given. If the altitude is below sea level, a value of 1 is given.
Altitude:
The altitude in meters where the image was taken
Altitude = Altitude[0] / Altitude[1]
TimeStampH:
The GPS time stamp in hours *2
GPS hours = TimeStampH[0] / TimeStampH[1]
TimeStampM:
The GPS time stamp in minutes *2
GPS minutes = TimeStampM[0] / TimeStampM[1]
TimeStampS:
The GPS time stamp in seconds *2
GPS seconds = TimeStampS[0] / TimeStampS[1]
ProcessingMethod:
Refers to the name of the method used for location finding. (For example: "CELLID", "WLAN", "GPS", etc.) *2
ProcessingMethodLen:
Refers to the length of the string used in ProcessingMethod *2
ProcessingMethodID:
Refers to the to the identification code for the processing method. The identification code for the processing method. This code is an 8 byte constant with any unused bytes padded with NULL (0x00) *2

String Code | Code Entry Method (8 bytes) | Reference
ASCII | 0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00 | ITU-T T.50 IA5
JIS | 0x4A,0x49,0x53,0x00,0x00,0x00,0x00,0x00 | JIS X0208-1990
Unicode | 0x55,0x4E,0x49,0x43,0x4F,0x44,0x45,0x00 | Unicode Standard
Undefined | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 | Undefined

For hexidecimals in Visual Basic, replace 0x with &H
DateStamp:
Refers to the GPS date information in the Exif image. The format is "YYYY:MM:DD". *2

*1 The size of these members has changed in the ImageKit9. This is important to note if converting ImageKit7 programs
*2 These are members newly added in the ImageKit9. This is important to note if converting ImageKit7 programs

INTOP_TAG: Refers to compatibility information

(1)C++Builder/Visual C++
typedef struct {
char InteroperabilityIndex[4];
char InteroperabilityVersion[5];
} INTOP_TAG;
typedef INTOP_TAG * PTR_INTOP_TAG;

(2)Delphi
type
INTOP_TAG = Record
InteroperabilityIndex: array[0..3] of AnsiChar;
InteroperabilityVersion: array[0..4] of AnsiChar;
end;

(3)Visual Basic
Type INTOP_TAG
InteroperabilityIndex As String * 4
InteroperabilityVersion As String * 5
End Type

InteroperabilityIndex:
Refers to the identification of the Interoperability rule.
"R98" The R98 file as prescribed by Exif98 or the standard DCF file as prescribed by the Design Rule for Camera File System.
"THM" The standard DCF thumbnail file as prescribed by the Design Rule for Camera File System.
"R03" The standard DCF option file as prescribed by the Design Rule for Camera File System.
InteroperabilityVersion:
Refers to the interoperability Version (i.e. "0100")

EXIF_INFO: Refers to Exif information (uses IKJpegExifInfo)

(1)C++Builder/Visual C++
typedef struct {
IMAGE_TAG MainImageInfo;
IMAGE_TAG ThumbImageInfo;
EXIF_TAG ExifInfo;
GPS_TAG GPSInfo;
INTOP_TAG IntOpeInfo;
} EXIF_INFO;
typedef EXIF_INFO * PTR_EXIF_INFO;

(2)Delphi
type
EXIF_INFO = Record
MainImageInfo: IMAGE_TAG;
ThumbImageInfo: IMAGE_TAG;
ExifInfo: EXIF_TAG;
GPSInfo: GPS_TAG;
IntOpeInfo: INTOP_TAG;
end;

(3)Visual Basic
Type EXIF_INFO
MainImageInfo As IMAGE_TAG
ThumbImageInfo As IMAGE_TAG
ExifInfo As EXIF_TAG
GPSInfo As GPS_TAG
IntOpeInfo As INTOP_TAG
End Type

MainImageInfo:
The information about the primary image
ThumbImageInfo:
The information about the thumbnail image
ExifInfo:
The Exif information
GPSInfo:
The GPS information *1
IntOpeInfo:
The compatibility information *2

*1 These are members newly added in the ImageKit7. This is important to note if converting ImageKit6 programs
*2 These are members newly added in the ImageKit9. This is important to note if converting ImageKit6 or ImageKit7 programs

SAVE_PDF_INFO: Used when creating a PDF file.

(1) C ++ Builder / Visual C ++
typedef struct
{
void * pdf;
char OwnerPassword [65];
char UserPassword [65];
char Application [65];
char Title [129];
char Author [129];
char Subject [129];
char Keywords [257];
BOOL EnablePrint;
BOOL EnableEditAll;
BOOL EnableCopy;
BOOL EnableEdit;
}
SAVE_PDF_INFO;
typedef SAVE_PDF_INFO * PTR_SAVE_PDF_INFO;

(2) Delphi
type
SAVE_PDF_INFO = Record
pdf: Pointer;
OwnerPassword: array [0..64] of AnsiChar;
UserPassword: array [0..64] of AnsiChar;
Application: array [0..64] of AnsiChar;
Title: array [0..128] of AnsiChar;
Author: array [0..128] of AnsiChar;
Subject: array [0..128] of AnsiChar;
Keywords: array [0..256] of AnsiChar;
EnablePrint: LongBool;
EnableEditAll: LongBool;
EnableCopy: LongBool;
EnableEdit: LongBool;
end;

(3) Visual Basic
Type SAVE_PDF_INFO
pdf As Long
OwnerPassword As String * 65
UserPassword As String * 65
Application As String * 65
Title As String * 129
Author As String * 129
Subject As String * 129
Keywords As String * 257
EnablePrint As Long
EnableEditAll As Long
EnableCopy As Long
EnableEdit As Long
End Type

pdf: Represents a pointer to the data used when creating a PDF (used in ImageKit).
OwnerPassword: Specify the owner password (password that restricts document modification and printing).
UserPassword: Specify the user password (password to open the document).
Application: Specify the application name (Document Properties-Overview).
Title: Specify the title (Document Properties-Summary).
Author: Specify the author (Document Properties-Overview).
Subject: Specify the subtitle (Document Properties-Overview).
Keywords: Specify keywords (Document Properties-Overview).
EnablePrint: Specify whether to allow printing of the document (TRUE: Permitted, FALSE: Not permitted).
EnableEditAll: Specify whether to allow full editing of the document (TRUE: Allowed, FALSE: Not allowed).
EnableCopy: Specify whether to allow copying / extracting the document contents (TRUE: Permitted, FALSE: Not permitted).
EnableEdit: Specify whether to allow document editing (TRUE: Allowed, FALSE: Not allowed).

(* 1) Only User Password cannot be set. Set either OwnerPassword or OwnerPassword and UserPassword.
(* 2) The settings of EnablePrint, EnableEditAll, EnableCopy, and EnableEdit are valid when Owner Password is set.
(* 3) Add a Chr $ (0) at the end when setting a character string to a String type member variable in Visual Basic.

Definition of the User Function

In Visual Basic, create the User Function using a standard module NOT a form module.

Syntax

(1)C++Builder/Visual C++
BOOL __stdcall UserProc(short Percent);

(2)Delphi
function UserProc(Percent: Smallint): LongBool; stdcall;

(3)Visual Basic
Function UserProc(ByVal Percent As Integer) As Long

Parameters

Name Explanation
------------------------------------------------------------------------------------------------------
Percent The percent of the current process that is completed

Return Value
When False (0) is returned the execution is terminated. When True (nonzero) is returned the execution continues.

The User Function is explained using the term "UserProc". Although any name for the User Function would be appropriate, in our example the following syntax is used to pass parameters.

(1)C++Builder/Visual C++ UserProc
(2)Delphi LONG_PTR(Addr(UserProc)) or LONG_PTR(@UserProc)
(3)Visual Basic Address Of UserProc


IKBmpFileLoad

This function loads a raster image from a BMP file.

[C++Builder/Visual C++] HANDLE IKBmpFileLoad(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKBmpFileLoad(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKBmpFileLoad(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKBmpFileLoad function loads a raster image from a BMP file. Supports 1, 4, 8, 16, 24, and 32 bit color images.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.


IKBmpFileLoadMem

This function loads a raster image from BMP format raw image data.

[C++Builder/Visual C++] HANDLE IKBmpFileLoadMem(HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKBmpFileLoadMem(Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKBmpFileLoadMem(ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | BMP format raw image data
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKBmpFileLoadMem function loads a raster image from BMP format raw image data. Supports 1, 4, 8, 16, 24, and 32 bit color images.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKBmpFileLoad function.


IKBmpFileSave

This function saves a raster image into a BMP image file.

[C++Builder/Visual C++] BOOL IKBmpFileSave(LPCTSTR FileName, HANDLE Handle, BOOL Comp, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKBmpFileSave(FileName: PChar; Handle: THandle; Comp: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKBmpFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Comp As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the raster image
Comp | Compression flag (False (0): Uncompressed, True (nonzero) Compressed) Only 4 bit color and 8 bit color images can be compressed
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKBmpFileSave function saves a raster image into a BMP image file. Supports 1, 4, 8, 16, 24, and 32 bit color images (Does not support 16 bit grayscale). When the Comp parameter is True, the ImageKit uses the Windows run-length compression format. However, there are cases, depending on the image, when the file is not compressed but rather enlarged. The ImageKit stops saving the image file if it enlarges by more than 1.6 times its original size and false (0) is returned.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKBmpFileSave("c:\abc.bmp", .....)

(2) When saving the file to FTP server:
IKBmpFileSave("FTP://www.newtone.co.jp/image/abc.bmp;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKBmpFileSave("http://www.newtone.co.jp/image/abc.bmp;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded.


IKBmpFileSaveMem

This function saves raster image data in BMP format as raw image data.

[C++Builder/Visual C++] BOOL IKBmpFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, BOOL Comp, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKBmpFileSaveMem(InHandle: THandle; var OutHandle: THandle; Comp: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKBmpFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Comp As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the raster image
OutHandle | The raw image data to be saved
Comp | Compression flag (False (0): Uncompressed, True (nonzero) Compressed) Only 4 bit color and 8 bit color images can be compressed
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKBmpFileSaveMem function saves raster image data in BMP format as raw image data Supports 1, 4, 8, 16, 24, and 32 bit color images (Does not support 16 bit grayscale). When the Comp parameter is True, the ImageKit uses the Windows run-length compression format. However, there are cases, depending on the image, when the file is not compressed but rather enlarged. The ImageKit stops saving the image file if it enlarges by more than 1.6 times its original size and false (0) is returned.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.

Except for the fact that the raster image is saved as raw image data, this function operates in the same way as the IKBmpFileSave function.


IKCMYKBmpPlaneFileLoad

This function loads a bmp file that has been saved in seperate CMYK planes.

[C++Builder/Visual C++] HANDLE IKCMYKBmpPlaneFileLoad(LPCTSTR CFileName, LPCTSTR MFileName, LPCTSTR YFileName, LPCTSTR KFileName);
[Delphi] function IKCMYKBmpPlaneFileLoad(CFileName, MFileName, YFileName, KFileName: PChar): THandle;
[Visual Basic] Function IKCMYKBmpPlaneFileLoad(ByVal CFileName As String, ByVal MFileName As String, ByVal YFileName As String, ByVal KFileName As String) As Long

Parameters

Name | Explanation
CFileName | The filename of the C plane image to be loaded
MFileName | The filename of the M plane image to be loaded
YFileName | The filename of the Y plane image to be loaded
KFileName | The filename of the K plane image to be loaded

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKCMYKBmpPlaneFileLoad function loads a bmp file that has been saved in seperate CMYK planes. The individual CMYK plane images are 8 bit grayscale and the output image is 24 bit color.


IKCMYKBmpPlaneFileSave

This function saves a raster image into seperate CMYK planes. The saved images are in BMP format.

[C++Builder/Visual C++] BOOL IKCMYKBmpPlaneFileSave(LPCTSTR CFileName, LPCTSTR MFileName, LPCTSTR YFileName, LPCTSTR KFileName, HANDLE Handle);
[Delphi] function IKCMYKBmpPlaneFileSave(CFileName, MFileName, YFileName, KFileName: PChar; Handle: THandle): LongBool;
[Visual Basic] Function IKCMYKBmpPlaneFileSave(ByVal CFileName As String, ByVal MFileName As String, ByVal YFileName As String, ByVal KFileName As String, ByVal Handle As Long) As Long

Parameters

Name | Explanation
CFileName | The filename of the saved C plane image
MFileName | The filename of the saved M plane image
YFileName | The filename of the saved Y plane image
KFileName | The filename of the saved K plane image
Handle | The image handle of the raster image to be saved

Return Value

Returns True (nonzero) if successful. Returns 0 if unsuccessful.

Explanation

The IKCMYKBmpPlaneFileSave function saves a raster image into seperate CMYK planes. The saved images are in BMP format.

The input image (that image set in the ImageHandle parameter) must be 24 bit color. The output images (corresponding to the various CMYK planes) will be 8 bit grayscale. The image data set in the Handle parameter is saved in the various CMYK planes.


IKDxfFileLoad

This function loads vector image data from a DXF file.

[C++Builder/Visual C++] HANDLE IKDxfFileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKDxfFileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKDxfFileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns False (0) if unsuccessful.

Explanation

The IKDxfFileLoad function loads vector image data from a DXF file. When the Width is 0 or less, a value of 800 is used. When Height is 0 or less, a value of 600 is used. Entity types supported are: LINE, POINT, CIRCLE, TEXT, 3DFACE, POLYLINE, ARC, SOLID, and INSERT.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, the Ik10VectComA.dll, the Ik10VectCom64.dll, or the Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: When the DXF image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKDxfFileLoadMem

This function loads a vector image from DXF format raw image data.

[C++Builder/Visual C++] HANDLE IKDxfFileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKDxfFileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKDxfFileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | DXF format raw image data
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns False (0) if unsuccessful.

Explanation

This function loads a vector image from DXF format raw image data. When the Width is 0 or less, a value of 800 is used. When Height is 0 or less, a value of 600 is used. Entity types supported are: LINE, POINT, CIRCLE, TEXT, 3DFACE, POLYLINE, ARC, SOLID, and INSERT.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.

Except for the fact that the vector image is loaded from raw image data, this function operates in the same way as the IKDxfFileLoad function.

To execute this function, you must first execute the Ik10VectCom.dll, the Ik10VectComA.dll, the Ik10VectCom64.dll, or the Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: When the DXF image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKDxfFileSave

This function saves vector image data in a DXF file.

[C++Builder/Visual C++] BOOL IKDxfFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKDxfFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKDxfFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the vector image
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKDxfFileSave function saves vector image data in a DXF file. Entity types supported are: LINE, POINT, ELLIPSE, TEXT, POLYLINE, and ARC. When saving images, the following colors will be used: red, yellow, green, light blue, blue, purple, and white. Other colors will be replaced with one of these colors.

Note: Only DXF data can be saved in DXF file format. A DXF image cannot be converted to other vector formats. Likewise other vector formats cannot be converted to DXF.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, the Ik10VectComA.dll, the Ik10VectCom64.dll, or the Ik10VectCom64A.dll's IKVectorGdipStart function.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKDxfFileSave("c:\abc.dxf", .....)

(2) When saving the file to FTP server:
IKDxfFileSave("FTP://www.newtone.co.jp/image/abc.dxf;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKDxfFileSave("http://www.newtone.co.jp/image/abc.dxf;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded.


IKDxfFileSaveMem

This function saves vector image data in DXF format as raw image data.

[C++Builder/Visual C++] BOOL IKDxfFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKDxfFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKDxfFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the vector image
OutHandle | The raw image data to be saved
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKDxfFileSaveMem function saves vector image data in DXF format as raw image data. Entity types supported are: LINE, POINT, ELLIPSE, TEXT, POLYLINE, and ARC. When saving images, the following colors will be used: red, yellow, green, light blue, blue, purple, and white. Other colors will be replaced with one of these colors.

Note: Only DXF data can be saved in DXF file format. A DXF image cannot be converted to other vector formats. Likewise other vector formats cannot be converted to DXF.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.

Except for the fact that the vector image is saved to raw image data, this function operates in the same way as the IKDxfFileSave function.

To execute this function, you must first execute the Ik10VectCom.dll, the Ik10VectComA.dll, the Ik10VectCom64.dll, or the Ik10VectCom64A.dll's IKVectorGdipStart function.


IKEmfFileLoad

This function loads vector image data from an EMF file.

[C++Builder/Visual C++] HANDLE IKEmfFileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKEmfFileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKEmfFileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded into the memory
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKEmfFileLoad function loads vector image data from an EMF file. If the Width and Height parameters are 0 or less then the size will be taken from the EMF file header.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, the Ik10VectComA.dll, the Ik10VectCom64.dll, or the Ik10VectCom64A.dll's IKVectorGdipStartfunction.

Note: When the EMF image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKEmfFileLoadMem

This function loads a vector image from EMF format raw image data.

[C++Builder/Visual C++] HANDLE IKEmfFileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKEmfFileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKEmfFileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | EMF format raw image data
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKEmfFileLoadMem function loads a vector image from EMF format raw image data. If the Width and Height parameters are 0 or less then the size will be taken from the EMF file header.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.

Except for the fact that the vector image is loaded from raw image data, this function operates in the same way as the IKEmfFileLoad function.

To execute this function, you must first execute the Ik10VectCom.dll, the Ik10VectComA.dll, the Ik10VectCom64.dll, or the Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: When the EMF image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKEmfFileSave

This function saves vector image data in an EMF file.

[C++Builder/Visual C++] BOOL IKEmfFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKEmfFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKEmfFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the vector image
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKEmfFileSave function saves vector image data in an EMF file.

To execute this function, you must first execute the Ik10VectCom.dll, the Ik10VectComA.dll, the Ik10VectCom64.dll, or the Ik10VectCom64A.dll's IKVectorGdipStart function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKEmfFileSave("c:\abc.emf", .....)

(2) When saving the file to FTP server:
IKEmfFileSave("FTP://www.newtone.co.jp/image/abc.emf;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKEmfFileSave("http://www.newtone.co.jp/image/abc.emf;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKEmfFileSaveMem

This function saves vector image data in EMF format as raw image data.

[C++Builder/Visual C++] BOOL IKEmfFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKEmfFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKEmfFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the vector image
OutHandle | The raw image data to be saved
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKEmfFileSaveMem function saves vector image data in EMF format as raw image data.

Except for the fact that the vector image is saved to raw image data, this function operates in the same way as the IKEmfFileSave function.

To execute this function, you must first execute the Ik10VectCom.dll, the Ik10VectComA.dll, the Ik10VectCom64.dll, or the Ik10VectCom64A.dll's IKVectorGdipStart function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, and Ik10File64A.dll section.


IKFileLoad

This function loads image data from a file.

[C++Builder/Visual C++] HANDLE IKFileLoad(LPCTSTR FileName, int Page, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKFileLoad(FileName: PChar; Page: Integer; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKFileLoad(ByVal FileName As String, ByVal Page As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded
Page | The page number of the file that is loaded into the memory (starts from 0)
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image or vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKFileLoad function loads image data from a file. This function automatically recognizes the following formats: BMP, DXF, EMF, FPX, GIF, JPEG, JPEG200, PCX, PNG, SXF, SVG, TIFF, and WMF. NOTE: For TIFF(JPEG Compression), some TIFF(JPEG) images cannot be loaded by the ImageKit.

When loading multi-page image files or multi-resolution image files (FPX), the Page parameter determines which page will be loaded. If the image is a single page image file then the Page parameter is disabled. When loading a raster image, the values in the Width and Height parameters are ignored. These parameters are only enabled when loading vector images. If the Width parameter is 0 or less and the image is DXF, SXF, or WMF, then the default image width of 800 is used. If the image is EMF or SVG then the width is retrieved from the EMF or SVG file header. Likewise, if the Height parameter is 0 or less and the image is DXF, SXF, or WMF, then the default image height of 600 is used. If the image is EMF or SVG then the Height is retrieved from the EMF or SVG file header.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, and Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: When a vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.

It is possible to load a file directly from FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When loading the file from a local drive or network drive:
IKFileLoad("c:\abc.jpg", .....)

(2) When loading the file from FTP server:
IKFileLoad("FTP://www.newtone.co.jp/image/abc.jpg;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When loading the file from HTTP(S) server:
IKFileLoad("http://www.newtone.co.jp/image/abc.jpg;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from the ImageKit5]

Function Name | Parameters
IK5FileLoad: | FileName, Page, FileUserProc, Caption, Message, Button
IKFileLoad: | FileName, Page, Width, Height, UserProc, Caption, Message, Button

The Width and Height parameters have been added but they are not enabled when loading raster images. In this case this function is the same as in the ImageKit5. Note: FileUserProc and UserProc refer to the same user function.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded. Now images may also be loaded from FTP or HTTP(S) servers.


IKFileLoadAsRawData

This function loads data "as is" from an image file

[C++Builder/Visual C++] HANDLE IKFileLoadAsRawData(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKFileLoadAsRawData(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKFileLoadAsRawData(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded into the memory
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

The image handle of the raw image data. (if unsuccessful, 0 is returned)

Explanation

The IKFileLoadAsRawData function loads data "AS IS" from an image file. If the data loaded with this function is saved to file it will be exactly the same structure as the original data (i.e. it will not have been converted to DIB or other data).

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, and Ik10VectCom64A.dll's IKVectorGdipStartfunction.


IKFileLoadMem

This function loads raw image data.

[C++Builder/Visual C++] HANDLE IKFileLoadMem(HANDLE Handle, int Page, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKFileLoadMem(Handle: THandle; Page: Integer; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKFileLoadMem(ByVal Handle As Long, ByVal Page As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | The raw image data to be loaded
Page | The page number of the file that is loaded into the memory (starts from 0)
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image or vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKFileLoadMem function loads raw image data. This function automatically recognizes the following formats: BMP, DXF, EMF, FPX, GIF, JPEG, JPEG200, PCX, PNG, SXF, SVG, TIFF, and WMF. NOTE: For TIFF(JPEG Compression), some TIFF(JPEG) images cannot be loaded by the ImageKit.

When loading multi-page image files or multi-resolution image files (FPX), the Page parameter determines which page will be loaded. If the image is a single page image file then the Page parameter is disabled. When loading a raster image, the values in the Width and Height parameters are ignored. These parameters are only enabled when loading vector images. If the Width parameter is 0 or less and the image is DXF, SXF, or WMF, then the default image width of 800 is used. If the image is EMF or SVG then the width is retrieved from the EMF or SVG raw data. Likewise, if the Height parameter is 0 or less and the image is DXF, SXF, or WMF, then the default image height of 600 is used. If the image is EMF or SVG then the Height is retrieved from the EMF or SVG raw data.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the vector image is loaded from raw image data, this function operates in the same way as the IKFileLoad function.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, and Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: When a vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKFileSaveAsRawData

This function saves raw image data into a file.

[C++Builder/Visual C++] BOOL IKFileSaveAsRawData(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKFileSaveAsRawData(FileName: PChar; Handle: THandle; UserProc: LONG=PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKFileSaveAsRawData(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The raw image data to be saved
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful

Explanation

The IKFileSaveAsRawData function saves raw image data into a file.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, and Ik10VectCom64A.dll's IKVectorGdipStart function.


IKFileType

This function retrieves various image information.

[C++Builder/Visual C++] BOOL IKFileType(LPCTSTR FileName, int Page, PTR_IKFILE_INFO FileType);
[Delphi] function IKFileType(FileName: PChar; Page: Integer; var FileType: IKFILE_INFO): LongBool;
[Visual Basic] Function IKFileType(ByVal FileName As String, ByVal Page As Long, FileType As IKFILE_INFO) As Long

Parameters

Name | Explanation
FileName | The name of the image file whose information is retrieved
Page | The page number of the image file (starts from 0)
FileType | The structure (user-defined type) parameter containing the retrieved information

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFileType function retrieves various image information. If successful, the image information will be set into the FileType member variables. For more information about the user functions please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Even if the image format is supported, if no value has been set then that FileType member variable will return 0.

Regarding IKFILE_INFO, please refer to the explanation about IKFILE_INFO member variables in Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll.

Differences from the ImageKit6

Some member variables have been added to IKFILE_INFO.


IKFileTypeMem

This function retrieves various information from the raw image data.

[C++Builder/Visual C++] BOOL IKFileTypeMem(HANDLE Handle, int Page, PTR_IKFILE_INFO FileType);
[Delphi] function IKFileTypeMem(Handle: THandle; Page: Integer; var FileType: IKFILE_INFO): LongBool;
[Visual Basic] Function IKFileTypeMem(ByVal Handle As Long, ByVal Page As Long, FileType As IKFILE_INFO) As Long

Parameters

Name | Explanation
Handle | The raw image data from which information is retrieved
Page | The page number of the image file (starts from 0)
FileType | The structure (user-defined type) parameter containing the retrieved information

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFileTypeMem function retrieves various information from the raw image data. If successful, the image information will be set into the FileType member variables. For more information about the user functions please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Even if the image format is supported, if no value has been set then that FileType member variable will return 0 or empty string. The member variables referring to the file creation datetime, file access datetime, and file modification datetime will be set with 0.

Regarding IKFILE_INFO, please refer to the explanation about IKFILE_INFO member variables in Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll.

Except for the fact that the information is retrieved from raw image data, this function operates in the same way as the IKFileType function.


IKFpxFileLoad

This function loads raster image data from a FPX file.

[C++Builder/Visual C++] HANDLE IKFpxFileLoad(LPCTSTR FileName, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKFpxFileLoad(FileName: PChar; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKFpxFileLoad(ByVal FileName As String, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded
Page | The page number of the image file that is loaded. 0 is the original image. For each subsequent page, the vertical and horizontal resolution is half that of the page before. The last page will be 64x64 or smaller.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKFpxFileLoad function loads raster image data from a FPX file. The Page parameter determines which page (resolution) of the FPX image file will be loaded. Supports 8 bit grayscale and 24 bit color images. The number of pages in the FPX file can be retrieved by the IKFileType function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Regarding Flashpix:

Flashpix image files are multi-resolution image files with a tiled composition. Flashpix files store image data in a hierarchy from the original image at the highest level. Each subsequent level contains the same image with horizontal and vertical resolution half of that of image in the level above. This allows editing and printing at the optimum resolution. Each resolution image is divided in to 64x64 tiles. Each tiled image can be uncompressed, JPEG compression, or single color compression.


IKFpxFileLoadMem

This function loads a raster image from FPX format raw image data.

[C++Builder/Visual C++] HANDLE IKFpxFileLoadMem(HANDLE Handle, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKFpxFileLoadMem(Handle: THandle; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKFpxFileLoadMem(ByVal Handle As Long, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | FPX format raw image data
Page | The page number of the image file that is loaded. 0 is the original image. For each subsequent page, the vertical and horizontal resolution is half that of the page before. The last page will be 64x64 or smaller.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKFpxFileLoadMem function loads a raster image from FPX format raw image data. The Page parameter determines which page (resolution) of the FPX image file will be loaded. Supports 8 bit grayscale and 24 bit color images. The number of pages in the FPX file can be retrieved by the IKFileType function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKFpxFileLoad function.

Note: A file is temporarily made internally.


IKFpxFileSave

This function saves raster image data in a FPX file.

[C++Builder/Visual C++] BOOL IKFpxFileSave(LPCTSTR FileName, HANDLE Handle, int Comp, int Quality, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKFpxFileSave(FileName: PChar; Handle: THandle; Comp, Quality: Integer; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKFpxFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Comp As Long, ByVal Quality As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the raster image
Comp | Compression flag (0: Uncompressed, 1: Single Color, 2: JPEG) Single Color compression is used for images consisting of one RGB value The JPEG flag compresses FPX files in JPEG format
Quality | JPEG compression quality coefficient (from 0 to 100/ 75 is recommended) * Enabled when the Comp parameter is 2
Comment | The comment text to be saved. (MAX:1023 bytes) Set as follows: [title + 0x0d + Subject + ... + 0x0d] title: The image title Subject: The subject of the image Author: The creator of the image Comment: The comment * In Delphi replace the above 0x with $, and in Visual Basic, replace the 0x with &H.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFpxFileSave function saves raster image data in a FPX file. Supports 8 bit grayscale and 24 bit color images.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKFpxFileSave("c:\abc.fpx", .....)

(2) When saving the file to FTP server:
IKFpxFileSave("FTP://www.newtone.co.jp/image/abc.fpx;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKFpxFileSave("http://www.newtone.co.jp/image/abc.fpx;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKFpxFileSaveMem

This function saves raster image data in FPX format as raw image data.

[C++Builder/Visual C++] BOOL IKFpxFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, int Comp, int Quality, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKFpxFileSaveMem(InHandle: THandle; var OutHandle: THandle; Comp, Quality: Integer; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKFpxFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Comp As Long, ByVal Quality As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the raster image
OutHandle | The raw image data to be saved
Comp | Compression flag (0: Uncompressed, 1: Single Color, 2: JPEG) Single Color compression is used for images consisting of one RGB value The JPEG flag compresses FPX files in JPEG format
Quality | JPEG compression quality coefficient (from 0 to 100/ 75 is recommended) * Enabled when the Comp parameter is 2
Comment | The comment text to be saved. (MAX:1023 bytes) Set as follows: [title + 0x0d + Subject + ... + 0x0d] title: The image title Subject: The subject of the image Author: The creator of the image Comment: The comment * In Delphi replace the above 0x with $, and in Visual Basic, replace the 0x with &H.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFpxFileSaveMem function saves raster image data in FPX format as raw image data. Supports 8 bit grayscale and 24 bit color images.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is saved as raw image data, this function operates in the same way as the IKFpxFileSave function.

Note: A file is temporarily made internally.


IKFTPConnect

This function connects to the FTP server.

[C++Builder/Visual C++] BOOL IKFTPConnect(LPCTSTR ServerName, LPCTSTR UserName, LPCTSTR Password, HINTERNET *hOpen, HINTERNET *hConnect);
[Delphi] function IKFTPConnect(ServerName, UserName, Password: LPCTSTR; hOpen: PHINTERNET; hConnect: PHINTERNET): LongBool;
[Visual Basic] Function IKFTPConnect(ByVal ServerName As String, ByVal UserName As String, ByVal Password As String, ByRef hOpen As Long, ByRef hConnect As Long) As Long

Parameters

Name | Explanation
ServerName | The name of the FTP server or IPAddress (*1)
UserName | The username needed to access the FTP server
Password | The password needed to access the FTP server
hOpen | The FTP server open handle
hConnect | The FTP server session handle

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFTPConnect function connects to the FTP server. This function can only be executed from the client computer. It does not operate on the server. This function is used in conjunction with IKFTPDeleteFileEx, IKFTPGetFileEx, IKFTPPutFileEx, and IKFTPRenameFileEx functions.

(*1)

When setting a proxy server or changing the mode connection (PASV) or changing the port number, use the ServerName parameter to pass the necessary information. The information is passed in this parameter in the following order: FTP Server name or IPAddress;Proxy Server IPAddress;Port Number;Passive Mode True/False. (use a semicolon to delimit multiple entries).

Note: If you do not specify the port number the default port number will be used. If you do not specify passive or active mode then passive mode will be used.

A. Set a proxy server:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"
B. Change the port number to 22:
ServerName = "www.newtone.co.jp;;22"
C. Use active mode instead of passive mode:
ServerName = "www.newtone.co.jp;;;FALSE"
D. Set a proxy server and change the port number to 22:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22"
E. Set a proxy server, change the port number to 22 and set the connection mode to active:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22;FALSE"


IKFTPDeleteFile

This function deletes an existing file from the FTP server. (It includes connecting to and disconnecting from server.)

[C++Builder/Visual C++] BOOL IKFTPDeleteFile(LPCTSTR ServerName, LPCTSTR DeleteFile, LPCTSTR UserName, LPCTSTR Password);
[Delphi] function IKFTPDeleteFile(ServerName, DeleteFile, UserName, Password: PChar): LongBool;
[Visual Basic] Function IKFTPDeleteFile(ByVal ServerName As String, ByVal DeleteFile As String, ByVal UserName As String, ByVal Password As String) As Long

Parameters

Name | Explanation
ServerName | The name of the FTP server or IPAddress (*1)
DeleteFile | The name and path of the file to be deleted
UserName | The username needed to access the FTP server
Password | The password needed to access the FTP server

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFTPDeleteFile function deletes an existing file from the FTP server. (It includes connecting to and disconnecting from server.) This function can only be executed from the client computer. It does not operate on the server.

(*1)

When setting a proxy server or changing the mode connection (PASV) or changing the port number, use the ServerName parameter to pass the necessary information. The information is passed in this parameter in the following order: FTP Server name or IPAddress;Proxy Server IPAddress;Port Number;Passive Mode True/False. (use a semicolon to delimit multiple entries).

Note: If you do not specify the port number the default port number will be used. If you do not specify passive or active mode then passive mode will be used.

So the following syntax is used to:

A. Set a proxy server:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"
B. Change the port number to 22:
ServerName = "www.newtone.co.jp;;22"
C. Use active mode instead of passive mode:
ServerName = "www.newtone.co.jp;;;FALSE"
D. Set a proxy server and change the port number to 22:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22"
E. Set a proxy server, change the port number to 22 and set the connection mode to active:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22;FALSE"


IKFTPDeleteFileEx

This function deletes an existing file from the FTP server.

[C++Builder/Visual C++] BOOL IKFTPDeleteFileEx(HINTERNET hConnect, LPCTSTR DeleteFile);
[Delphi] function IKFTPDeleteFileEx(hConnect: HINTERNET; DeleteFile: LPCTSTR): LongBool;
[Visual Basic] Function IKFTPDeleteFileEx(ByVal hConnect As Long, ByVal DeleteFile As String) As Long

Parameters

Name | Explanation
hConnect | The session handle retrieved from the IKFTPConnect function
DeleteFile | The name and path of the file to be deleted

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFTPDeleteFileEx function deletes an existing file from the FTP server. It can be used only after the IKFTPConnect function has successfully connected to the FTP server. This function can only be executed from the client computer. It does not operate on the server.

Example Code:

(1) C++Builder/Visual C++
HINTERNET hOpen, hConnect;
if (IKFTPConnect("www.newtone.co.jp", "User", "Password", &hOpen, &hConnect) ==
                FALSE) return;
IKFTPDeleteFileEx(hConnect, "images/001.jpg");
IKFTPDisconnect(hOpen, hConnect);

(2) Delphi
hOpen, hConnect: HINTERNET;
if (IKFTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) =
                False) then Exit;
IKFTPDeleteFileEx(hConnect, 'images/001.jpg');
IKFTPDisconnect(hOpen, hConnect);

(3) Visual Basic
Dim hOpen As Long
Dim hConnect As Long
If IKFTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub
Call IKFTPDeleteFileEx(hConnect, "images/001.jpg")
Call IKFTPDisconnect(hOpen, hConnect)


IKFTPDisconnect

This function disconnects from the FTP server.

[C++Builder/Visual C++] BOOL IKFTPDisconnect(HINTERNET hOpen, HINTERNET hConnect);
[Delphi] function IKFTPDisconnect(hOpen, hConnect: HINTERNET): LongBool;
[Visual Basic] Function IKFTPDisconnect(ByVal hOpen As Long, ByVal hConnect As Long) As Long

Parameters

Name | Explanation
hOpen | The open handle retrieved from the IKFTPConnect function
hConnect | The session handle retrieved from the IKFTPConnect function

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFTPDisconnect function disconnects the server that was connected by the IKFTPConnect function. This function can only be executed from the client computer. It does not operate on the server.


IKFTPGetFile

This function retrieves a file from the FTP server. (It includes connecting to and disconnecting from server.)

[C++Builder/Visual C++] BOOL IKFTPGetFile(LPCTSTR ServerName, LPCTSTR RemoteFile, LPCTSTR LocalFile, LPCTSTR UserName, LPCTSTR Password, long TransPercent, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKFTPGetFile(ServerName, RemoteFile, LocalFile, UserName, Password: PChar; TransPercent: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKFTPGetFile(ByVal ServerName As String, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal UserName As String, ByVal Password As String, ByVal TransPercent As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
ServerName | The name of the FTP server or IPAddress (*1)
RemoteFile | The name and path of the file to be retrieved
LocalFile | The name and path on the local computer where the file is saved
UserName | The username needed to access the FTP server
Password | The password needed to access the FTP server
TransPercent | The percent of file tranferred before the User Function is called
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFTPGetFile function retrieves a file from the FTP server. (It includes connecting to and disconnecting from server.) This function can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the percent of file tranferred before the User Function is called.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user functions please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

(*1)

When setting a proxy server or changing the mode connection (PASV) or changing the port number, use the ServerName parameter to pass the necessary information. The information is passed in this parameter in the following order: FTP Server name or IPAddress;Proxy Server IPAddress;Port Number;Passive Mode True/False. (use a semicolon to delimit multiple entries).

Note: If you do not specify the port number the default port number will be used. If you do not specify passive or active mode then passive mode will be used.

A. Set a proxy server:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"
B. Change the port number to 22:
ServerName = "www.newtone.co.jp;;22"
C. Use active mode instead of passive mode:
ServerName = "www.newtone.co.jp;;;FALSE"
D. Set a proxy server and change the port number to 22:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22"
E. Set a proxy server, change the port number to 22 and set the connection mode to active:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22;FALSE"


IKFTPGetFileEx

This function retrieves a file from the FTP server.

[C++Builder/Visual C++] BOOL IKFTPGetFileEx(HINTERNET hConnect, LPCTSTR RemoteFile, LPCTSTR LocalFile, long TransPercent, IKPROCESSPROC UserProc);
[Delphi] function IKFTPGetFileEx(hConnect: HINTERNET; RemoteFile, LocalFile: LPCTSTR; TransPercent: Longint; UserProc: LONG_PTR): LongBool;
[Visual Basic] Function IKFTPGetFileEx(ByVal hConnect As Long, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal TransPercent As Long, ByVal UserProc As Long) As Long

Parameters

Name | Explanation
hConnect | The session handle retrieved from the IKFTPConnect function
RemoteFile | The name and path of the file to be retrieved
LocalFile | The name and path on the local computer where the file is saved
TransPercent | The percent of file tranferred before the User Function is called
UserProc | The address of the user function (If not using the user function then set to 0)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFTPGetFileEx function retrieves a file from the FTP server. It can be used only after the IKFTPConnect function has successfully connected to the FTP server. This function can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the percent of file tranferred before the User Function is called.

Example Code:

(1)C++Builder/Visual C++
HINTERNET hOpen, hConnect;
if (IKFTPConnect("www.newtone.co.jp", "User", "Password", &hOpen,
                &hConnect) == FALSE) return;
IKFTPGetFileEx(hConnect, "images/001.jpg", "C:\\Images\\001.jpg", 10, 0);
IKFTPDisconnect(hOpen, hConnect);

(2)Delphi
hOpen, hConnect: HINTERNET;
if (IKFTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) =
                False) then Exit;
IKFTPGetFileEx(hConnect, 'images/001.jpg', 'C:\Images\001.jpg', 10, 0);
IKFTPDisconnect(hOpen, hConnect);

(3)Visual Basic
Dim hOpen As Long
Dim hConnect As Long
If IKFTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub
Call IKFTPGetFileEx(hConnect, "images/001.jpg", 'C:\Images\001.jpg', 10, 0)
Call IKFTPDisconnect(hOpen, hConnect)


IKFTPPutFile

This function transfers a file to the FTP server. (It includes connecting to and disconnecting from server.)

[C++Builder/Visual C++] BOOL IKFTPPutFile(LPCTSTR ServerName, LPCTSTR RemoteFile, LPCTSTR LocalFile, LPCTSTR UserName, LPCTSTR Password, long TransPercent, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKFTPPutFile(ServerName, RemoteFile, LocalFile, UserName, Password: PChar; TransPercent: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKFTPPutFile(ByVal ServerName As String, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal UserName As String, ByVal Password As String, ByVal TransPercent As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
ServerName | The name of the FTP server or IPAddress (*1)
RemoteFile | The destination on the FTP server where the file is to be saved. Includes path and file name
LocalFile | The filename and path of the file on the local computer that will be transferred
UserName | The username needed to access the FTP server
Password | The password needed to access the FTP server
TransPercent | The percent of file tranferred before the User Function is called
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFTPPutFile function transfers a file to the FTP server. (It includes connecting to and disconnecting from server.) This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the percent of file tranferred before the User Function is called.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user functions please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

(*1)

When setting a proxy server or changing the mode connection (PASV) or changing the port number, use the ServerName parameter to pass the necessary information. The information is passed in this parameter in the following order: FTP Server name or IPAddress;Proxy Server IPAddress;Port Number;Passive Mode True/False. (use a semicolon to delimit multiple entries).

Note: If you do not specify the port number the default port number will be used. If you do not specify passive or active mode then passive mode will be used.

A. Set a proxy server:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"
B. Change the port number to 22:
ServerName = "www.newtone.co.jp;;22"
C. Use active mode instead of passive mode:
ServerName = "www.newtone.co.jp;;;FALSE"
D. Set a proxy server and change the port number to 22:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22"
E. Set a proxy server, change the port number to 22 and set the connection mode to active:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22;FALSE"


IKFTPPutFileEx

This function transfers a file to the FTP server.

[C++Builder/Visual C++] BOOL IKFTPPutFileEx(HINTERNET hConnect, LPCTSTR RemoteFile, LPCTSTR LocalFile, long TransPercent, IKPROCESSPROC UserProc);
[Delphi] function IKFTPPutFileEx(hConnect: HINTERNET; RemoteFile, LocalFile: LPCTSTR; TransPercent: Longint; UserProc: LONG_PTR): LongBool;
[Visual Basic] Function IKFTPPutFileEx(ByVal hConnect As Long, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal TransPercent As Long, ByVal UserProc As Long) As Long

Parameters

Name | Explanation
hConnect | The session handle retrieved from the IKFTPConnect function
RemoteFile | The destination on the FTP server where the file is to be saved. Includes path and file name
LocalFile | The filename and path of the file on the local computer that will be transferred
TransPercent | The percent of file tranferred before the User Function is called
UserProc | The address of the user function (If not using the user function then set to 0)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFTPPutFileEx function transfers a file to the FTP server. It can be used only after the IKFTPConnect function has successfully connected to the FTP server. This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the percent of file tranferred before the User Function is called.

Example Code:

(1)C++Builder/Visual C++
HINTERNET hOpen, hConnect;
if (IKFTPConnect("www.newtone.co.jp", "User", "Password", &hOpen,
                &hConnect) == FALSE) return;
IKFTPPutFileEx(hConnect, "images/001.jpg", "C:\\Images\\001.jpg", 10, 0);
IKFTPDisconnect(hOpen, hConnect);

(2)Delphi
hOpen, hConnect: HINTERNET;
if (IKFTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) =
                False) then Exit;
IKFTPPutFileEx(hConnect, 'images/001.jpg', 'C:\Images\001.jpg', 10, 0);
IKFTPDisconnect(hOpen, hConnect);

(3)Visual Basic
Dim hOpen As Long
Dim hConnect As Long
If IKFTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub
Call IKFTPPutFileEx(hConnect, "images/001.jpg", 'C:\Images\001.jpg', 10, 0)
Call IKFTPDisconnect(hOpen, hConnect)


IKFTPRenameFile

This function renames an existing file on the FTP server. (It includes connecting to and disconnecting from server.)

[C++Builder/Visual C++] BOOL IKFTPRenameFile(LPCTSTR ServerName, LPCTSTR OldFile, LPCTSTR NewFile, LPCTSTR UserName, LPCTSTR Password);
[Delphi] function IKFTPRenameFile(ServerName, OldFile, NewFile, UserName, Password: PChar): LongBool;
[Visual Basic] Function IKFTPRenameFile(ByVal ServerName As String, ByVal OldFile As String, ByVal NewFile As String, ByVal UserName As String, ByVal Password As String) As Long

Parameters

Name | Explanation
ServerName | The name of the FTP server or IPAddress (*1)
OldFile | The old name of the file (The name and path of the file prior to renaming)
NewFile | The new name of the file (DOES NOT INCLUDE PATH)
UserName | The username needed to access the FTP server
Password | The password needed to access the FTP server

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFTPRenameFile function renames an existing file on the FTP server. (It includes connecting to and disconnecting from server.) This method can only be executed from the client computer. It does not operate on the server.

(*1)

When setting a proxy server or changing the mode connection (PASV) or changing the port number, use the ServerName parameter to pass the necessary information. The information is passed in this parameter in the following order: FTP Server name or IPAddress;Proxy Server IPAddress;Port Number;Passive Mode True/False. (use a semicolon to delimit multiple entries).

Note: If you do not specify the port number the default port number will be used. If you do not specify passive or active mode then passive mode will be used.

A. Set a proxy server:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"
B. Change the port number to 22:
ServerName = "www.newtone.co.jp;;22"
C. Use active mode instead of passive mode:
ServerName = "www.newtone.co.jp;;;FALSE"
D. Set a proxy server and change the port number to 22:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22"
E. Set a proxy server, change the port number to 22 and set the connection mode to active:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22;FALSE"


IKFTPRenameFileEx

This function renames an existing file on the FTP server.

[C++Builder/Visual C++] BOOL IKFTPRenameFileEx(HINTERNET hConnect, LPCTSTR OldFile, LPCTSTR NewFile);
[Delphi] function IKFTPRenameFileEx(hConnect: HINTERNET; OldFile, NewFile: LPCTSTR): LongBool;
[Visual Basic] Function IKFTPRenameFileEx(ByVal hConnect As Long, ByVal OldFile As String, ByVal NewFile As String) As Long

Parameters

Name | Explanation
hConnect | The session handle retrieved from the IKFTPConnect function
OldFile | The old name of the file (The name and path of the file prior to renaming)
NewFile | The new name of the file (DOES NOT INCLUDE PATH)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFTPRenameFile function renames an existing file on the FTP server. It can be used only after the IKFTPConnect function has successfully connected to the FTP server. This method can only be executed from the client computer. It does not operate on the server.

Example Code:

(1)C++Builder/Visual C++
HINTERNET hOpen, hConnect;
if (IKFTPConnect("www.newtone.co.jp", "User", "Password", &hOpen, &hConnect) ==
                FALSE) return;
IKFTPRenameFileEx(hConnect, "images/001.jpg", "002.jpg");
IKFTPDisconnect(hOpen, hConnect);

(2)Delphi
hOpen, hConnect: HINTERNET;
if (IKFTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) =
                False) then Exit;
IKFTPRenameFileEx(hConnect, 'images/001.jpg', '002.jpg');
IKFTPDisconnect(hOpen, hConnect);

(3)Visual Basic
Dim hOpen As Long
Dim hConnect As Long
If IKFTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub
Call IKFTPRenameFileEx(hConnect, "images/001.jpg", '002.jpg')
Call IKFTPDisconnect(hOpen, hConnect)


IKGifFileLoad

This function loads raster image data from a GIF file.

[C++Builder/Visual C++] HANDLE IKGifFileLoad(LPCTSTR FileName, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKGifFileLoad(FileName: PChar; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKGifFileLoad(ByVal FileName As String, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded
Page | The page number of the image file that is loaded
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKGifFileLoad function loads raster image data from a GIF file. When loading multi-page image files, the Page parameter determines which page will be loaded. If the image is a single page image file then the Page parameter is disabled. Supports 1, 4, and 8 bit color. The number of pages in the Gif file can be retrieved by the IKFileType function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.


IKGifFileLoadMem

This function loads a raster image from GIF format raw image data.

[C++Builder/Visual C++] HANDLE IKGifFileLoadMem(HANDLE Handle, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKGifFileLoadMem(Handle: THandle; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKGifFileLoadMem(ByVal Handle As Long, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | GIF format raw image data
Page | The page number of the image file that is loaded
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKGifFileLoadMem function loads a raster image from GIF format raw image data. When loading multi-page image files, the Page parameter determines which page will be loaded. If the raw data is a single page image file then the Page parameter is disabled. Supports 1, 4, and 8 bit color. The number of pages in the Gif file can be retrieved by the IKFileType function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKGifFileLoad function.


IKGifFileSave

This function saves raster image data in a GIF file.

[C++Builder/Visual C++] BOOL IKGifFileSave(LPCTSTR FileName, HANDLE Handle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, BOOL Anime, int Delay, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKGifFileSave(FileName: PChar; Handle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Anime: LongBool; Delay: Integer; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKGifFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Anime As Long, ByVal Delay As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the raster image
Interlace | Sets whether or not interlace is enabled (False (0): No interlacing, True (nonzero) Interlacing)
Trans | Sets whether or not the transparent color is enabled (False (0): No transparency, True (nonzero): Transparency enabled)
Red | The red component of the transparent color (from 0 to 255) Enabled only when Trans is True
Green | The green component of the transparent color (from 0 to 255) Enabled only when Trans is True
Blue | The blue component of the transparent color (from 0 to 255) Enabled only when Trans is True
Anime | False (0): Single image, True (nonzero): Animation Gif (Multi-page image) When Anime is True (nonzero) the file is appended after the last page in the image file.
Delay | The interval after one image is displayed and before the next image is displayed (in units of 1/100 seconds). *Effective when Anime is set to True(nonzero).
Comment | The comment text to be saved (MAX:1023 bytes)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKGifFileSave function saves raster image data in a GIF file. Supports 1, 4, and 8 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKGifFileSave("c:\abc.gif", .....)

(2) When saving the file to FTP server:
IKGifFileSave("FTP://www.newtone.co.jp/image/abc.gif;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKGifFileSave("http://www.newtone.co.jp/image/abc.gif;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKGifFileSaveMem

This function saves raster image data in GIF format as raw image data.

[C++Builder/Visual C++] BOOL IKGifFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, BOOL Anime, int Delay, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKGifFileSaveMem(InHandle: THandle; var OutHandle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Anime: LongBool; Delay: Integer; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKGifFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Anime As Long, ByVal Delay As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the raster image
OutHandle | The raw image data to be saved
Interlace | Sets whether or not interlace is enabled (False (0): No interlacing, True (nonzero) Interlacing)
Trans | Sets whether or not the transparent color is enabled (False (0): No transparency, True (nonzero): Transparency enabled)
Red | The red component of the transparent color (from 0 to 255) Enabled only when Trans is True
Green | The green component of the transparent color (from 0 to 255) Enabled only when Trans is True
Blue | The blue component of the transparent color (from 0 to 255) Enabled only when Trans is True
Anime | False (0): Single image, True (nonzero): Animation Gif (Multi-page image) When Anime is True (nonzero) the file is appended after the last page in the image file.
Delay | The interval after one image is displayed and before the next image is displayed (in units of 1/100 seconds). *Effective when Anime is set to True(nonzero).
Comment | The comment text to be saved (MAX:1023 bytes)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKGifFileSaveMem function saves raster image data in GIF format as raw image data. Supports 1, 4, and 8 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is saved as raw image data, this function operates in the same way as the IKGifFileSave function.


IKHTTPConnect

This function connects to the HTTP(S) server.

[C++Builder/Visual C++] BOOL IKHTTPConnect(LPCTSTR ServerName, LPCTSTR UserName, LPCTSTR Password, HINTERNET *hOpen, HINTERNET *hConnect);
[Delphi] function IKHTTPConnect(ServerName, UserName, Password: LPCTSTR; hOpen: PHINTERNET; hConnect: PHINTERNET): LongBool;
[Visual Basic] Function IKHTTPConnect(ByVal ServerName As String, ByVal UserName As String, ByVal Password As String, ByRef hOpen As Long, ByRef hConnect As Long) As Long

Parameters

Name | Explanation
ServerName | The name of the HTTP(S) server or IPAddress (*1)
UserName | The username needed to access the HTTP(S) server
Password | The password needed to access the HTTP(S) server
hOpen | The HTTP(S) server open handle
hConnect | The HTTP(S) server session handle

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKHTTPConnect function connects to the HTTP(S) server. This function can only be executed from the client computer. It does not operate on the server. This function is used in conjunction with IKHTTPGetFileEx and IKHTTPPutFileEx functions.

(*1)

When setting a proxy server or changing the mode connection (PASV) or changing the port number, use the ServerName parameter to pass the necessary information. The information is passed in this parameter in the following order: FTP Server name or IPAddress;Proxy Server IPAddress;Port Number;Passive Mode True/False. (use a semicolon to delimit multiple entries).

Note: If you do not specify the port number the default port number will be used. If you do not specify passive or active mode then passive mode will be used.

A. Set a proxy server:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"
B. Change the port number to 22:
ServerName = "www.newtone.co.jp;;22"
C. Use active mode instead of passive mode:
ServerName = "www.newtone.co.jp;;;FALSE"
D. Set a proxy server and change the port number to 22:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22"
E. Set a proxy server, change the port number to 22 and set the connection mode to active:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;22;FALSE"


IKHTTPDisconnect

This function disconnects from the HTTP(S) server.

[C++Builder/Visual C++] BOOL IKHTTPDisconnect(HINTERNET hOpen, HINTERNET hConnect);
[Delphi] function IKHTTPDisconnect(hOpen, hConnect: HINTERNET): LongBool;
[Visual Basic] Function IKHTTPDisconnect(ByVal hOpen As Long, ByVal hConnect As Long) As Long

Parameters

Name | Explanation
hOpen | The open handle retrieved from the IKHTTPConnect function
hConnect | The session handle retrieved from the IKHTTPConnect function

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKHTTPDisconnect function disconnects from the HTTP(S) server. This function can only be executed from the client computer. It does not operate on the server. This function disconnects the server that was connected by the IKHTTPConnect function.


IKHTTPGetFile

This function retrieves a file from the HTTP or HTTPS server. (It includes connecting to and disconnecting from server.)

[C++Builder/Visual C++] BOOL IKHTTPGetFile(LPCTSTR ServerName, LPCTSTR RemoteFile, LPCTSTR LocalFile, LPCTSTR UserName, LPCTSTR Password, long TransPercent, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKHTTPGetFile(ServerName, RemoteFile, LocalFile, UserName, Password: PChar; TransPercent: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKHTTPGetFile(ByVal ServerName As String, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal UserName As String, ByVal Password As String, ByVal TransPercent As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
ServerName | The name of the HTTP(S) server or IPAddress (*1)
RemoteFile | The name and path of the file to be retrieved
LocalFile | The filename and path on the local computer where the file will be saved
UserName | The username needed to access the HTTP(S) server
Password | The password needed to access the HTTP(S) server
TransPercent | The percent of file tranferred before the User Function is called.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKHTTPGetFile function retrieves a file from the HTTP or the HTTPS server. (It includes connecting to and disconnecting from server.) This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the percent of file tranferred before the User Function is called.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user functions please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

(*1)

When setting a proxy server, changing the port number, or using HTTPS, use the ServerName parameter to pass the necessary information. The information is passed in this parameter in the following order: HTTP(S) Server name or IPAddress;Proxy Server IPAddress;Port Number;HTTPS. (use a string with a semicolon to delimit multiple entries).

Note: If you do not specify the port number the default port number will be used. If you do not specify HTTPS then HTTP will be used.

A. Set a proxy server:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"
B. Change the port number to 81:
ServerName = "www.newtone.co.jp;;81"
C. Set a proxy server and change the port number to 81:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;81"
D. Use HTTPS:
ServerName = "www.newtone.co.jp;;;HTTPS"
E. Use HTTPS and change port number to 444:
ServerName = "www.newtone.co.jp;;444;HTTPS"


IKHTTPGetFileEx

This function retrieves a file from the HTTP or HTTPS server.

[C++Builder/Visual C++] BOOL IKHTTPGetFileEx(HINTERNET hConnect, LPCTSTR RemoteFile, LPCTSTR LocalFile, long TransPercent, IKPROCESSPROC UserProc);
[Delphi] function IKHTTPGetFileEx(hConnect: HINTERNET; RemoteFile, LocalFile: LPCTSTR; TransPercent: Longint; UserProc: LONG_PTR): LongBool;
[Visual Basic] Function IKHTTPGetFileEx(ByVal hConnect As Long, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal TransPercent As Long, ByVal UserProc As Long) As Long

Parameters

Name | Explanation
hConnect | The session handle retrieved from the IKHTTPConnect function
RemoteFile | The name and path of the file to be retrieved
LocalFile | The filename and path on the local computer where the file will be saved
TransPercent | The percent of file tranferred before the User Function is called
UserProc | The address of the user function (If not using the user function then set to 0)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKHTTPGetFile function retrieves a file from the HTTP or the HTTPS server. It can be used only after the IKHTTPConnect function has successfully connected to the HTTP(S) server. This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the percent of file tranferred before the User Function is called.

Example Code:

(1) C++Builder/Visual C++
HINTERNET hOpen, hConnect;
if (IKHTTPConnect("www.newtone.co.jp", "User", "Password", &hOpen,
                &hConnect) == FALSE) return;
IKHTTPGetFileEx(hConnect, "images/001.jpg", "C:\\Images\\001.jpg", 10, 0);
IKHTTPDisconnect(hOpen, hConnect);

(2) Delphi
hOpen, hConnect: HINTERNET;
if (IKHTTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) =
                False) then Exit;
IKHTTPGetFileEx(hConnect, 'images/001.jpg', 'C:\Images\001.jpg', 10, 0);
IKHTTPDisconnect(hOpen, hConnect);

(3) Visual Basic
Dim hOpen As Long
Dim hConnect As Long
If IKHTTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub
Call IKHTTPGetFileEx(hConnect, "images/001.jpg", 'C:\Images\001.jpg', 10, 0)
Call IKHTTPDisconnect(hOpen, hConnect)


IKHTTPPutFile

This function transfers a file to the HTTP server or the HTTPS. (It includes connecting to and disconnecting from server.)

[C++Builder/Visual C++] BOOL IKHTTPPutFile(LPCTSTR ServerName, LPCTSTR RemoteFile, LPCTSTR LocalFile, LPCTSTR UserName, LPCTSTR Password, long TransPercent, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKHTTPPutFile(ServerName, RemoteFile, LocalFile, UserName, Password: PChar; TransPercent: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKHTTPPutFile(ByVal ServerName As String, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal UserName As String, ByVal Password As String, ByVal TransPercent As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
ServerName | The name of the HTTP(S) server or IPAddress (*1)
RemoteFile | The destination on the HTTP(S) server where the file is to be saved. Includes path and file name
LocalFile | The filename and path of the local file to be transferred
UserName | The username needed to access the HTTP(S) server
Password | The password needed to access the HTTP(S) server
TransPercent | The percent of file tranferred before the User Function is called
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKHTTPPutFile function transfers a file to the HTTP server or the HTTPS server. (It includes connecting to and disconnecting from server.) This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the percent of file tranferred before the User Function is called.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user functions please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

(*1)

When setting a proxy server, changing the port number, or using HTTPS, use the ServerName parameter to pass the necessary information. The information is passed in this parameter in the following order: HTTP(S) Server name or IPAddress;Proxy Server IPAddress;Port Number;HTTPS. (use a string with a semicolon to delimit multiple entries).

Note: If you do not specify the port number the default port number will be used. If you do not specify HTTPS then HTTP will be used.

A. Set a proxy server:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx"
B. Change the port number to 81:
ServerName = "www.newtone.co.jp;;81"
C. Set a proxy server and change the port number to 81:
ServerName = "www.newtone.co.jp;xxx.xxx.x.xxx;81"
D. Use HTTPS:
ServerName = "www.newtone.co.jp;;;HTTPS"
E. Use HTTPS and change the port number to 444:
ServerName = "www.newtone.co.jp;;444;HTTPS"


IKHTTPPutFileEx

This function transfers a file to the HTTP server or the HTTPS.

[C++Builder/Visual C++] BOOL IKHTTPPutFileEx(HINTERNET hConnect, LPCTSTR RemoteFile, LPCTSTR LocalFile, long TransPercent, IKPROCESSPROC UserProc);
[Delphi] function IKHTTPPutFileEx(hConnect: HINTERNET; RemoteFile, LocalFile: LPCTSTR; TransPercent: Longint; UserProc: Longint): LongBool;
[Visual Basic] Function IKHTTPPutFileEx(ByVal hConnect As Long, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal TransPercent As Long, ByVal UserProc As Long) As Long

Parameters

Name | Explanation
hConnect | The session handle retrieved from the IKFTPConnect function
RemoteFile | The destination on the HTTP(S) server where the file is to be saved. Includes path and file name
LocalFile | The filename and path of the local file to be transferred
UserName | The username needed to access the HTTP(S) server
Password | The password needed to access the HTTP(S) server
TransPercent | The percent of file tranferred before the User Function is called
UserProc | The address of the user function (If not using the user function then set to 0)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKHTTPPutFileEx function transfers a file to the HTTP server or the HTTPS server. It can be used only after the IKHTTPConnect function has successfully connected to the HTTP(S) server. This method can only be executed from the client computer. It does not operate on the server. The TransPercent parameter sets the percent of file tranferred before the User Function is called.

Example Code:

(1) C++Builder/Visual C++
HINTERNET hOpen, hConnect;
if (IKHTTPConnect("www.newtone.co.jp", "User", "Password", &hOpen,
                &hConnect) == FALSE) return;
IKHTTPPutFileEx(hConnect, "images/001.jpg", "C:\\Images\\001.jpg", 10, 0);
IKHTTPDisconnect(hOpen, hConnect);

(2) Delphi
hOpen, hConnect: HINTERNET;
if (IKHTTPConnect('www.newtone.co.jp', 'User', 'Password', @hOpen, @hConnect) =
                False) then Exit;
IKHTTPPutFileEx(hConnect, 'images/001.jpg', 'C:\Images\001.jpg', 10, 0);
IKHTTPDisconnect(hOpen, hConnect);

(3) Visual Basic
Dim hOpen As Long
Dim hConnect As Long
If IKHTTPConnect("www.newtone.co.jp", "User", "Password", hOpen, hConnect) = False Then Exit Sub
Call IKHTTPPutFileEx(hConnect, "images/001.jpg", 'C:\Images\001.jpg', 10, 0)
Call IKHTTPDisconnect(hOpen, hConnect)


IKJ2kFileLoad

This function loads raster image data from a JPEG2000 file.

[C++Builder/Visual C++] HANDLE IKJ2kFileLoad(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKJ2kFileLoad(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKJ2kFileLoad(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKJ2kFileLoad function loads raster image data from a JPEG2000 file. Supports 8 bit grayscale and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.


IKJ2kFileLoadMem

This function loads a raster image from JPEG2000 format raw image data.

[C++Builder/Visual C++] HANDLE IKJ2kFileLoadMem(HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKJ2kFileLoadMem(Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKJ2kFileLoadMem(ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | JPEG2000 format raw image data
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKJ2kFileLoadMem function loads a raster image from JPEG2000 format raw image data. Supports 8 bit grayscale and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKJ2kFileLoad function.


IKJ2kFileSave

This function saves raster image data in a JPEG2000 file.

[C++Builder/Visual C++] BOOL IKGifFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, BOOL Anime, int Delay, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKGifFileSaveMem(InHandle: THandle; var OutHandle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Anime: LongBool; Delay: Integer; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKGifFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Anime As Long, ByVal Delay As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the raster image
JP2kFormat | The format (False(0): JPEG2000 Part1, True(nonzero): JPEG2000 Code Stream)
Reversible | The compression method (False(0): Non reversible, True(nonzero): Reversible)
Size | The size of the saved file as a factor of the size of the uncompressed image.
TileWidth | The width of the JPEG2000 format tile size (in pixels)
TileHeight | The height of the JPEG2000 format tile size (in pixels)
NumrResLevel | The level of the JPEG2000 format resolution. (from 0)
PrecinctWidth | The width of the JPEG2000 format precinct size (measured by 2 to certain power (from 0 to 15))
PrecinctHeight | The height of the JPEG2000 format precinct size (measured by 2 to certain power (from 0 to 15))
CodeBlockWidth | The width of the JPEG2000 format code block size (measured by 2 to certain power (from 0 to 10))
CodeBlockHeight | The height of the JPEG2000 format code block size (measured by 2 to certain power (from 0 to 10))
Comment | The comment text to be saved (MAX:1023 bytes) Set as follows: [title + 0x0d + Subject + ... + 0x0d] title: The image title Subject: The subject of the image Author: The creator of the image Comment: The comment * In Delphi replace the above 0x with $, and in Visual Basic, replace the 0x with &H.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKJ2kFileSave function saves raster image data in a JPEG2000 file. Supports 8 bit grayscale and 24 bit color.

In general, when JP2kFormat is False(0), the file extension is jpc or j2k. When True(nonzero) it is jp2. When Reversible is False(0), nonreversible ICT (nonreversible component conversion) and 9/7 nonreversible wavelet conversion is used. When True(nonzero), reversible RCT (reversible component conversion) and 5/3 reversible wavelet conversion is used. Size is a factor of the size of the uncompressed image. When Size is 0.01, for example, the compressed image will be 1/100th the size of the uncompressed image. Size is enabled when Reversible is False(0). The default value of Size is 0 meaning uncompressed.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKJ2kFileSave("c:\abc.jp2", .....)

(2) When saving the file to FTP server:
IKJ2kFileSave("FTP://www.newtone.co.jp/image/abc.jp2;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKJ2kFileSave("http://www.newtone.co.jp/image/abc.jp2;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKJ2kFileSaveMem

This function saves raster image data in JPEG2000 format as raw image data.

[C++Builder/Visual C++] BOOL IKJ2kFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, BOOL JP2kFormat, BOOL Reversible, double Size, long TileWidth, long TileHeight, short NumrResLevel, short PrecinctWidth, short PrecinctHeight, short CodeBlockWidth, short CodeBlockHeight, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKJ2kFileSaveMem(InHandle: THandle; var OutHandle: THandle; JP2kFormat, Reversible: LongBool; Size: Double; TileWidth, TileHeight: Longint; NumrResLevel, PrecinctWidth, PrecinctHeight, CodeBlockWidth, CodeBlockHeight: Smallint; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKJ2kFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal JP2kFormat As Long, ByVal Reversible As Long, ByVal Size As Double, ByVal TileWidth As Long, ByVal TileHeight As Long, ByVal NumrResLevel As Integer, ByVal PrecinctWidth As Integer, ByVal PrecinctHeight As Integer, ByVal CodeBlockWidth As Integer, ByVal CodeBlockHeight As Integer, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the raster image
OutHandle | The raw image data to be saved
JP2kFormat | The format (False(0): JPEG2000 Part1, True(nonzero): JPEG2000 Code Stream)
Reversible | The compression method (False(0): Non reversible, True(nonzero): Reversible)
Size | The size of the saved file as a factor of the size of the uncompressed image.
TileWidth | The width of the JPEG2000 format tile size (in pixels)
TileHeight | The height of the JPEG2000 format tile size (in pixels)
NumrResLevel | The level of the JPEG2000 format resolution. (from 0)
PrecinctWidth | The width of the JPEG2000 format precinct size (measured by 2 to certain power (from 0 to 15))
PrecinctHeight | The height of the JPEG2000 format precinct size (measured by 2 to certain power (from 0 to 15))
CodeBlockWidth | The width of the JPEG2000 format code block size (measured by 2 to certain power (from 0 to 10))
CodeBlockHeight | The height of the JPEG2000 format code block size (measured by 2 to certain power (from 0 to 10))
Comment | The comment text to be saved (MAX:1023 bytes) Set as follows: [title + 0x0d + Subject + ... + 0x0d] title: The image title Subject: The subject of the image Author: The creator of the image Comment: The comment * In Delphi replace the above 0x with $, and in Visual Basic, replace the 0x with &H.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKJ2kFileSaveMem function saves raster image data in JPEG2000 format as raw image data. Supports 8 bit grayscale and 24 bit color.

In general, when JP2kFormat is False(0), the file extension is jpc or j2k. When True(nonzero) it is jp2. When Reversible is False(0), nonreversible ICT (nonreversible component conversion) and 9/7 nonreversible wavelet conversion is used. When True(nonzero), reversible RCT (reversible component conversion) and 5/3 reversible wavelet conversion is used. Size is a factor of the size of the uncompressed image. When Size is 0.01, for example, the compressed image will be 1/100th the size of the uncompressed image. Size is enabled when Reversible is False(0). The default value of Size is 0 meaning uncompressed.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is saved as raw image data, this function operates in the same way as the IKJ2kFileSave function.


IKJpegExifInfo

This function retrieves information about the primary image and thumbnail image from an Exif (JPEG) file.

[C++Builder/Visual C++] BOOL IKJpegExifInfo(LPCTSTR FileName, PTR_EXIF_INFO ExifInfo);
[Delphi] function IKJpegExifInfo(FileName: PChar; var ExifInfo: EXIF_INFO): LongBool;
[Visual Basic] Function IKJpegExifInfo(ByVal FileName As String, ExifInfo As EXIF_INFO) As Long

Parameters

Name | Explanation
FileName | The name of the file whose information is retrieved
ExifInfo | The structure (user-defined type) containing the retrieved Exif information

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKJpegExifInfo function retrieves information about the primary image and thumbnail image from an Exif (JPEG) file.

If successful, the retrieved values are set into the ExifInfo member variables. Because the thumbnail image handle is set into ThumbImageInfo.ThumbImageHandle, please be sure to free it from the memory using the IKFreeMemory function. For details about the EXIF_INFO structure, please refer to the explanation of the EXIF_INFO member variables in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To load the primary image of an Exif(JPEG) file please use the IKFileLoad or IKJpegFileLoad function.

[Regarding the retrieved information]

The ImageKit retrieves Exif(JPEG) image infromation by executing the IKJpegExifInfo function. It should be noted that even though this function is properly executed, because of variations in the features of different digital camera equipment and the subsequent differences in the quality of images, not all information can be retrieved in every case. For more information, please refer to Japan Electronic Industry Development Association, "Digital Still Camera Image File Format Standard (Exchangeable image file format for Digital Still Camera: Exif)"Version 2.1, June 1998.

[Structure of Exif Image Information]

Differences from ImageKit7

IntOpeInfo has been added to the EXIF_INFO structure


IKJpegExifInfoMem

This function retrieves information about the main image and the thumbnail image from Exif format raw image data.

[C++Builder/Visual C++] BOOL IKJpegExifInfoMem(HANDLE Handle, PTR_EXIF_INFO ExifInfo);
[Delphi] function IKJpegExifInfoMem(Handle: THandle; var ExifInfo: EXIF_INFO): LongBool;
[Visual Basic] Function IKJpegExifInfoMem(ByVal Handle As Long, ExifInfo As EXIF_INFO) As Long

Parameters

Name | Explanation
Handle | EXIF format raw image data
ExifInfo | The structure (user-defined type) containing the retrieved Exif information

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKJpegExifInfoMem function retrieves information about the main image and the thumbnail image from Exif format raw image data.

If successful, the retrieved values are set into the ExifInfo member variables. Because the thumbnail image handle is set into ThumbImageInfo.ThumbImageHandle, please be sure to free it from the memory using the IKFreeMemory function. For details about the EXIF_INFO structure, please refer to the explanation of the EXIF_INFO member variables in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To load the primary image of an Exif(JPEG) file please use the IKFileLoad or IKJpegFileLoad function.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKJpegExifInfo function.

[Regarding the retrieved information]

The ImageKit retrieves Exif(JPEG) image infromation by executing the IKJpegExifInfoMem function. It should be noted that even though this function is properly executed, because of variations in the features of different digital camera equipment and the subsequent differences in the quality of images, not all information can be retrieved in every case. For more information, please refer to Japan Electronic Industry Development Association, "Digital Still Camera Image File Format Standard (Exchangeable image file format for Digital Still Camera: Exif)"Version 2.1, June 1998.

[Structure of Exif Image Information]

Differences from ImageKit7

IntOpeInfo has been added to the EXIF_INFO structure


IKJpegFileLoad

This function loads raster image data from a JPEG file.

[C++Builder/Visual C++] HANDLE IKJpegFileLoad(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKJpegFileLoad(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKJpegFileLoad(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKJpegFileLoad function loads raster image data from a JPEG file. Supports 8 bit grayscale and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.


IKJpegFileLoadMem

This function loads a raster image from JPEG format raw image data.

[C++Builder/Visual C++] HANDLE IKJpegFileLoad(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKJpegFileLoad(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKJpegFileLoad(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | JPEG format raw image data
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

This function loads a raster image from JPEG format raw image data. Supports 8 bit grayscale and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKJpegFileLoad function.


IKJ2kFileSave

ImageKit10 Ik10File.dll

IKJpegFileSave

This function saves raster image data in a JPEG file.

[C++Builder/Visual C++] BOOL IKJpegFileSave(LPCTSTR FileName, HANDLE Handle, int Type, int Quality, int SubSamp, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKJpegFileSave(FileName: PChar; Handle: THandle; Type_, Quality, SubSamp: Integer; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKJpegFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Type As Long, ByVal Quality As Long, ByVal SubSamp As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the raster image
Type | 0: Standard DCT, 1: ProgressiveDCT
Quality | JPEG compression quality coefficient (from 0 to 100: 75 is recommended)
SubSamp | Subsampling (enabled for 24 bit color). Y:Cb:Cr (0: 4:1:1, 1: 4:2:2, 2: 4:4:4)
Comment | The comment text to be saved (MAX:1023 bytes)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKJpegFileSave function saves raster image data in a JPEG file. Supports 8 bit grayscale and 24 bit color. In the SubSamp parameter, Y refers to luminance, Cr and Cb refer to chrominance.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKJpegFileSave("c:\abc.jpg", .....)

(2) When saving the file to FTP server:
IKJpegFileSave("FTP://www.newtone.co.jp/image/abc.jpg;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKJpegFileSave("http://www.newtone.co.jp/image/abc.jpg;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded.The ImageKit10 ActiveX allows files to be loaded or saved to FTP and HTTP(S) servers.
IKJpegFileSaveEx method has been added.


IKJ2kFileSaveEx

ImageKit10 Ik10File.dll

IKJpegFileSaveEx

This function saves raster image data, including exif information, in a JPEG file.

[C++Builder/Visual C++] BOOL IKJpegFileSaveEx(LPCTSTR FileName, HANDLE Handle, int Type, int Quality, int SubSamp, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button, PTR_EXIF_INFO exifInfo);
[Delphi] function IKJpegFileSaveEx(FileName: PChar; Handle: THandle; Type_, Quality, SubSamp: Integer; Comment: PAnsiChar; UserProc: LONG_PTR; Caption, Message, Button: PChar; var ExifInfo: EXIF_INFO): LongBool;
[Visual Basic] Function IKJpegFileSaveEx(ByVal FileName As String, ByVal Handle As Long, ByVal Type As Long, ByVal Quality As Long, ByVal SubSamp As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String, ExifInfo As EXIF_INFO) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the raster image
Type | 0: Standard DCT, 1: ProgressiveDCT
Quality | JPEG compression quality coefficient (from 0 to 100: 75 is recommended)
SubSamp | Subsampling (enabled for 24 bit color). Y:Cb:Cr (0: 4:1:1, 1: 4:2:2, 2: 4:4:4)
Comment | The comment text to be saved (MAX:1023 bytes)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box
ExifInfo | Exif information structured variable (user defined)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKJpegFileSave function saves raster image data, including exif information, in a JPEG file. Supports 8 bit grayscale and 24 bit color. In the SubSamp parameter, Y refers to luminance, Cr and Cb refer to chrominance.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

For information regarding EXIF_INFO, please see the explanation of the EXIF_INFO member variables in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKJpegFileSaveEx("c:\abc.jpg", .....)

(2) When saving the file to FTP server:
IKJpegFileSaveEx("FTP://www.newtone.co.jp/image/abc.jpg;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKJpegFileSaveEx("http://www.newtone.co.jp/image/abc.jpg;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded.The ImageKit10 ActiveX allows files to be loaded or saved to FTP and HTTP(S) servers.
IKJpegFileSaveEx method has been added.


IKJ2kFileSaveMem

ImageKit10 Ik10File.dll

IKJpegFileSaveMem

This function saves raster image data in JPEG format as raw image data.

[C++Builder/Visual C++] BOOL IKJpegFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, int Type, int Quality, int SubSamp, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKJpegFileSaveMem(InHandle: THandle; var OutHandle: THandle; Type_, Quality, SubSamp: Integer; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKJpegFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Type As Long, ByVal Quality As Long, ByVal SubSamp As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the raster image
OutHandle | The raw image data to be saved
Type | 0: Standard DCT, 1: ProgressiveDCT
Quality | JPEG compression quality coefficient (from 0 to 100: 75 is recommended)
SubSamp | Subsampling (enabled for 24 bit color). Y:Cb:Cr (0: 4:1:1, 1: 4:2:2, 2: 4:4:4)
Comment | The comment text to be saved (MAX:1023 bytes)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKJpegFileSaveMem function saves raster image data in JPEG format as raw image data. Supports 8 bit grayscale and 24 bit color. In the SubSamp parameter, Y refers to luminance, Cr and Cb refer to chrominance.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is saved as raw image data, this function operates in the same way as the IKJpegFileSave function.


IKJ2kFileSaveExMem

ImageKit10 Ik10File.dll

IKJpegFileSaveExMem

This function saves raster image data, including Exif information, in JPEG format as raw image data.

[C++Builder/Visual C++] BOOL IKJpegFileSaveExMem(HANDLE InHandle, HANDLE *OutHandle, int Type, int Quality, int SubSamp, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button, PTR_EXIF_INFO ExifInfo);
[Delphi] function IKJpegFileSaveMem(InHandle: THandle; var OutHandle: THandle; Type_, Quality, SubSamp: Integer; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar; var ExifInfo: EXIF_INFO): LongBool;
[Visual Basic] Function IKJpegFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Type As Long, ByVal Quality As Long, ByVal SubSamp As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String, ExifInfo As EXIF_INFO) As Long

Parameters

Name | Explanation
InHandle | The image handle of the raster image
OutHandle | The raw image data to be saved
Type | 0: Standard DCT, 1: ProgressiveDCT
Quality | JPEG compression quality coefficient (from 0 to 100: 75 is recommended)
SubSamp | Subsampling (enabled for 24 bit color). Y:Cb:Cr (0: 4:1:1, 1: 4:2:2, 2: 4:4:4)
Comment | The comment text to be saved (MAX:1023 bytes)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box
ExifInfo | Exif Information structured variable (user defined)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKJpegFileSaveMem function saves raster image data in JPEG format as raw image data. Supports 8 bit grayscale and 24 bit color. In the SubSamp parameter, Y refers to luminance, Cr and Cb refer to chrominance.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

For information about EXIF_INFO, see the explanation of the EXIF_INFO member variables in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is saved as raw image data, this function operates in the same way as the IKJpegFileSaveEx function.

[Differences from ImageKit7 ActiveX]
IKJpegFileSaveExMem method has been added to the ImageKit10 ActiveX.


IKOpenFileDialog

This function displays the "Open" dialog which can include a file preview and file information

[C++Builder/Visual C++] BOOL IKOpenFileDialog(HWND hWnd, LPSTR FileName, LPCTSTR FilePath, LPCTSTR FileExt, BOOL ExtendedDialog, BOOL Preview, BOOL FileInfo);
[Delphi] function IKOpenFileDialog(hWnd: HWND; FileName, FilePath, FileExt: PChar; ExtendedDialog, Preview, FileInfo: LongBool): LongBool;
[Visual Basic] Function IKOpenFileDialog(ByVal hWnd As Long, ByVal FileName As String, ByVal FilePath As String, ByVal FileExt As String, ByVal ExtendedDialog As Long, ByVal Preview As Long, ByVal FileInfo As Long) As Long

Parameters

Name | Explanation
hWnd | The window handle
FileName | The name of the selected file
FilePath | The name of the directory shown in the "Open" dialog when it is first displayed. If this parameter is blank then the current directory is shown.
FileExt | This sets the types of files that are shown in the "Open" dialog when it is first displayed. To set multiple file types use a semicolon as a delimiter. Ex: "BMP;JPG". Setting an asteriks "*" will remove the term "All Files" from the dropdown menu in the "Open" dialog. If you surround the file type with "<>" as in "<JPG>" then that file type will be displayed as the default type.
ExtendedDialog | False(0): Preview and FileInfo checkbox is not displayed True(nonzero): Preview and FileInfo checkbox is displayed
Preview | Sets the file preview function when the "Open" dialog is first displayed. False (0): No preview, True (nonzero): Preview
FileInfo | Sets whether or not the file information displayed when the "Open" dialog is first displayed. False(0): File information not displayed, True (nonzero): File information is displayed

Return Value

Returns True (nonzero) if "Open" is selected. Returns False (0) if "Cancel"is selected.

Explanation

The IKOpenFileDialog function displays the "Open" dialog which can include a file preview and file information. The file set in the FilePath and FileExt parameters will initially be displayed in the dialog box list. By selecting the Open button, the file name and full path are set in the FileName parameter. If ExtendedDialog is set to true, when the dialog is displayed the preview and file information checkboxes are displayed. Even if Preview and FileInfo are False, these checkboxes will be displayed. To reference a vector image in the preview , you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.


IKOpenFileDlg

This function displays the "Open" dialog which can include a file preview.

[C++Builder/Visual C++] BOOL IKOpenFileDlg(HWND hWnd, LPTSTR FileName, LPCTSTR FilePath, LPCTSTR FileExt, BOOL Preview);
[Delphi] function IKOpenFileDlg(hWnd: HWND; FileName, FilePath, FileExt: PChar; Preview: LongBool): LongBool;
[Visual Basic] Function IKOpenFileDlg(ByVal hWnd As Long, ByVal FileName As String, ByVal FilePath As String, ByVal FileExt As String, ByVal Preview As Long) As Long

Parameters

Name | Explanation
hWnd | The window handle
FileName | The name of the selected file
FilePath | The name of the directory shown in the "Open" dialog when it is first displayed. If this parameter is blank then the current directory is shown.
FileExt | This sets the types of files that are shown in the "Open" dialog when it is first displayed. To set multiple file types use a semicolon as a delimiter. Ex: "BMP;JPG". Setting an asteriks "*" will remove the term "All Files" from the dropdown menu in the "Open" dialog. If you surround the file type with "<>" as in "<JPG>" then that file type will be displayed as the default type.
Preview | Sets the file preview function when the "Open" dialog is first displayed. False (0): No preview, True (nonzero): Preview

Return Value

Returns True (nonzero) if "Open" is selected. Returns False (0) if "Cancel"is selected.

Explanation

The IKOpenFileDlg function displays the "Open" dialog which can include a file previewThe file set in the FilePath and FileExt parameters will initially be displayed in the dialog box list. By selecting the Open button, the file name and full path are set in the FileName parameter. To reference a vector image in the preview , you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.


IKPcxFileLoad

This function loads raster image data from a PCX file.

[C++Builder/Visual C++] HANDLE IKPcxFileLoad(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPcxFileLoad(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKPcxFileLoad(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKPcxFileLoad function loads raster image data from a PCX file. Supports 1, 4, 8, and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.


IKPcxFileLoadMem

This function loads a raster image from PCX format raw image data.

[C++Builder/Visual C++] HANDLE IKPcxFileLoadMem(HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPcxFileLoadMem(Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKPcxFileLoadMem(ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | PCX format raw image data
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKPcxFileLoadMem function loads a raster image from PCX format raw image data. Supports 1, 4, 8, and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKPcxFileLoad function.


IKPcxFileSave

This function saves raster image data in a PCX file.

[C++Builder/Visual C++] BOOL IKPcxFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPcxFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKPcxFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the raster image
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKPcxFileSave function saves raster image data in a PCX file. Supports 1, 4, 8, and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKPcxFileSave("c:\abc.pcx", .....)

(2) When saving the file to FTP server:
IKPcxFileSave("FTP://www.newtone.co.jp/image/abc.pcx;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKPcxFileSave("http://www.newtone.co.jp/image/abc.pcx;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKPcxFileSaveMem

This function saves raster image data in PCX format as raw image data.

[C++Builder/Visual C++] BOOL IKPcxFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPcxFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKPcxFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the raster image
Handle | The raw image data to be saved
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKPcxFileSaveMem function saves raster image data in PCX format as raw image data. Supports 1, 4, 8, and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is saved as raw image data, this function operates in the same way as the IKPcxFileSave function.


IKPDFAddImage

This function adds an image when the PDF document is created.

[C++Builder/Visual C++] BOOL IKPDFAddImage(PTR_SAVE_PDF_INFO PDFSetInfo, HANDLE ImageHandle, unsigned int x, unsigned int y, unsigned int size);
[Delphi] function IKPDFAddImage(var pdf_set: SAVE_PDF_INFO; ImageHandle: THandle; x: UINT; y: UINT; size: UINT): LongBool;
[Visual Basic] Function IKPDFAddImage(pdf_set As SAVE_PDF_INFO, ByVal ImageHandle As Long, ByVal x As Long, ByVal y As Long, ByVal size As Long) As Long

Parameters

Name | Explanation
PSFSetInfo | Structure (user-defined type) variable that sets the conditions for PDF creation
ImageHandle | The RAW data image handle for the image (only JPEG and PNG formats are supported)
x | The horizontal coordinate where the image will be added. (The bottom left corner of the image is added at the x,y coordinate. Units are in millimeter)
y | The vertical coordinate where the image will be added. (The bottom left corner of the image is added at the x,y coordinate. Units are in millimeter)
size | Sets the text displayed in the title bar of the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPDFAddImage function adds an image when the PDF document is created. PDFSetInfo is also used with the IKPDFStart, IKPDFAddPage, IKPDFEndPage, and IKPDFEnd functions. Regarding SAVE_PDF_INFO, see the description of the member variables of SAVE_PDF_INFO in Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll.

Set the image location using the x, y paramters. The bottom left corner of the image is attached to the x,y location. Set the length of the image's largest dimension, either the vertical or horizontal dimension, into the size parameter. The units are in millimeters. The aspect ratio of the original image will be maintained. It is possible to add multiple images in one page by repeating the IKPDFAddImage function, changing the ImageHandle, x,y, and size parameters and executing this function again.


IKPDFAddPage

This function adds a page to the PDF document is created.

[C++Builder/Visual C++] BOOL IKPDFAddPage(PTR_SAVE_PDF_INFO PDFSetInfo, LPCSTR DocumentSize, BOOL Landscape, unsigned int DocumentWidth, unsigned int DocumentHeight);
[Delphi] function IKPDFAddPage(var pdf_set: SAVE_PDF_INFO; DocumentSize: LPCSTR; Landscape: LongBool; DocumentWidth: UINT; DocumentHeight: UINT): LongBool;
[Visual Basic] Function IKPDFAddPage(pdf_set As SAVE_PDF_INFO, ByVal DocumentSize As String, ByVal Landscape As Long, ByVal DocumentWidth As Long, ByVal DocumentHeight As Long) As Long

Parameters

Name | Explanation
PSFSetInfo | Structure (user-defined type) variable that sets the conditions for PDF creation
DocumentSize | Document size (A0-A9, B0-B9, LETTER, LEGAL)
Landscape | Specify document orientation (TRUE landscape, FALSE portrait)
DocumentWidth | Specify size of document width (in mm)
DocumentHeight | Specify size of document height (in mm)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPDFAddPage function adds a page to the PDF document is created. PDFSetInfo is also used with the IKPDFStart, IKPDFAddImage, IKPDFEndPage, and IKPDFEnd functions. Regarding SAVE_PDF_INFO, see the description of the member variables of SAVE_PDF_INFO in Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll.

If you pass a specified size, such as A4, into DocumentSize, the DocumentWidth and DocumentHeight parameter values are invalid. To enable the DocumentWidth and DocumentHeight values, pass NULL, nil, vbNullString, or an empty string into DocumentSize. Sizes that can be used in the DocumentSize parameter are A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, LETTER, LEGAL. *It does not matter whether it is uppercase or lowercase.


IKPDFEnd

This function finishes the PDF creation process.

[C++Builder/Visual C++] BOOL IKPDFEnd(PTR_SAVE_PDF_INFO PDFSetInfo, LPCTSTR PDFFileName);
[Delphi] function IKPDFEnd(var pdf_set: SAVE_PDF_INFO; PDFFileName: LPCTSTR): LongBool;
[Visual Basic] Function IKPDFEnd(pdf_set As SAVE_PDF_INFO, ByVal PDFFileName As String) As Long

Parameters

Name | Explanation
PSFSetInfo | Structure (user-defined type) variable that sets the conditions for PDF creation
PDFFileName | Name of the PDF file to be saved

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPDFEnd function finishes the PDF creation process. PDFSetInfo is also used with the IKPDFStart, IKPDFAddPage, IKPDFAddImage, and IKPDFEndPage functions. Regarding SAVE_PDF_INFO, see the description of the member variables of SAVE_PDF_INFO in Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll.


IKPDFEndPage

This function ends the adding of a page in the PDF creation process

[C++Builder/Visual C++] BOOL IKPDFEndPage(PTR_SAVE_PDF_INFO PDFSetInfo);
[Delphi] function IKPDFEndPage(var pdf_set: SAVE_PDF_INFO): LongBool;
[Visual Basic] Function IKPDFEndPage(pdf_set As SAVE_PDF_INFO) As Long

Parameters

Name | Explanation
PSFSetInfo | Structure (user-defined type) variable that sets the conditions for PDF creation

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPDFEndPage function ends the adding of a page in the PDF creation process. PDFSetInfo is also used with the IKPDFStart, IKPDFAddPage, IKPDFAddImage, and IKPDFEndPage functions. Regarding SAVE_PDF_INFO, see the description of the member variables of SAVE_PDF_INFO in Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll.


IKPDFStart

This function begins the PDF creation process.

[C++Builder/Visual C++] BOOL IKPDFStart(PTR_SAVE_PDF_INFO PDFSetInfo);
[Delphi] function IKPDFStart(var pdf_set: SAVE_PDF_INFO): LongBool;
[Visual Basic] Function IKPDFStart(pdf_set As SAVE_PDF_INFO) As Long

Parameters

Name | Explanation
PSFSetInfo | Structure (user-defined type) variable that sets the conditions for PDF creation

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPDFEnd function finishes the PDF creation process. After initializing PDFSetInfo, set the appropriate values in its membesr and pass them to this function. PDFSetInfo is also used with the IKPDFAddPage, IKPDFAddImage, IKPDFEndPage, and IKPDFEnd functions. Regarding SAVE_PDF_INFO, see the description of the member variables of SAVE_PDF_INFO in Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll.

Example Code:

(1)C++Builder/Visual C++
HANDLE ImageHandle
SAVE_PDF_INFO PDFSetInfo;

ImageHandle = IKFileLoadAsRawData("C:\\PNG\\load.png", NULL, "", "", "");
if (ImageHandle == 0) return;

memset(&PDFSetInfo, 0, sizeof(SAVE_PDF_INFO));
lstrcpy(PDFSetInfo.OwnerPassword, "abcd");
lstrcpy(PDFSetInfo.Application, "PDF Creation Tool");
lstrcpy(PDFSetInfo.Author, "Newtone Corp.");
PDFSetInfo.EnablePrint = TRUE;

if (IKPDFStart(&PDFSetInfo) == FALSE)
{
IKFreeMemory(ImageHandle);
return;
}
IKPDFAddPage(&PDFSetInfo, "A4", FALSE, 0, 0);
IKPDFAddImage(&PDFSetInfo, ImageHandle, 30, 50, 100);
IKPDFEndPage(&PDFSetInfo);
IKPDFEnd(&PDFSetInfo, "C:\\PDF\\save.pdf");

IKFreeMemory(ImageHandle);

(2)Delphi
var
ImageHandle: THandle;
PDFSetInfo: SAVE_PDF_INFO;
begin
ImageHandle := IKFileLoadAsRawData('C:\PNG\load.png', 0, '', '', '');
if (ImageHandle = 0) then Exit;

FillChar(PDFSetInfo, SizeOf(PDFSetInfo), 0);
StrPCopy(PDFSetInfo.OwnerPassword, 'abcd');
StrPCopy(PDFSetInfo.Application, 'PDF Creation Tool);
StrPCopy(PDFSetInfo.Author, 'Newtone Corp.');
PDFSetInfo.EnablePrint := True;

if (IKPDFStart(PDFSetInfo) = False) then
begin
IKFreeMemory(ImageHandle);
Exit;
end;
IKPDFAddPage(PDFSetInfo, 'A4', False, 0, 0);
IKPDFAddImage(PDFSetInfo, ImageHandle, 30, 50, 100);
IKPDFEndPage(PDFSetInfo);
IKPDFEnd(PDFSetInfo, 'C:\PDF\save.pdf');

IKFreeMemory(ImageHandle);
end;

(3)Visual Basic
Dim ImageHandle As Long
Dim PDFSetInfo As SAVE_PDF_INFO

ImageHandle = IKFileLoadAsRawData("C:\PNG\load.png", 0, "", "", "")
If (ImageHandle = 0) Then Exit Sub

PDFSetInfo.OwnerPassword = "abcd" & Chr$(0)
PDFSetInfo.Application = "PDF Creation Tool" & Chr$(0)
PDFSetInfo.Author = "Newtone Corp." & Chr$(0)
PDFSetInfo.EnablePrint = True

If (IKPDFStart(PDFSetInfo) = False) Then
Call IKFreeMemory(ImageHandle)
Exit Sub
End If
Call IKPDFAddPage(PDFSetInfo, "A4", False, 0, 0)
Call IKPDFAddImage(PDFSetInfo, ImageHandle, 30, 50, 100)
Call IKPDFEndPage(PDFSetInfo)
Call IKPDFEnd(PDFSetInfo, "C:\PDF\save.pdf")

Call IKFreeMemory(ImageHandle)


IKPngFileLoad

This function loads raster image data from a PNG file.

[C++Builder/Visual C++] HANDLE IKPngFileLoad(LPCTSTR FileName, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPngFileLoad(FileName: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKPngFileLoad(ByVal FileName As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded into the memory
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKPngFileLoad function loads raster image data from a PNG file. Supports 1, 4, 8, and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.


IKPngFileLoadEx

This function loads raster image data, including alpha channel data, from a PNG file.

[C++Builder/Visual C++] HANDLE IKPngFileLoadEx(LPCTSTR FileName, int Alpha, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPngFileLoadEx(FileName: PChar; Alpha: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKPngFileLoadEx(ByVal FileName As String, ByVal Alpha As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded into the memory
Alpha | Alpha channel 0: Load only RGB planes. 1: Use the alpha plane and interpolate (create) the RGB planes. 2: Create a 32 bit RGBA image with an independent alpha plane
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKPngFileLoadEx function loads raster image data, including alpha channel data, from a PNG file. Supports 1, 4, 8, and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

See Also

Ik10Effect.dll: IKMakeRGBAImage


IKPngFileLoadExMem

This function loads a raster image including an alpha channel from PNG format raw image data.

[C++Builder/Visual C++] HANDLE IKPngFileLoadExMem(HANDLE Handle, int Alpha, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPngFileLoadExMem(Handle: THandle; Alpha: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKPngFileLoadExMem(ByVal Handle As Long, ByVal Alpha As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | PNG format raw image data
Alpha | Alpha channel 0: Load only RGB planes. 1: Use the alpha plane and interpolate (create) the RGB planes. 2: Create a 32 bit RGBA image with an independent alpha plane
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKPngFileLoadExMem function loads raster image data, including alpha channel data, from raw image data. Supports 1, 4, 8, and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKPngFileLoadEx function.

See Also

Ik10Effect.dll: IKMakeRGBAImage


IKPngFileLoadMem

This function loads a raster image from PNG format raw image data.

[C++Builder/Visual C++] HANDLE IKPngFileLoadMem(HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPngFileLoadMem(Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKPngFileLoadMem(ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | PNG format raw image data
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKPngFileLoadMem function loads a raster image from PNG format raw image data. Supports 1, 4, 8, and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKPngFileLoad function.


IKPngFileSave

This function saves raster image data in a PNG file.

[C++Builder/Visual C++] BOOL IKPngFileSave(LPCTSTR FileName, HANDLE Handle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPngFileSave(FileName: PChar; Handle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKPngFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the raster image
Interlace | Sets whether or not interlace is enabled (False (0): No interlacing, True (nonzero) Interlacing)
Trans | Sets whether or not the transparent color is enabled (False (0): No transparency, True (nonzero): Transparency enabled)
Red | The red component of the transparent color (from 0 to 255) Enabled only when Trans is True
Green | The green component of the transparent color (from 0 to 255) Enabled only when Trans is True
Blue | The blue component of the transparent color (from 0 to 255) Enabled only when Trans is True
Comment | The comment text to be saved (MAX:1023 bytes) Set as follows:[title + 0x0d + Author + ... + 0x0d] title: The image title Author: The image author Description: Description of the image Copyright: Copyright Creation Time: The time and date when the image was created Software: Software used Disclaimer: A disclaimer Warning: A warning Source: The source of the image Comment: Comments Note: In Delphi replace the above 0x with $, and in Visual Basic, replace the 0x with &H.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPngFileSave function saves raster image data in a PNG file. Supports 1, 4, 8 and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKPngFileSave("c:\abc.png", .....)

(2) When saving the file to FTP server:
IKPngFileSave("FTP://www.newtone.co.jp/image/abc.png;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKPngFileSave("http://www.newtone.co.jp/image/abc.png;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKPngFileSaveEx

This function saves raster image data, including alpha channel data, in a PNG file.

[C++Builder/Visual C++] BOOL IKPngFileSaveEx(LPCTSTR FileName, HANDLE Handle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, BOOL Alpha, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPngFileSaveEx(FileName: PChar; Handle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Alpha: LongBool; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKPngFileSaveEx(ByVal FileName As String, ByVal Handle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Alpha As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the raster image
Interlace | Sets whether or not interlace is enabled (False (0): No interlacing, True (nonzero) Interlacing)
Trans | Sets whether or not the transparent color is enabled (False (0): No transparency, True (nonzero): Transparency enabled)
Red | The red component of the transparent color (from 0 to 255) Enabled only when Trans is True
Green | The green component of the transparent color (from 0 to 255) Enabled only when Trans is True
Blue | The blue component of the transparent color (from 0 to 255) Enabled only when Trans is True
Alpha | Alpha Channel False(0): Save RGB image, Same as using the IKPngFileSave Function True (nonzero): Save as RGBA
Comment | The comment text to be saved (MAX:1023 bytes) Set as follows:[title + 0x0d + Author + ... + 0x0d] title: The image title Author: The image author Description: Description of the image Copyright: Copyright Creation Time: The time and date when the image was created Software: Software used Disclaimer: A disclaimer Warning: A warning Source: The source of the image Comment: Comments Note: In Delphi replace the above 0x with $, and in Visual Basic, replace the 0x with &H.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPngFileSaveEx function saves raster image data, including alpha channel data, in a PNG file. Supports 1, 4, 8 and 24 bit color. When using the IKPngFileSaveEx function with the Alpha parameter set to True (nonzero), the image handle of a 32 bit RGBA image must be set in the Handle parameter.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKPngFileSaveEx("c:\abc.png", .....)

(2) When saving the file to FTP server:
IKPngFileSaveEx("FTP://www.newtone.co.jp/image/abc.png;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKPngFileSaveEx("http://www.newtone.co.jp/image/abc.png;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

Also See:

Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dll's IKMakeRGBAImage

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKPngFileSaveExMem

This function saves raster image data, including alpha channel data, in PNG format as raw image data.

[C++Builder/Visual C++] BOOL IKPngFileSaveExMem(HANDLE InHandle, HANDLE *OutHandle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, BOOL Alpha, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPngFileSaveExMem(InHandle: THandle; var OutHandle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Alpha: LongBool; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKPngFileSaveExMem(ByVal InHandle As Long, OutHandle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Alpha As Long, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the raster image
OutHandle | The raw image data to be saved
Interlace | Sets whether or not interlace is enabled (False (0): No interlacing, True (nonzero) Interlacing)
Trans | Sets whether or not the transparent color is enabled (False (0): No transparency, True (nonzero): Transparency enabled)
Red | The red component of the transparent color (from 0 to 255) Enabled only when Trans is True
Green | The green component of the transparent color (from 0 to 255) Enabled only when Trans is True
Blue | The blue component of the transparent color (from 0 to 255) Enabled only when Trans is True
Alpha | Alpha Channel False(0): Save RGB image, Same as using the IKPngFileSaveMem Function True (nonzero): Save as RGBA
Comment | The comment text to be saved (MAX:1023 bytes) Set as follows:[title + 0x0d + Author + ... + 0x0d] title: The image title Author: The image author Description: Description of the image Copyright: Copyright Creation Time: The time and date when the image was created Software: Software used Disclaimer: A disclaimer Warning: A warning Source: The source of the image Comment: Comments Note: In Delphi replace the above 0x with $, and in Visual Basic, replace the 0x with &H.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPngFileSaveExMem function saves raster image data, including alpha channel data, in PNG format as raw image data. Supports 1, 4, 8 and 24 bit color. When using the IKPngFileSaveExMem function with the Alpha parameter set to True (nonzero), the image handle of a 32 bit RGBA image must be set in the Handle parameter.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is saved as raw image data, this function operates in the same way as the IKPngFileSaveEx function.

See Also

Ik10Effect.dll, Ik10EffectA.dll, Ik10Effect64.dll, Ik10Effect64A.dll's IKMakeRGBAImage


IKPngFileSaveMem

This function saves raster image data in PNG format as raw image data.

[C++Builder/Visual C++] BOOL IKPngFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKPngFileSaveMem(InHandle: THandle; var OutHandle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKPngFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Interlace As Long, ByVal Trans As Long, ByVal Red As Byte, ByVal Green As Byte, ByVal Blue As Byte, ByVal Comment As String, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the raster image
OutHandle | The raw image data to be saved
Interlace | Sets whether or not interlace is enabled (False (0): No interlacing, True (nonzero) Interlacing)
Trans | Sets whether or not the transparent color is enabled (False (0): No transparency, True (nonzero): Transparency enabled)
Red | The red component of the transparent color (from 0 to 255) Enabled only when Trans is True
Green | The green component of the transparent color (from 0 to 255) Enabled only when Trans is True
Blue | The blue component of the transparent color (from 0 to 255) Enabled only when Trans is True
Comment | The comment text to be saved (MAX:1023 bytes) Set as follows:[title + 0x0d + Author + ... + 0x0d] title: The image title Author: The image author Description: Description of the image Copyright: Copyright Creation Time: The time and date when the image was created Software: Software used Disclaimer: A disclaimer Warning: A warning Source: The source of the image Comment: Comments Note: In Delphi replace the above 0x with $, and in Visual Basic, replace the 0x with &H.
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPngFileSaveMem function saves raster image data in PNG format as raw image data. Supports 1, 4, 8 and 24 bit color.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is saved as raw image data, this function operates in the same way as the IKPngFileSave function.


IKRGBBmpPlaneFileLoad

This function loads a bmp file that has been saved in seperate RGB planes.

[C++Builder/Visual C++] HANDLE IKRGBBmpPlaneFileLoad(LPCTSTR RedFileName, LPCTSTR GreenFileName, LPCTSTR BlueFileName);
[Delphi] function IKRGBBmpPlaneFileLoad(RedFileName, GreenFileName, BlueFileName: PChar): THandle;
[Visual Basic] Function IKRGBBmpPlaneFileLoad(ByVal RedFileName As String, ByVal GreenFileName As String, ByVal BlueFileName As String) As Long

Parameters

Name | Explanation
RedFileName | The filename of the R plane image to be loaded
GreenFileName | The filename of the G plane image to be loaded
BlueFileName | The filename of the B plane image to be loaded

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKRGBBmpPlaneFileLoad function loads a bmp file that has been saved in seperate RGB planes. Supports 1, 4, 8, and 24 bit color. The individual RGB plane images are 8 bit grayscale and the output image is 24 bit color.


IKRGBBmpPlaneFileLoad

ImageKit10 Ik10File.dll

IKRGBBmpPlaneFileSave

This function saves a raster image into seperate RGB planes.

[C++Builder/Visual C++] BOOL IKRGBBmpPlaneFileSave(LPCTSTR RedFileName, LPCTSTR GreenFileName, LPCTSTR BlueFileName, HANDLE Handle);
[Delphi] function IKRGBBmpPlaneFileSave(RedFileName, GreenFileName, BlueFileName: PChar; Handle: THandle): LongBool;
[Visual Basic] Function IKRGBBmpPlaneFileSave(ByVal RedFileName As String, ByVal GreenFileName As String, ByVal BlueFileName As String, ByVal Handle As Long) As Long

Parameters

Name | Explanation
RedFileName | The filename of the R plane image to be saved
GreenFileName | The filename of the G plane image to be saved
BlueFileName | The filename of the B plane image to be saved
Handle | The image handle of the raster image to be saved in 4 seperate RGB planes

Return Value

Returns True(nonzero) if successful. Returns 0 if unsuccessful.

Explanation

The IKRGBBmpPlaneFileSave function saves a raster image into seperate RGB planes. The raster image must be 24 bit color. The raster image set in the Handle will be saved as three seperate images each corresponding to the various RGB planes. The output images (corresponding to the various RGB planes) will be 8 bit grayscale.


IKSaveFileDialog

This function displays the "Save" dialog which includes a file preview and file information. This dialog is used to select an image file to be saved.

[C++Builder/Visual C++] BOOL IKSaveFileDialog(HWND hWnd, LPSTR FileName, LPCTSTR FilePath, LPCTSTR FileExt, BOOL ExtendedDialog, BOOL Preview, LPINT FileType, BOOL FileInfo);
[Delphi] function IKSaveFileDialog(hWnd: HWND; FileName, FilePath, FileExt: PChar; ExtendedDialog, Preview: LongBool; var FileType: Integer; FileInfo: LongBool): LongBool;
[Visual Basic] Function IKSaveFileDialog(ByVal hWnd As Long, ByVal FileName As String, ByVal FilePath As String, ByVal FileExt As String, ByVal ExtendedDialog As Long, ByVal Preview As Long, FileType As Long, ByVal FileInfo As Long) As Long

Parameters

Name | Explanation
hWnd | The window handle
FileName | The name of the selected file or the name of the file initially displayed in the "Save" dialog
FilePath | The name of the directory shown in the "Save" dialog when it is first displayed. If this parameter is blank then the current directory is shown.
FileExt | This sets the types of files that are shown in the "Save" dialog when it is first displayed. To set multiple file types use a semicolon as a delimiter. Ex: "BMP;JPG". Setting an asteriks "*" will remove the term "All Files" from the dropdown menu in the "Save" dialog. If you surround the file type with "<>" as in "<JPG>" then that file type will be displayed as the default type.
ExtendedDialog | False(0): Preview and FileInfo checkbox is not displayed True(nonzero): Preview and FileInfo checkbox is displayed
Preview | Sets the file preview function when the "Save" dialog is first displayed. False (0): No preview, True (nonzero): Preview
FileType | The type of file that has been selected. 1:BMP, 2:JPEG, 3:GIF, 4:TIFF, 5:PNG, 6:FPX, 7:PCX, 8:WMF, 9:EMF, 10:DXF, 11:SVG, 12:JPEG2000, 13:JPEG2000(Code Stream), 14:SXF(p21), 15:SXF(sfc)
FileInfo | Sets whether or not the file information displayed when the "Save" dialog is first displayed. False(0): File information not displayed, True (nonzero): File information is displayed

Return Value

Returns True (nonzero) if "Save" is selected. Returns False (0) if "Cancel"is selected.

Explanation

The IKSaveFileDialog function displays the "Save" dialog which includes a file preview and file information. This dialog is used to select an image file to be saved.

The FilePath and FileExt parameters set the file that is shown in the list when the "Save" dialog is initially displayed. If the FileName parameter contains the full path, then the FilePath parameter is disabled. By selecting the Save button, the file name and full path are set in the FileName parameter. When the Save button is clicked, FileType parameter returns the type of file that was selected in the "Save" dialog. If ExtendedDialog is set to true, when the dialog is displayed the preview and file information checkboxes are displayed. Even if Preview and FileInfo are False, these checkboxes will be displayed.

To reference a vector image in the preview , you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.

Example:

(1)C++Builder/Visual C++

TCHAR FileName[256];

BOOL Ret;

int FileType;

memset(FileName, 0, sizeof(FileName)); //in this case, the FilePath parameter is enabled

//if the file name and full path are set into the FileName parameter, then the FilePath parameter is disabled

//lstrcpy(FileName, "C:\\Images\\001.jpg");

//In Visual C++, set Form1->Handle into m_hWnd

Ret = IKSaveFileDialog(Form1->Handle, FileName, "C:\\My Pictures", "*;BMP;JPG;", FALSE, &FileType);

(2)Delphi

FileName: array [0..255] of Char;

Ret: LongBool;

FileType: Integer;

FillChar(FileName, SizeOf(FileName), 0); // in this case, the FilePath parameter is enabled

//if the file name and full path are set into the FileName parameter, then the FilePath parameter is disabled

//StrPCopy(FileName, 'C:\Images\001.jpg');

Ret = IKSaveFileDialog(Form1.Handle, FileName, 'C:\My Pictures', '*;BMP;JPG;', False, FileType);

(3)Visual Basic

Dim FileName As String * 256

Dim Ret As Long

Dim FileType As Long

FileName = Chr$(0) 'in this case, the FilePath parameter is enabled

'if the file name and full path are set into the FileName parameter, then the FilePath parameter is disabled

'FileName = "C:\Images\001.jpg"

Ret = IKSaveFileDialog(Form1.hWnd, FileName, "C:\My Pictures", "*;BMP;JPG;", False, FileType);


IKSaveFileDlg

This function displays the "Save" dialog box which includes the file preview function. This dialog is used to select a directory and file name into which the image date is to be saved.

[C++Builder/Visual C++] BOOL IKSaveFileDlg(HWND hWnd, LPSTR FileName, LPCTSTR FilePath, LPCTSTR FileExt, BOOL Preview);
[Delphi] function IKSaveFileDlg(hWnd: HWND; FileName, FilePath, FileExt: PChar; Preview: LongBool): LongBool;
[Visual Basic] Function IKSaveFileDlg(ByVal hWnd As Long, ByVal FileName As String, ByVal FilePath As String, ByVal FileExt As String, ByVal Preview As Long) As Long

Parameters

Name | Explanation
hWnd | The window handle
FileName | The name of the selected file or the name of the file initially displayed in the "Save" dialog
FilePath | The name of the directory shown in the "Save" dialog when it is first displayed. If this parameter is blank then the current directory is shown.
FileExt | This sets the types of files that are shown in the "Save" dialog when it is first displayed. To set multiple file types use a semicolon as a delimiter. Ex: "BMP;JPG". Setting an asteriks "*" will remove the term "All Files" from the dropdown menu in the "Save" dialog. If you surround the file type with "<>" as in "<JPG>" then that file type will be displayed as the default type.
Preview | Sets the file preview function when the "Save" dialog is first displayed. False (0): No preview, True (nonzero): Preview

Return Value

Returns True (nonzero) if "Save" is selected. Returns False (0) if "Cancel"is selected.

Explanation

The IKSaveFileDlg function displays the "Save" dialog box which includes the file preview function. This dialog is used to select a directory and file name into which the image date is to be saved.

The FilePath and FileExt parameters set the file that is shown in the list when the "Save" dialog is initially displayed. If the FileName parameter contains the full path, then the FilePath parameter is disabled. By selecting the Save button, the file name and full path are set in the FileName parameter.

To reference a vector image in the preview , you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.


IKSaveFileDlgEx

This function displays the "Save" dialog which includes the file preview function. This dialog is used to select a directory and file name into which the image date is to be saved.

[Delphi] function IKSaveFileDlgEx(hWnd: HWND; FileName, FilePath, FileExt: PChar; Preview: LongBool; var FileType: Integer): LongBool;
[Visual Basic] Function IKSaveFileDlgEx(ByVal hWnd As Long, ByVal FileName As String, ByVal FilePath As String, ByVal FileExt As String, ByVal Preview As Long, FileType As Long) As Long

Parameters

Name | Explanation
hWnd | The window handle
FileName | The name of the selected file or the name of the file initially displayed in the "Save" dialog
FilePath | The name of the directory shown in the "Save" dialog when it is first displayed. If this parameter is blank then the current directory is shown.
FileExt | This sets the types of files that are shown in the "Save" dialog when it is first displayed. To set multiple file types use a semicolon as a delimiter. Ex: "BMP;JPG". Setting an asteriks "*" will remove the term "All Files" from the dropdown menu in the "Save" dialog. If you surround the file type with "<>" as in "<JPG>" then that file type will be displayed as the default type.
Preview | Sets the file preview function when the "Save" dialog is first displayed. False (0): No preview, True (nonzero): Preview
FileType | The type of file that has been selected. 1:BMP, 2:JPEG, 3:GIF, 4:TIFF, 5:PNG, 6:FPX, 7:PCX, 8:WMF, 9:EMF, 10:DXF, 11:SVG, 12:JPEG2000, 13:JPEG2000(Code Stream), 14:SXF(p21), 15:SXF(sfc)

Return Value

Returns True (nonzero) if "Save" is selected. Returns False (0) if "Cancel"is selected.

Explanation

The IKSaveFileDlgEx function displays the "Save" dialog which includes the file preview function. This dialog is used to select a directory and file name into which the image date is to be saved.

The FilePath and FileExt parameters set the file that is shown in the list when the "Save" dialog is initially displayed. If the FileName parameter contains the full path, then the FilePath parameter is disabled. By selecting the Save button, the file name and full path are set in the FileName parameter. When the Save button is clicked, FileType parameter returns the type of file that was selected in the "Save" dialog.

To reference a vector image in the preview , you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.

Example:

(1)C++Builder/Visual C++

TCHAR FileName[256];

BOOL Ret;

int FileType;

memset(FileName, 0, sizeof(FileName)); //in this case, the FilePath parameter is enabled

//if the file name and full path are set into the FileName parameter, then the FilePath parameter is disabled

//lstrcpy(FileName, "C:\\Images\\001.jpg");

//In Visual C++, set Form1->Handle into m_hWnd

Ret = IKSaveFileDlgEx(Form1->Handle, FileName, "C:\\My Pictures", "*;BMP;JPG;", FALSE, &FileType);

(2)Delphi

FileName: array [0..255] of Char;

Ret: LongBool;

FileType: Integer;

FillChar(FileName, SizeOf(FileName), 0); // in this case, the FilePath parameter is enabled

//if the file name and full path are set into the FileName parameter, then the FilePath parameter is disabled

//StrPCopy(FileName, 'C:\Images\001.jpg');

Ret = IKSaveFileDlgEx(Form1.Handle, FileName, 'C:\My Pictures', '*;BMP;JPG;', False, FileType);

(3)Visual Basic

Dim FileName As String * 256

Dim Ret As Long

Dim FileType As Long

FileName = Chr$(0) 'in this case, the FilePath parameter is enabled

'if the file name and full path are set into the FileName parameter, then the FilePath parameter is disabled

'FileName = "C:\Images\001.jpg"

Ret = IKSaveFileDlgEx(Form1.hWnd, FileName, "C:\My Pictures", "*;BMP;JPG;", False, FileType);


IKSvgFileLoad

This function loads vector image data from a SVG file.

[C++Builder/Visual C++] HANDLE IKSvgFileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSvgFileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKSvgFileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded
Page | The page number of the file that is loaded into the memory (starts from 0)
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKSvgFileLoad function loads vector image data from a SVG file. If Width or Height are 0, the image will be loaded according to that size specifed in the SVG file.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStartfunction.

Note: When a vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKSvgFileLoadMem

This function loads a vector image from SVG format raw image data.

[C++Builder/Visual C++] HANDLE IKSvgFileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSvgFileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKSvgFileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | SVG format raw image data
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKSvgFileLoadMem function loads a vector image from SVG format raw image data. If Width or Height are 0, the image will be loaded according to that size specifed in the SVG raw data.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKSvgFileLoad function.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: When a vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKSvgFileSave

This function saves vector image data in a SVG file.

[C++Builder/Visual C++] BOOL IKSvgFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSvgFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKSvgFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file where the image data is saved
Handle | The image handle of the vector image
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns 0 if unsuccessful.

Explanation

the IKSvgFileSave function saves vector image data in a SVG file.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKSvgFileSave("c:\abc.svg", .....)

(2) When saving the file to FTP server:
IKSvgFileSave("FTP://www.newtone.co.jp/image/abc.svg;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKSvgFileSave("http://www.newtone.co.jp/image/abc.svg;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKSvgFileSaveMem

This function saves vector image data in SVG format as raw image data.

[C++Builder/Visual C++] BOOL IKSvgFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSvgFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKSvgFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the vector image
OutHandle | The raw image data to be saved
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns 0 if unsuccessful.

Explanation

The IKSvgFileSaveMem function saves vector image data in SVG format as raw image data.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is saved as raw image data, this function operates in the same way as the IKSvgFileSave function.

To execute this function, you must first execute the Ik10VectCom.dll's IKVectorGdipStart function.


IKSxfP21FileLoad

This function loads vector image data from a SFX p21 format file.

[C++Builder/Visual C++] HANDLE IKSxfP21FileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSxfP21FileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKSxfP21FileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded into the memory
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKSxfP21FileLoad function loads vector image data from a SXF p21 fromat file into the memory. To load vector image data from an SXF Sfc file, please use the IKSxfSfcFileLoad function. If the Width parameter is 0 or less, then the default image width of 800 is used. Likewise, if the Height parameter is 0 or less, then the default image height of 600 is used.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: When a vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKSxfP21FileLoadMem

This function loads a vector image from SXF p21 format raw image data.

[C++Builder/Visual C++] HANDLE IKSxfP21FileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSxfP21FileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKSxfP21FileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | SXF format raw image data
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKSxfSP21FileLoadMem function loads a vector image from SXF p21 format raw image data. To load vector image data from SXF sfc format raw image data, use the IKSxfSfcFileLoadMem function.

If the Width parameter is 0 or less, then the default image width of 800 is used. Likewise, if the Height parameter is 0 or less, then the default image height of 600 is used.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKSxfP21FileLoad function.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: When a vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKSxfP21FileSave

This function saves vector image data in an SXF p21 format file.

[C++Builder/Visual C++] BOOL IKSxfP21FileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSxfP21FileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKSxfP21FileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file where the image data is saved
Handle | The image handle of the vector image
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns 0 if unsuccessful.

Explanation

The IKSxfP21FileSave function saves vector image data in an SXF p21 format file. To save the file as an SXF sfc format file, please use the IKSxfSfcFileSave function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStartfunction.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKSxfP21FileSave("c:\abc.p21", .....)

(2) When saving the file to FTP server:
IKSxfP21FileSave("FTP://www.newtone.co.jp/image/abc.p21;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKSxfP21FileSave("http://www.newtone.co.jp/image/abc.p21;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKSxfP21FileSaveMem

This function saves vector image data in SXF p21 format as raw image data.

[C++Builder/Visual C++] BOOL IKSxfP21FileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSxfP21FileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKSxfP21FileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the vector image
OutHandle | The raw image data to be saved
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns 0 if unsuccessful.

Explanation

The IKSxfP21FileSaveMem function saves vector image data in SXF p21 format as raw image data. To save vector image data in SXF sfc format as raw data, please use the IKSxfSfcFileSaveMem function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the vector image is saved to raw image data, this function operates in the same way as the IKSxfP21FileSave function.

Note: A file is temporarily made internally.


IKSxfSfcFileLoad

This function loads vector image data from an SFX sfc format file.

[C++Builder/Visual C++] HANDLE IKSxfSfcFileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSxfSfcFileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKSxfSfcFileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded into the memory
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKSxfSfcFileLoad function loads vector image data from a SXF sfc format file. To load vector image data from an SXF p21 file, please use the IKSxfP21FileLoad function. If the Width parameter is 0 or less, then the default image width of 800 is used. Likewise, if the Height parameter is 0 or less, then the default image height of 600 is used.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: When a vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKSxfSfcFileLoadMem

This function loads a vector image from SXF sfc format raw image data.

[C++Builder/Visual C++] HANDLE IKSxfP21FileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSxfP21FileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKSxfP21FileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | SXF format raw image data
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKSxfSfcFileLoadMem function loads a vector image from SXF sfc format raw image data. To load vector image data from SXF p21 format raw image data, use the IKSxfSP21FileLoadMem function.

If the Width parameter is 0 or less, then the default image width of 800 is used. Likewise, if the Height parameter is 0 or less, then the default image height of 600 is used.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKSxfSfcFileLoad function.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: When a vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKSxfSfcFileSave

This function saves vector image data in a SXF Sfc format file.

[C++Builder/Visual C++] BOOL IKSxfSfcFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSxfSfcFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKSxfSfcFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file where the image data is saved
Handle | The image handle of the vector image
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns 0 if unsuccessful.

Explanation

The IKSxfSfcFileSave function saves vector image data in a SXX sfc format file. To save the file as an SXF P21 format file, please use the IKSxfP21FileSavefunction.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKSxfSfcFileSave("c:\abc.sfc", .....)

(2) When saving the file to FTP server:
IKSxfSfcFileSave("FTP://www.newtone.co.jp/image/abc.sfc;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKSxfSfcFileSave("http://www.newtone.co.jp/image/abc.sfc;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKSxfSfcFileSaveMem

This function saves vector image data in SXF sfc format as raw image data.

[C++Builder/Visual C++] BOOL IKSxfSfcFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKSxfSfcFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKSxfSfcFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the vector image
OutHandle | The raw image data to be saved
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns 0 if unsuccessful.

Explanation

This function saves vector image data in SXF sfc format as raw image data. To save vector image data in SXF p21 format as raw data, please use the IKSxfP21FileSaveMem function.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the vector image is saved to raw image data, this function operates in the same way as the IKSxfSfcFileSave function.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: A file is temporarily made internally.


IKTiffFileLoad

This function loads raster image data from a TIFF file.

[C++Builder/Visual C++] HANDLE IKTiffFileLoad(LPCTSTR FileName, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKTiffFileLoad(FileName: PChar; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKTiffFileLoad(ByVal FileName As String, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKTiffFileLoad function loads raster image data from a TIFF file. When loading multi-page image files, the Page parameter determines which page will be loaded. If the image is a single page image file then the Page parameter is disabled. Supports 1, 4, 8, 16, 24, and 32 bit color. (This differs depending on the compression mode). The number of pages in a multi-page image file can be retrieved by IkFileType.

NOTE: For TIFF(JPEG Compression), some TIFF(JPEG) images cannot be loaded by the ImageKit.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.


IKTiffFileLoadMem

This function loads raster image data from a TIFF format raw image data.

[C++Builder/Visual C++] HANDLE IKTiffFileLoadMem(HANDLE Handle, int Page, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKTiffFileLoadMem(Handle: THandle; Page: Integer; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKTiffFileLoadMem(ByVal Handle As Long, ByVal Page As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | TIFF format raw image data
Page | The page number of the image that is loaded (starts from 0)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKTiffFileLoadMem function loads raster image data from a TIFF format raw image data. When loading multi-page image files, the Page parameter determines which page will be loaded. If the raw data is a single page image file then the Page parameter is disabled. Supports 1, 4, 8, 16, 24, and 32 bit color. (This differs depending on the compression mode). The number of pages in a multi-page image file can be retrieved by IkFileType.

NOTE: For TIFF(JPEG Compression), some TIFF(JPEG) images cannot be loaded by the ImageKit.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKTiffFileLoad function.


IKTiffFileSave

This function saves raster image data in a TIFF file.

[C++Builder/Visual C++] BOOL IKTiffFileSave(LPCTSTR FileName, HANDLE Handle, int Type, int Color, BOOL Append, LPCSTR Comment, BOOL OneStrip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKTiffFileSave(FileName: PChar; Handle: THandle; Type_, Color: Integer; Append: LongBool; Comment: PChar; OneStrip: LongBool; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKTiffFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal Type As Long, ByVal Color As Long, ByVal Append As Long, ByVal Comment As String, ByVal OneStrip As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the file where the image data is saved
Handle | The image handle of the raster image
Type The type of the file to be saved
0: Uncompressed 1: CCITTRLE 2: GROUP3 1D 3: GROUP3 2D 4: GROUP4 5: PACKBITS 6: LZW 7: JPEG
Color

When Type parameter is 0, 5, or 6 and image is 24bit or 32 bit, then set this parameter to 0: RGB or 1: CMYK

When Type parameter is 7, set the JPEG quality (from 0 to 100) in this parameter. Default is 75.

For all other instances, this parameter is disabled.
Append | Sets whether or not images can be saved at the end of the image file(False (0): Cannot be appended, True (nonzero): Can be appended)
Comment The comment text to be saved (MAX:1023 bytes)
Set as follows:[Document + 0x0d + Description + EEE + 0x0d]
Document: Document name
Description: Description of the image
Page: Page name
Software: Software
DateTime: Date time
Artist: The author of the image
Note: In Delphi replace the above 0x with $, and in Visual Basic, replace the 0x with &H.
OneStrip | Sets whether or not a TIFF image is saved as one strip or multiple strips. (False (0): Multiple strips, True (nonzero): One strip)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKTiffFileSave function saves raster image data in a TIFF file. Supports 1, 4, 8, 16, 24 and 32 bit color (doesn't support 16 bit grayscale). This differs depending on the compression mode used. If the saved image is 24 or 32 bit color and the Type parameter is 0, 5, or 6, then the Color parameter can support values of 0 (RGB) or 1 (CMYK). If the Color parameter is 1 (CMYK) then the output file will have a bit count of 32. If the Type parameter is 7 (JPEG Compression), then set the JPEG Quality value in the Color parameter (from 0 to 100, default value is 75). The OneStrip parameter is enabled for all types of TIFF images except GROUP4 (GROUP4 is always one strip).

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Note: TIFF-GROUP3-1D is the same as MH format. TIFF-GROUP3-2D is the same as MR format. TIFF-GROUP4 is the same as MMR format. When saving 16 bit images in TIFF-Uncompressed, PACKBITS, and LZW formats, the image is converted to 24 bits.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKTiffFileSave("c:\abc.tif", .....)

(2) When saving the file to FTP server:
IKTiffFileSave("FTP://www.newtone.co.jp/image/abc.tif;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKTiffFileSave("http://www.newtone.co.jp/image/abc.tif;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

The differences from the ImageKit5

Function Name | Parameters
IK5TiffFileSave: | FileName, Handle, Type, Color, Append, Comment, FileUserProc, Caption, Message, Button
IKTiffFileSave: | FileName, Handle, Type, Color, Append, Comment, OneStrip, UserProc, Caption, Message, Button

The OneStrip parameter has been added. FileUserProc and UserProc refer to the same user function. If the OneStrip parameter is set to False (0) then this function is the same as in the ImageKit5.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKTiffFileSaveMem

This function saves raster image data in TIFF format as raw image data.

[C++Builder/Visual C++] BOOL IKTiffFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, int Type, int Color, BOOL Append, LPCSTR Comment, BOOL OneStrip, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKTiffFileSaveMem(InHandle: THandle; var OutHandle: THandle; Type_, Color: Integer; Append: LongBool; Comment: PChar; OneStrip: LongBool; UserProc: Longint; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKTiffFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal Type As Long, ByVal Color As Long, ByVal Append As Long, ByVal Comment As String, ByVal OneStrip As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the raster image
OutHandle | The raw image data to be saved
Type The type of the file to be saved
0: Uncompressed 1: CCITTRLE 2: GROUP3 1D 3: GROUP3 2D 4: GROUP4 5: PACKBITS 6: LZW 7: JPEG
Color

When Type parameter is 0, 5, or 6 and image is 24bit or 32 bit, then set this parameter to 0: RGB or 1: CMYK

When Type parameter is 7, set the JPEG quality (from 0 to 100) in this parameter. Default is 75.

For all other instances, this parameter is disabled.
Append | Sets whether or not images can be saved at the end of the image file(False (0): Cannot be appended, True (nonzero): Can be appended)
Comment The comment text to be saved (MAX:1023 bytes)
Set as follows:[Document + 0x0d + Description + EEE + 0x0d]
Document: Document name
Description: Description of the image
Page: Page name
Software: Software
DateTime: Date time
Artist: The author of the image
Note: In Delphi replace the above 0x with $, and in Visual Basic, replace the 0x with &H.
OneStrip | Sets whether or not a TIFF image is saved as one strip or multiple strips. (False (0): Multiple strips, True (nonzero): One strip)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKTiffFileSaveMem function saves raster image data in TIFF format as raw image data. Supports 1, 4, 8, 16, 24 and 32 bit color (doesn't support 16 bit grayscale). This differs depending on the compression mode used. If the saved image is 24 or 32 bit color and the Type parameter is 0, 5, or 6, then the Color parameter can support values of 0 (RGB) or 1 (CMYK). If the Color parameter is 1 (CMYK) then the output file will have a bit count of 32. If the Type parameter is 7 (JPEG Compression), then set the JPEG Quality value in the Color parameter (from 0 to 100, default value is 75). The OneStrip parameter is enabled for all types of TIFF images except GROUP4 (GROUP4 is always one strip).

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Note: TIFF-GROUP3-1D is the same as MH format. TIFF-GROUP3-2D is the same as MR format. TIFF-GROUP4 is the same as MMR format. When saving 16 bit images in TIFF-Uncompressed, PACKBITS, and LZW formats, the image is converted to 24 bits.

Except for the fact that the raster image is saved as raw image data, this function operates in the same way as the IKTiffFileSave function.


IKWmfFileLoad

This function loads vector image data from a WMF file.

[C++Builder/Visual C++] HANDLE IKWmfFileLoad(LPCTSTR FileName, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKWmfFileLoad(FileName: PChar; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKWmfFileLoad(ByVal FileName As String, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file that is loaded
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKWmfFileLoad function loads vector image data from a WMF file. If Width or Height are 0, the image will be loaded according to that size specifed in the WMF file.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStartfunction.

Note: When a vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKWmfFileLoadMem

This function loads a vector image from WMF format raw image data.

[C++Builder/Visual C++] HANDLE IKWmfFileLoadMem(HANDLE Handle, long Width, long Height, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKWmfFileLoadMem(Handle: THandle; Width, Height: Longint; UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKWmfFileLoadMem(ByVal Handle As Long, ByVal Width As Long, ByVal Height As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | WMF format raw image data
Width | The width of the loaded image (in pixels)
Height | The height of the loaded image (in pixels)
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns the image handle of the vector image if successful. Returns 0 if unsuccessful.

Explanation

The IKWmfFileLoadMem function loads a vector image from WMF format raw image data. If Width or Height are 0, the image will be loaded according to that size specifed in the WMF raw data.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the raster image is loaded from raw image data, this function operates in the same way as the IKWmfFileLoad function.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.

Note: When a vector image is loaded, the ratio of the height and width of the original image is maintained and the largest pixel size of the image is scaled within the area defined by the Height and Width parameters.


IKWmfFileSave

This function saves vector image data in a WMF file.

[C++Builder/Visual C++] BOOL IKWmfFileSave(LPCTSTR FileName, HANDLE Handle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKWmfFileSave(FileName: PChar; Handle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKWmfFileSave(ByVal FileName As String, ByVal Handle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
FileName | The name of the image file where the image data is saved
Handle | The image handle of the vector image
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKWmfFileSave function saves vector image data in a WMF file.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStartfunction.

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
IKWmfFileSave("c:\abc.wmf", .....)

(2) When saving the file to FTP server:
IKWmfFileSave("FTP://www.newtone.co.jp/image/abc.wmf;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
IKWmfFileSave("http://www.newtone.co.jp/image/abc.wmf;;;;user;password", .....)

(*)Parameter order when setting the FileName:
HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]
The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.


IKWmfFileSaveMem

This function saves vector image data in WMF format as raw image data.

[C++Builder/Visual C++] BOOL IKWmfFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKWmfFileSaveMem(InHandle: THandle; var OutHandle: THandle; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;
[Visual Basic] Function IKWmfFileSaveMem(ByVal InHandle As Long, OutHandle As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
InHandle | The image handle of the vector image
OutHandle | The raw image data to be saved
UserProc | The address of the user function (If not using the user function then set to 0)
Caption | Sets the text displayed in the title bar of the progress dialog box
Message | Sets the message displayed in the progress dialog box
Button | Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKWmfFileSaveMem function saves vector image data in WMF format as raw image data.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

Except for the fact that the vector image is saved to raw image data, this function operates in the same way as the IKWmfFileSavefunction.

To execute this function, you must first execute the Ik10VectCom.dll, Ik10VectComA.dll, Ik10VectCom64.dll, or Ik10VectCom64A.dll's IKVectorGdipStart function.


IKYCCBmpPlaneFileLoad

This function loads raster image from a bmp file that has been saved in seperate YCrCb planes into the memory.

[C++Builder/Visual C++] HANDLE IKYCCBmpPlaneFileLoad(LPCTSTR YFileName, LPCTSTR CrFileName, LPCTSTR CbFileName);
[Delphi] function IKYCCBmpPlaneFileLoad(YFileName, CrFileName, CbFileName: PChar): THandle;
[Visual Basic] Function IKYCCBmpPlaneFileLoad(ByVal YFileName As String, ByVal CrFileName As String, ByVal CbFileName As String) As Long

Parameters

Name | Explanation
YFileName | The filename of the Y plane image to be loaded
CrFileName | The filename of the Cr plane image to be loaded
CbFileName | The filename of the Cb plane image to be loaded

Return Value

Returns the image handle of the raster image if successful. Returns 0 if unsuccessful.

Explanation

The IKYCCBmpPlaneFileLoad function loads raster image from a bmp file that has been saved in seperate YCrCb planes into the memory. The individual YCrCb plane images are 8 bit grayscale and the output image is 24 bit color.


IKYCCBmpPlaneFileSave

This function saves a raster image into seperate YCrCb planes. The saved images are in BMP format.

[C++Builder/Visual C++] BOOL IKYCCBmpPlaneFileSave(LPCTSTR YFileName, LPCTSTR CrFileName, LPCTSTR CbFileName, HANDLE Handle);
[Delphi] function IKYCCBmpPlaneFileSave(YFileName, CrFileName, CbFileName: PChar; Handle: THandle): LongBool;
[Visual Basic] Function IKYCCBmpPlaneFileSave(ByVal YFileName As String, ByVal CrFileName As String, ByVal CbFileName As String, ByVal Handle As Long) As Long

Parameters

Name | Explanation
YFileName | The filename of the saved Y plane image
CrFileName | The filename of the saved Cr plane image
CbFileName | The filename of the saved Cb plane image
Handle | the image handle of the raster image

Return Value

Returns True (nonzero) if successful. Returns 0 if unsuccessful.

Explanation

The IKYCCBmpPlaneFileSave function saves a raster image into seperate YCrCb planes. The saved images are in BMP format.

The input image (that image set in the ImageHandle parameter) must be 24 bit color. The output images (corresponding to the various YCrCb planes) will be 8 bit grayscale. The image data set in the Handle parameter is saved in the various YCrCb planes.


Ik10Print.dll, Ik10PrintA.dll, Ik10Print64.dll, Ik10Print64A.dll

The Ik10Print.dll provides functions for controlling printers and functions for drawing figures and text in the designated object (the screen, printer or image data)

Ik10Print.dll Functions:

Function Name | Explanation
IKArc | Draws an arc in the designated object (the screen, printer, or image data)
IKChord | Draws a chord in the designated object (the screen, printer, or image data)
IKDrawFocusRect | Draws a rectangle in the style used to indicate that the rectangle has the focus
IKDrawString | Uses GDI+ to draw text on the designated object
IKDrawText | Draws text in a rectangle specified in the designated object (the screen, printer, or image data)
IKEllipse | Draws an ellipse in the designated object (the screen, printer, or image data)
IKEnumPaperBins | Retrieves the paper tray names and tray numbers from the printer designated by the printer name
IKEnumPaperSizes | Retrieves the names, size numbers, and dimensions of the paper from the printer designated by the printer name
IKEnumPorts | Retrieves a list of ports
IKEnumPrinters | Lists the installed printers
IKEnumResolutions | Letrieves a list of supported resolutions for the printer designated by the printer name
IKFillRect | draws Draws a filled rectangle in the designated object (the screen, printer, or image data)
IKFrameRect | Draws the border of the specified rectangle in the designated object
IKPrintGdipEnd | Ends the GDI+ process
IKPrintGdipStart | Initializes the GDI+ process
IKGetDefaultPrinter | Retrieves the default printer
IKGetDevModeHandle | Retrieves the handle to the pointer of the specified printer's DEVMODE structure
IKGetDevModeInfo | Retrieves printer information from the handle to the DEVMODE structure
IKGetImageFromHdc | Retrieves the image from the screen device context
IKGetPaperSize | Retrieves the paper size and specified printing area from the printer device context
IKGetPixel | Retrieves the RGB values from a specified pixel in the designated object (The screen or the image data)
IKGetPrinterPort | Retrieves the printer port
IKGetTextExtent | Retrieves the height and width of the text from the text information
IKImageOut | Displays the image in the device context. (the screen or the printer)
IKImageOutToHwnd | Displays the image in a window usint the window handle
IKLine | Draws a line in the designated object (the screen, printer, or image data).
IKMeasureString | Uses GDI+ functionality to retrieve the height and width of text from text information
IKPaint | Fills an existing color with a different color
IKPie | Draws a pie shaped figure in the designated object (the screen, printer, or image data)
IKPolyBezier | Draws a bezier curve in the designated object (the screen, printer, or image data)
IKPolygon | Draws a polygon in the designated object
IKPolyline | Draws a polyline in the designated object.
IKPreviewInit | Scales the screen resolution to the resolution of the output printer
IKPrintAbortDoc | Terminates the current print job
IKPrintCreateDC | Creates a device context
IKPrintDeleteDC | Deletes the device context
IKPrintDlg | Displays the Print dialog and creates a device context.
IKPrintEndDoc | Ends the print job
IKPrintEndPage | Ends the printing of a page and goes to the next page
IKPrintGetArrayNum | Retrieves the number of elements in the array that will be returned when a supported item is retrieved
IKPrintStartDoc | Starts the print job
IKPrintStartPage | Starts the printing of a page
IKRectangle | Draws a rectangle in the designated object (screen, printer, image data).
IKReleaseDevModeHandle | Frees the handle to the DEVMODE structure
IKRoundRect | Draws a rounded rectangle in the designated object (screen, printer, image data)
IKSaveDevModeHandle | Saves the handle to the DEVMODE structure into the file specified by the PrintFileName parameter
IKSetDefaultPrinter | Sets the default printer
IKSetDevModeInfo | Updates the contents referred to by the handle of the DEVMODE structure
IKSetPixel | Sets a color in the specified pixel in the designated object. (screen, or image data)
IKSetPrint | Saves the settings entered in the "Print Setup" dialog
IKTextOut | Draws text from a specified point in the designated object.(screen, printer, image data)

Structure definitions (User-defined types)

IKPRINT_DEVMODEINFO: This structure is used when retrieving and setting printer information

(1)C++Builder/Visual C++
typedef struct {
short Orientation;
short PaperSize;
short Zoom;
WORD Copies;
short PaperBin;
short XResolution;
short YResolution;
short ColorMode;
short Duplex;
BYTE Collate;
short CustomPaperWidth;
short CustomPaperHeight;
} IKPRINT_DEVMODEINFO;

(2)Delphi
type
IKPRINT_DEVMODEINFO = Record
Orientation: Smallint;
PaperSize: Smallint;
Zoom: Smallint;
Copies: Word;
PaperBin: Smallint;
XResolution: Smallint;
YResolution: Smallint;
ColorMode: Smallint;
Duplex: Smallint;
Collate: Byte;
CustomPaperWidth: Smallint;
CustomPaperHeight: Smallint;
end;

(3)Visual Basic
Type IKPRINT_DEVMODEINFO
Orientation As Integer
PaperSize As Integer
Zoom As Integer
Copies As Integer
PaperBin As Integer
XResolution As Integer
YResolution As Integer
ColorMode As Integer
Duplex As Integer
Collate As Byte
CustomPaperWidth As Integer
CustomPaperHeight As Integer
End Type

Orientation:
The printing orientation. 1: Vertical or Protrait (DMORIENT_PORTRAIT), 2: Horizontal or Landscape (DMORIENT_LANDSCAPE)
PaperSize:
The paper size
1: Letter, 8.5 x 11 in (DMPAPER_LETTER)
2: Letter Small, 8.5 x 11 in (DMPAPER_LETTERSMALL)
3: Tabloid, 11 x 17 in (DMPAPER_TABLOID)
4: Ledger, 17 x 11 in (DMPAPER_LEDGER)
5: Legal, 8.5 x 14 in (DMPAPER_LEGAL)
6: Statement, 5.5 x 8.5 in (DMPAPER_STATEMENT)
7: Executive, 7.25 x 10.5 in (DMPAPER_EXECUTIVE)
8: A3, 297 x 420 mm (DMPAPER_A3)
9: A4, 210 x 297 mm (DMPAPER_A4)
10: A4 Small, 210 x 297 mm (DMPAPER_A4SMALL)
11: A5, 148 x 210 mm (DMPAPER_A5)
12: B4, 250 x 354 mm (DMPAPER_B4)
13: B5, 182 x 257 mm (DMPAPER_B5)
256: User defined(DMPAPER_USER)
Zoom:
Refers to the scaling magnification (from 0 to 100)
Copies:
The number of copies of printer output (starts from 1)
PaperBin:
The paper tray or bin
1: Use paper from the upper bin (DMBIN_UPPER)
2: Use paper from the lower bin (DMBIN_LOWER)
3: Use paper from the middle bin (DMBIN_MIDDLE)
4: Wait for manual feed (DMBIN_MANUAL)
5: Use envelopes from envelope feeder(DMBIN_ENVELOPE)
6: Use envelopes from envelope feeder but wait for manual feed (DMBIN_ENVMANUAL)
7: Use paper from the current bin (DMBIN_AUTO)
8: Use paper fed from the tractor feeder (DMBIN_TRACTOR)
9: Use paper from the small paper bin (DMBIN_SMALLFMT)
10: Use paper from the large paper bin (DMBIN_LARGEFMT)
11: Use paper from the large capacity feeder (DMBIN_LARGECAPACITY)
14: Use paper from the attached cassette cartridge (DMBIN_CASSETTE)
XResolution:
The printer horizontal resolution *1
Value: The number of dots per inch (DPI)
-1: Draft resolution (DMRES_DRAFT)
-2: Low resolution (DMRES_LOW)
-3: Medium resolution (DMRES_MEDIUM)
-4: High resolution (DMRES_HIGH)
YResolution:
The printer vertical resolution (from 0) *2
ColorMode:
Refers to whether or not a document is printed in color or in monochrome when using a color printer
1: Monochrome (DMCOLOR_MONOCHROME), 2: Color (DMCOLOR_COLOR)
Duplex:
Refers to whether a specific printer prints on one side or both sides of the paper
1: Single sided (DMDUP_SIMPLEX)
2: Double sided - Vertical (DMDUP_VERTICAL) [Also known as portrait]
3: Double sided - Horizontal (DMDUP_HORIZONTAL) [Also known as landscape]
Collate:
Values other than zero sets collating
CustomPaperWidth:
When PaperSize = 256, sets the paper width (0.1mm units) *2
CustomPaperHeight:
When PaperSize = 256, sets the paper height (0.1mm units) *2

( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI

Regarding PaperSize, it is possible to retrieve or set values greater than 14. For details, please refer to the appropriate WindowsAPI for your development container. Note that the values that may be set are dependent upon the print driver being used. Because of this, the results of some property settings may not be apparent or may be ignored by that particular print driver. For details please refer to the documentation for that printer.

*1 Name has been changed from (PrintQuality to XResolution)
*2 This member has been added to the ImageKit10

This is important when converting programs from the ImageKit6

IKPRINT_DIALOG: This structure is used with the print dialog (IKPrintDialog, IKPrintDlg)

(1)C++Builder/Visual C++
typedef struct {
BYTE Collate;
WORD Copies;
WORD FromPage;
WORD ToPage;
WORD MaxPage;
WORD MinPage;
DWORD Options;
BYTE PrintRange;
BYTE PrintToFile;
} IKPRINT_DIALOG;
typedef IKPRINT_DIALOG * PTR_IKPRINT_DIALOG;

(2)Delphi
type
IKPRINT_DIALOG = Record
Collate: Byte;
Copies: Word;
FromPage: Word;
ToPage: Word;
MaxPage: Word;
MinPage: Word;
Options: DWORD;
PrintRange: Byte;
PrintToFile: Byte;
end;

(3)Visual Basic
Type IKPRINT_DIALOG
Collate As Byte
Copies As Integer
FromPage As Integer
ToPage As Integer
MaxPage As Integer
MinPage As Integer
Options As Long
PrintRange As Byte
PrintToFile As Byte
End Type

Collate:
Refers to whether or not the [Collate] checkbox in the Print dialog is checked. (values other than zero mean checked.)
Copies:
Refers to the number of copies to be printed (from 1)
FromPage:
Refers to the initial value of the page range to be printed (from 1)
ToPage:
Refers to the ending value of the page range to be printed (from 1)
MaxPage:
Refers to the maximum value for the page range to be printed (from 1)
MinPage:
Refers to the minimum value for the page range to be printed (from 1)
Options:
Refers to the initial values for the Print dialog
0x4 Disables the [Selection] radio button (PD_NOSELECTION)
0x8 Disables the [Page Range] radio buttons (PD_NOPAGENUMS)
0x80 Does not display a warning when there is no default printer (PD_NOWARNING)
0x800 Displays the Help button (PD_SHOWHELP)
0x80000 Disables the [Print to File] checkbox (PD_DISABLEPRINTTOFILE)
0x100000 Does not display the [Print to File] checkbox (PD_HIDEPRINTTOFILE)
In Delphi, 0x should be replaced by $. In Visual Basic, 0x should be replaced by &H.
( ) The explanation contained in the parentheses has the same meaning as the constants used by WindowsAPI
When setting multiple values, please separate them with "|", "or", "Or" .
PrintRange:
Refers to the type of page range used by the Print dialog. (0: All, 1: Selection, 2: Pages)
PrintToFile:
Refers to whether or not the [Print to File] checkbox in the Print dialog is checked. (nonzero: PrintToFile checkbox is checked). When this checkbox is checked, documents are printed to a file instead of to a printer.

IKPRINT_DRAWINFO: This stucture is used when drawing diagrams or text

(1)C++Builder/Visual C++
typedef struct {
long PenWidth;
BYTE PenStyle;
BYTE PenMode;
COLORREF PenColor;
BYTE BrushStyle;
COLORREF BrushColor;
BYTE Transparent;
COLORREF BackColor;
} IKPRINT_DRAWINFO;
typedef IKPRINT_DRAWINFO * PTR_IKPRINT_DRAWINFO;

(2)Delphi
type
IKPRINT_DRAWINFO = Record
PenWidth: Longint;
PenStyle: Byte;
PenMode: Byte;
PenColor: COLORREF;
BrushStyle: Byte;
BrushColor: COLORREF;
Transparent: Byte;
BackColor: COLORREF;
end;

(3)Visual Basic
Type IKPRINT_DRAWINFO
PenWidth As Long
PenStyle As Byte
PenMode As Byte
PenColor As Long
BrushStyle As Byte
BrushColor As Long
Transparent As Byte
BackColor As Long
End Type

PenWidth:
Sets the width of the pen. When drawing to the screen or image data, the units are in pixels. When drawing to the printer, the units are 0.1mm
PenStyle:
Sets the style of the pen. An explanation of the values is given below. The contants in the parentheses are the same as WindowsAPI
0: Pen is invisible. (PS_NULL)
1: Pen is solid. (PS_SOLID)
2: Pen is dashed. (PS_DASH)
3: Pen is dotted. (PS_DOT)
4: Pen has alternating dashes and dots. (PS_DASHDOT)
5: Pen has alternating dashes and double dots. (PS_DASHDOTDOT)
6: Pen is solid.* (PS_INSIDEFRAME)

Note: When drawing figures with functions other than the IKLine and IKRectangle functions, if PenStyle is set from 2 to 5 then PenWidth must be 1. If PenWidth is more than one, a solid pen, (PS_SOLID), will be used.
PenMode:
Sets how the color of the pen interacts with the color on the canvas. The constants in the parentheses are the same as WindowsAPI.

1: Black (R2_BLACK)
2: The inverse of the combination of the pen color and the display color (R2_NOTMERGEPEN)
3: The combination of colors common to both canvas color and the inverse of the pen color. (R2_MASKNOTPEN)
4: The inverse of the color of the pen.(R2_NOTCOPYPEN)
5: The combination of colors common to both pen color and the inverse of the canvas color. (R2_MASKPENNOT)
6: The inverse of the color of the canvas. (R2_NOT)
7: The combination of colors in either pen or canvas, but not both. (R2_XORPEN)
8: The inverse of the combination of colors common to both pen and canvas. (R2_NOTMASKPEN)
9: The combination of colors common to both pen and canvas. (R2_MASKPEN)
10: The inverse of the combination of colors in either pen or canvas but not both. (R2_NOTXORPEN)
11: No change. (R2_NOP)
12: The combination of canvas color and the inverse of the pen color. (R2_MERGENOTPEN)
13: The pen color specified in the PenColor property. (R2_COPYPEN) Default value.
14: The combination of pen color and the inverse of the canvas color. (R2_MERGEPENNOT)
15: The combination of pen color and canvas color. (R2_MERGEPEN)
16: White (R2_WHITE)
PenColor:
Sets the color of the pen. To set the PenColor please use RGB(Red,Green,Blue) format. (If the device cannot produce the color specified, the nearest color will be used.)
BrushStyle:
Sets the pattern of the brush. The constants in the parentheses are the same as WindowsAPI.

0: The brush does not paint. (BS_NULL)
1: The brush paints solid colors. (BS_SOLID)
2: The brush paints a pattern of diagonal lines from the top right to the bottom left. (BS_HATCHED?HS_BDIAGONAL)
3: The brush paints a hatch pattern of vertical and horizontal lines. (BS_HATCHED?HS_CROSS)
4: The brush paints a hatch pattern of crossing diagonal lines. (BS_HATCHED?HS_DIAGCROSS)
5: The brush paints a pattern of diagonal lines from the top left to the bottom right. (BS_HATCHED?HS_FDIAGONAL)
6: The brush paints a pattern of horizontal lines. (BS_HATCHED?HS_HORIZONTAL)
7: The brush paints a pattern of vertical lines. (BS_HATCHED?HS_VERTICAL)
BrushColor
Sets the color of the brush. To set the BrushColor please use RGB(Red,Green,Blue) format. (If the device cannot produce the color specified, the nearest color will be used.)
Transparent:
Sets the transparency of the text background, the background of the hatch brush, or the background between drawn lines. To enable transparency set this to values other than zero.
BackColor: *1
Sets the background color or the color between lines when the pen is set to something other than solid or the brush is set to Hatch Pattern. To set the BackColor please use RGB(Red,Green,Blue) format. (If the device cannot produce the color specified, the nearest color will be used.)

*1 This member has been added to the ImageKit10

This is important when converting programs from the ImageKit5 or from the ImageKit6

IKPRINT_TEXTINFO: used when drawing text

(1)C++Builder/Visual C++
typedef struct {
short CharSet;
TCHAR FontName[LF_FACESIZE];
WORD FontSize;
BYTE FontBold;
BYTE FontItalic;
BYTE FontUnderline;
BYTE FontStrikeOut;
BYTE Transparent;
BYTE Direction;
short CharAngle;
long CharExtra;
BYTE HCentering;
BYTE VCentering;
BYTE RotateString;
COLORREF TextColor1;
COLORREF TextColor2;
BYTE Alpha1;
BYTE Alpha2;
WORD HotkeyPrefix;
} IKPRINT_TEXTINFO;
typedef IKPRINT_TEXTINFO * PTR_IKPRINT_TEXTINFO;

(2)Delphi
type
IKPRINT_TEXTINFO = Record
CharSet: Smallint;
FontName: array [0..LF_FACESIZE - 1] of Char;
FontSize: Word;
FontBold: Byte;
FontItalic: Byte;
FontUnderline: Byte;
FontStrikeOut: Byte;
Transparent: Byte;
Direction: Byte;
CharAngle: Smallint;
CharExtra: Longint;
HCentering: Byte;
VCentering: Byte;
RotateString: Byte;
TextColor1: COLORREF;
TextColor2: COLORREF;
Alpha1: Byte;
Alpha2: Byte;
HotkeyPrefix: Word;
end;

(3)Visual Basic

Type IKPRINT_TEXTINFO
CharSet As Integer
FontName As String * 32
FontSize As Integer
FontBold As Byte
FontItalic As Byte
FontUnderline As Byte
FontStrikeOut As Byte
Transparent As Byte
Direction As Byte
CharAngle As Integer
CharExtra As Long
HCentering As Byte
VCentering As Byte
RotateString As Byte
TextColor1 As Long
TextColor2 As Long
Alpha1 As Byte
Alpha2 As Byte
HotkeyPrefix As Integer
End Type

CharSet:
Sets the character set for the fonts. Values range from -1 to 255. Values other than -1 correspond to the same character set values used by Windows.

-1: ANSI or JIS character sets [This value is for backwards compatibility with the ImageKit5]
0: ANSI character set (ANSI_CHARSET)
1: Character set is selected using the FontName and FontSize (DEFAULT_CHARSET)
2: Symbol character set (SYMBOL_CHARSET)
128: Japanese shift JIS character set (SHIFTJIS_CHARSET)
255: Operating system character set (OEM_CHARSET)
The constants in the parentheses are the same as WindowsAPI
FontName:
Sets the font name used when drawing text. (For example: "Arial", In Visual Basic, please add Chr$(0) at the end).
FontSize:
Sets the font size in points for drawing text.
FontBold:
Sets whether or not the font is bold. (To enable, set to values other than zero)
FontItalic:
Sets whether or not the font is italics. (To enable, set to values other than zero)
FontUnderline:
Sets whether or not the font is underlined. (To enable, set to values other than zero. However, depending on the values of CharAngle and Direction, FontUnderline may be disabled.)
FontStrikeOut:
Sets whether or not the font has a strike-through line. (To enable, set to values other than zero. However, depending on the values of CharAngle and Direction, FontStrikeOut may be disabled.)
Transparent:
Sets the transparency of the text background, the background of the hatch brush, or the background between drawn lines. (Set to nonzero to enable. If the Transparent is set to nonzero, then TextBackColor color becomes transparent.
Direction:
Sets the drawing direction of the text line. (Enabled when RotateString is False.) 0: From left to right (writing horizontally), 1: From right to left (writing horizontally), 2: From top to bottom (writing vertically), 3: From bottom to top (writing vertically)
CharAngle:
Sets the angle of rotation for text drawn using the IKDrawText,IKTextOut, or IKDrawString functions. (Rotation is in degree units from 0 to 360 degrees. IKDrawText and IKTextOut rotation is counterclockwise, IKDrawString rotation is clockwise.)
CharExtra:
Sets the space between characters. (For default spacing set this to 0). If the text is drawn on the screen or the image data, set the value in pixel units. If the text is drawn on the printer, then set the values in 0.1mm units.
HCentering:
Sets the horizontal position of the text. (Used by IKDrawString, IKDrawText, and IKMeasureString)
0:Left, 1:Center, 2:Right
VCentering:
Sets the vertical position of the text. (Used by IKDrawString, IKDrawText, and IKMeasureString)
0:Top, 1:Center, 2:Bottom
RotateString:
Sets whether each character in the text set in Text is rotated, or the whole line of text is rotated. (used with IKGetTextExtent and IKTextOut)
0: Each character in the text is rotated (CharAngle is enabled for 0, 90, 180, and 270 degrees only), Nonzero: The whole line of text is rotated
TextColor1:*1
Sets the color of the text drawn by IkDrawText and IKTextOut. With IKDrawString, depending on the type of brush the meaning of this member is different

Solid Brush: Sets the brush color
Hatch Brush: Sets the color for drawn lines
Gradiation Brush: Sets the start color for line gradiation
*Texture Brush: Disabled
To set the TextColor1 please use RGB(Red,Green,Blue) format. (If the device cannot produce the color specified, the nearest color will be used.)
TextColor2:*1
Sets the background color of the text drawn by IkDrawText and IKTextOut. With IKDrawString, depending on the type of brush the meaning of this member is different

Hatch Brush: Sets the color drawn between lines
Gradiation Brush: Sets the end color for line gradiation
*Solid and Texture Brush: Disabled
To set the TextColor2 please use RGB(Red,Green,Blue) format. (If the device cannot produce the color specified, the nearest color will be used.)
Alpha1:*2
This is the alpha value for TextColor1. If 255, then it is completely transparent. (Used by IKDrawString)
Alpha2: *2
This is the alpha value for TextColor2. If 255, then it is completely transparent. (Used by IKDrawString)
HotkeyPrefix: *2
Sets how "hotkey" prefixed strings are handled

For IKDrawText 0: The hotkey prefix is displayed as a normal string (i.e. "&File"), 1: The hotkey prefix is displayed as a hotkey (i.e. "File")
For IKDrawString 0: The hotkey prefix is displayed as a normal string (i.e. "&File"), 1: The hotkey prefix is displayed as a hotkey (i.e. "File"), 2: The hotkey prefix is not displayed.

*1 Names have been changed from TextForeColor to TextColor1 and from TextBackColor to TextColor2

*2 This member has been added to the ImageKit7

This is important when converting programs from the ImageKit5 or from the ImageKit6

IKRECT: used in Visual Basic, refers to the coordinates of a rectangle

Type IKRECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

IKPOINT: used in Visual Basic, refers to the x and y coordinates
Type IKPOINT
x As Long
y As Long
End Type


IKArc

This function draws an arc in the designated object (the screen, printer, or image data).

[C++Builder/Visual C++] BOOL IKArc(LPVOID DeviceValue, LPRECT PrintRect, int x1, int y1, int x2, int y2, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);
[Delphi] function IKArc(DeviceValue: THandle; var PrintRect: TRect; x1, y1, x2, y2: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKArc(ByVal DeviceValue As Long, PrintRect As IKRECT, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
PrintRect | Structure containing the coordinates of points for the area bounding the arc
x1,y1 | x and y coordinates of the starting point of the arc
x2,y2 | x and y coordinates of the ending point of the arc
DrawInfo | Structure whose members set the drawing information
DeviceMode | The designated object where the arc is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKArc function draws an arc in the designated object (the screen, printer, or image data). The PrintRect member variables contains the coordinates for points that specify a bounding rectangle in which the arc is drawn. The bounding rectangle defines the curve of the arc between the two points specified by the starting point (x1,y1) and ending point (x2,y2) of the arc. The arc extends from the specified starting point (x1,y1) to a point where it intersects a radial from the center of the bounding rectangle. The arc ends at the specified ending point (x2,y2) where it intersects another radial from the center of the bounding rectangle. If the end point and the starting point are the same, a complete ellipse is drawn.

To draw an arc, the PenStyle member of DrawInfo must be set. It is recommended that the PenWidth, PenMode, PenColor, Transparent and BackColor member variables also be set. The BackColor member is enabled when the Transparent member is zero and the pen is set to draw lines other than solid lines.

The IKArc function can draw in the following designated objects: screen, printer, and image data.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then PrintRect, x1, y1, x2, y2 parameters are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then PrintRect, x1, y1, x2, y2 parameters are in 0.1mm units.

The differences from the ImageKit5

Function Name | Parameters
IK5Arc: | DeviceValue, PrintRect, x1, y1, x2, y2, PrintInfo
IKArc: | DeviceValue, PrintRect, x1, y1, x2, y2, DrawInfo, DeviceMode

PrintInfo and DrawInfo structures are different, however the member variables in PrintInfo are used in the same way in DrawInfo. The DeviceMode parameter has been added to this function in the ImageKit6 and 7. In the ImageKit5 this was set separately using the IKSetDeviceMode function.

The differences from the ImageKit6

The BackColor member variable has been added. If the Transparent member is not 0, then this function is the same as in the ImageKit6.


IKChord

This function draws a chord in the designated object (the screen, printer, or image data).

[C++Builder/Visual C++] BOOL IKChord(LPVOID DeviceValue, LPRECT PrintRect, int x1, int y1, int x2, int y2, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);
[Delphi] function IKChord(DeviceValue: THandle; var PrintRect: TRect; x1, y1, x2, y2: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKChord(ByVal DeviceValue As Long, PrintRect As IKRECT, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
PrintRect | Structure containing the coordinates of points for the area bounding the arc
x1,y1 | x and y coordinates of the starting point of the chord
x2,y2 | x and y coordinates of the ending point of the chord
DrawInfo | Structure whose members set the drawing information
DeviceMode | The designated object where the chord is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKChord function draws a chord in the designated object (the screen, printer, or image data). A chord is a region bounded by the intersection of an ellipse and a line segment. The PrintRect member variables contain the coordinates for points that specify a bounding rectangle which defines the ellipse. The chord begins at a specified starting point (x1,y1) where the ellipse intersects a radial from the center of the bounding rectangle. It ends at a specified ending point (x2,y2) where the ellipse intersects another radial from the center of the bounding rectangle. If the starting point and the ending point are the same, a complete ellipse is drawn. The chord is closed by drawing a line from the starting point to the ending point.

The outline of the chord is drawn from the value set in the PenStyle member of DrawInfo and the chord is filled by the value set in the BrushStyle member variable. When drawing a chord, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, and Transparent member variables also be set.

The IKChord function can draw in the following designated objects: screen, printer, and image data.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then PrintRect, x1, y1, x2, y2 parameters are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then PrintRect, x1, y1, x2, y2 parameters are in 0.1mm units.

[The differences from the ImageKit5]

Function Name | Parameters
IK5Chord: | DeviceValue, PrintRect, x1, y1, x2, y2, PrintInfo
IKChord: | DeviceValue, PrintRect, x1, y1, x2, y2, DrawInfo, DeviceMode

PrintInfo and DrawInfo structures are different, however the member variables in PrintInfo are used in the same way in DrawInfo. The DeviceMode parameter has been added to this function in the ImageKit6 and 7. In the ImageKit5 this was set separately using the IKSetDeviceMode function.

The differences from the ImageKit6

The BackColor member variable has been added. If the Transparent member is not 0, then this function is the same as in the ImageKit6.


IKDrawFocusRect

This function draws a rectangle in the style used to indicate that the rectangle has the focus.

[C++Builder/Visual C++] BOOL IKDrawFocusRect(HDC hDC, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE UnitMode);
[Delphi] function IKDrawFocusRect(hDC: HDC; var PrintRect: Trect; var DrawInfo: IKPRINT_DRAWINFO; UnitMode: Byte): LongBool;
[Visual Basic] Function IKDrawFocusRect(ByVal hDC As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal UnitMode As Byte) As Long

Parameters

Name | Explanation
hDC | The device context
PrintRect | Structure containing the coordinates of points for the area bounding the arc
DrawInfo | Structure whose members set the drawing information
UnitMode | Sets the units for the PrintRect member variables (0: units in pixel; 1: units in 0.1mm)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKDrawFocusRect function draws a rectangle in the style used to indicate that the rectangle has the focus.

Because IKDrawFocusRect uses XOR function to draw the rectangle, calling it a second time with the same rectangle removes the rectangle from the screen.

This function draws a rectangle that cannot be scrolled. To scroll an area containing a rectangle drawn by this function, call IKDrawFocusRect to remove the rectangle from the screen, scroll the area, and then call IKDrawFocusRect again to draw the rectangle in the new position.

To draw the rectangle, the BrushStyle and BrushColor members of DrawInfo must be set.

If the UnitMode parameter is 0 then PrintRect member variables are in pixel units.

If the UnitMode parameter is 1 then PrintRect member variables are in 0.1mm units.


IKDrawString

This function uses GDI+ to draw text on the designated object.

[C++Builder/Visual C++] BOOL IKDrawString(LPVOID DeviceValue, LPRECT PrintRect, short BrushType, short Style, HANDLE imgHandle, short TextRenderingHint, int FormatFlags, PTR_IKPRINT_TEXTINFO TextInfo, LPCSTR Text, BYTE DeviceMode);
[Delphi] function IKDrawString(DeviceValue: THandle; var PrintRect: TRect; BrushType, Style: Smallint; imgHandle: THandle; TextRenderingHint: Smallint; FormatFlags: Integer; var TextInfo: IKPRINT_TEXTINFO; Text: PChar; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKDrawString(ByVal DeviceValue As Long, PrintRect As IKRECT, ByVal BrushType As Integer, ByVal Style As Integer, ByVal imgHandle As Long, ByVal TextRenderingHint As Integer, ByVal FormatFlags As Long, TextInfo As IKPRINT_TEXTINFO, ByVal Text As String, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (i.e. Hdc or ImageHandle) depending on the DeviceMode parameter
PrintRect | The structure that sets the start position of the text or the area within which the text is drawn.
BrushType | Sets the brush type (0: Solid, 1: Hatch, 2: Texture, 4: Gradiation)
Style | Sets the style for each brush (Disabled when BrushType is 0)
imgHandle | The memory handle of the raster image used with the Texture Brush (BrushType=4)
TextRenderingHint | Refers to the text rendering mode (Default is 0)
FormatFlags | Format information for the text string (Default is 0)
TextInfo | The structure that sets the drawing information
Text | The text to be drawn (the terminus is NULL)
DeviceMode | The designated object where the text is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKDrawString function uses GDI+ to draw text on the designated object. If the right and bottom members of PrintRect parameter are set to 0 then the text will be drawn with a start position determined by the left and top members of PrintRect parameter. If the right and bottom members of PrintRect parameter are set to values other than 0, then the text will be drawn within a rectangle defined by the left, top, right, and bottom members of PrintRect parameter. Any text that cannot fit within this rectangle will be cut.

Supported designated objects are the screen, printer, or image data)

To draw text using the IKDrawString function, please set the following members of TextInfo parameter: TextColor1, Alpha1, TextColor2, Alpha2, FontName, FontSize, CharAngle, HCentering, VCentering, HotkeyPrefix.

When the HotkeyPrefix member is set to values other than 1, prefixed string functionality cannot be used.

The TextColor1 and Alpha1 members of TextInfo parameter relate to the following: Solid Brush: brush color; Hatch Brush: line color; Gradiation Brush: start color for lined gradiation. The TextColor2 and Alpha2 members relate to the following: Hatch Brush: background color between the hatch lines; Gradiation Brush: end color for lined gradiation.

If using the gradiation brush (BrushType=4), please set the left, top, right,and bottom members of PrintRect.

To execute this function, it is first necessary to execute the IKPrintGdipStart function.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the left, top, right, bottom members of PrintRect are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the left, top, right, bottom members of PrintRect parameter are in 0.1mm units.

The style settings for each brush

For the Hatch Brush

Value | Explanation
0 | A pattern of horizontal lines
1 | A pattern of vertical lines
2 | A pattern of diagonal lines from top left to bottom right
3 | A pattern of diagonal lines from top right to bottom left
4 | A pattern of horizontal and vertical lines that cross
5 | A pattern of crisscross diagonal lines. Antialias has been applied to the lines
6 | Specifies a 5-percent hatch. The ratio of foreground color to background color is 5:100
7 | Specifies a 10-percent hatch. The ratio of foreground color to background color is 10:100
8 | Specifies a 20-percent hatch. The ratio of foreground color to background color is 20:100
9 | Specifies a 25-percent hatch. The ratio of foreground color to background color is 25:100
10 | Specifies a 30-percent hatch. The ratio of foreground color to background color is 30:100
11 | Specifies a 40-percent hatch. The ratio of foreground color to background color is 40:100
12 | Specifies a 50-percent hatch. The ratio of foreground color to background color is 50:100
13 | Specifies a 60-percent hatch. The ratio of foreground color to background color is 60:100
14 | Specifies a 70-percent hatch. The ratio of foreground color to background color is 70:100
15 | Specifies a 75-percent hatch. The ratio of foreground color to background color is 75:100
16 | Specifies a 80-percent hatch. The ratio of foreground color to background color is 80:100
17 | Specifies a 90-percent hatch. The ratio of foreground color to background color is 90:100
18 | Specifies diagonal lines that slant to the right from top points to bottom points, are spaced 50 percent closer together than 2. Antialias is not applied
19 | Specifies diagonal lines that slant to the left from top points to bottom points, are spaced 50 percent closer together than 3. Antialias is not applied
20 | Specifies diagonal lines that slant to the right from top points to bottom points, are spaced 50 percent closer together than 2 and are twice its width. Antialias is not applied
21 | Specifies diagonal lines that slant to the left from top points to bottom points, are spaced 50 percent closer together than 3 and are twice its width. Antialias is not applied
22 | Specifies diagonal lines that slant to the right from top points to bottom points, are spaced the same as 2 and are three times its width. Antialias is not applied
23 | Specifies diagonal lines that slant to the left from top points to bottom points, are spaced the same as 3 and are three times its width. Antialias is not applied
24 | Specifies vertical lines that are spaced 50 percent closer together than 1
25 | Specifies horizontal lines that are spaced 50 percent closer together than 0
26 | Specifies vertical lines that are spaced 75 percent closer together than 1 (or 25 percent closer than 24)
27 | Specifies horizontal lines that are spaced 75 percent closer together than 0 (or 25 percent closer than 25)
28 | Specifies vertical lines that are spaced 50 percent closer together than 1 and twice as wide
29 | Specifies horizontal lines that are spaced 50 percent closer together than 0 and twice as wide
30 | Specifies dashed diagonal lines that slant to the right from top points to bottom points
31 | Specifies dashed diagonal lines that slant to the left from top points to bottom points
32 | Specifies dashed horizontal lines
33 | Specifies dashed vertical lines
34 | Specifies a hatch that has the appearance of confetti
35 | Specifies a hatch that has the appearance of confetti, and is composed of larger pieces than 34
36 | Specifies horizontal lines that are composed of zigzags
37 | Specifies horizontal lines that are composed of tildes
38 | Specifies a hatch that has the appearance of layered bricks that slant to the left from top points to bottom points
39 | Specifies a hatch that has the appearance of horizontally layered bricks
40 | Specifies a hatch that has the appearance of a woven material
41 | Specifies a hatch that has the appearance of a plaid material
42 | Specifies a hatch that has the appearance of divots
43 | Specifies horizontal and vertical lines, each of which is composed of dots, that cross
44 | Specifies forward diagonal and backward diagonal lines, each of which is composed of dots, that cross
45 | Specifies a hatch that has the appearance of diagonally layered shingles that slant to the right from top points to bottom points.
46 | Specifies a hatch that has the appearance of a trellis
47 | Specifies a hatch that has the appearance of spheres laid adjacent to one another
48 | Specifies a pattern of horizontal and vertical lines that cross and have a width 50 percent closer together than 4
49 | Specifies a hatch that has the appearance of a checkerboard
50 | Specifies a hatch that has the appearance of a checkerboard with squares that are twice the size of 49
51 | Specifies a pattern of crisscross diagonal lines. Antialias is not applied
52 | Specifies a hatch that has the appearance of a checkerboard placed diagonally

For the Texture Brush

Value | Explanation
0 | Tiles the gradient or texture
1 | Reverses the texture or gradient horizontally and then tiles the texture or gradient.
2 | Reverses the texture or gradient vertically and then tiles the texture or gradient.
3 | Reverses the texture or gradient horizontally and vertically and then tiles the texture or gradient.
4 | Clamps the texture or gradient to the object boundary

For the Gradiation Brush

Value | Explanation
0 | Specifies gradiation from left to right
1 | Specifies gradiation from top to bottom
2 | Specifies gradiation from top left to bottom right
3 | Specifies gradiation from top right to bottom left

For Text Rendering

Value | Explanation
0 | Each character is drawn using its glyph bitmap, with the system default rendering hint. The text will be drawn using whatever font-smoothing settings the user has selected for the system.
1 | Each character is drawn using its glyph bitmap. Hinting is used to improve character appearance on stems and curvature.
2 | Each character is drawn using its glyph bitmap. Hinting is not used.
3 | Each character is drawn using its antialiased glyph bitmap with hinting. Much better quality due to antialiasing, but at a higher performance cost.
4 | Each character is drawn using its antialiased glyph bitmap without hinting. Better quality due to antialiasing. Stem width differences may be noticeable because hinting is turned off.
5 | Each character is drawn using its glyph ClearType bitmap with hinting. The highest quality setting. Used to take advantage of ClearType font features.

String format info

Value | Explanation
0x00000001 | Text is displayed from right to left
0x00000002 | Text is vertically aligned.
0x00000004 | Parts of characters are allowed to overhang the string's layout rectangle. By default, characters are repositioned to avoid any overhang.
0x00000020 | Control characters such as the left-to-right mark are shown in the output with a representative glyph.
0x00000400 | Fallback to alternate fonts for characters not supported in the requested font is disabled. Any missing characters are displayed with the fonts missing glyph, usually an open square.
0x00000800 | Includes the trailing space at the end of each line. Set this flag to include that space in measurement.
0x00001000 | Text wrapping between lines when formatting within a rectangle is disabled. This flag is implied when a point is passed instead of a rectangle, or when the specified rectangle has a zero line length.
0x00002000 | Only entire lines are laid out in the formatting rectangle. By default layout continues until the end of the text, or until no more lines are visible as a result of clipping, whichever comes first. Note that the default settings allow the last line to be partially obscured by a formatting rectangle that is not a whole multiple of the line height. To ensure that only whole lines are seen, specify this value and be careful to provide a formatting rectangle at least as tall as the height of one line.
0x00004000 | Overhanging parts of glyphs, and unwrapped text reaching outside the formatting rectangle are allowed to show. By default all text and glyph parts reaching outside the formatting rectangle are clipped.

The values of the DrawString function in Delphi should start with $ instead of 0x as written above. In Visual Basic, the values should start with &H instead of 0x.

Sample code:

(1)C++Builder/Visual C++

IKPRINT_TEXTINFO TextInfo;

float Str_Width, Str_Height;

int charactersFitted, linesFilled;

RECT PrintRect;

ULONG_PTR token;//DWORD token;

token = IKPrintGdipStart();

if (token == 0) return;

memset(&TextInfo, 0, sizeof(IKPRINT_TEXTINFO));

TextInfo.FontSize = 20;

lstrcpy(TextInfo.FontName, "MS Gothic");

TextInfo.HotkeyPrefix = 0;

IKMeasureString(hDC, 0, 0, &Str_Width, &Str_Height, &charactersFitted, &linesFilled, 0, &TextInfo, "Text", 0);

PrintRect.left = 10;

PrintRect.top = 10;

PrintRect.right = PrintRect.left + (long)Str_Width - 1;

PrintRect.bottom = PrintRect.top + (long)Str_Height - 1;

TextInfo.CharAngle = 0;

TextInfo.TextColor1 = RGB(255, 0, 0);

TextInfo.Alpha1 = 255;

TextInfo.TextColor2 = RGB(255, 255, 255);

TextInfo.Alpha2 = 255;

//using the Gradiation Brush

IKDrawString(hDC, &PrintRect, 4, 0, 0, 0, 0, &TextInfo, "Text", 0);

IKPrintGdipEnd(token)

(2)Delphi

TextInfo: IKPRINT_TEXTINFO;

Str_Width, Str_Height: Single;

CharactersFitted, linesFilled: Integer;

PrintRect: TRect;

token: DWORD;

token := IKPrintGdipStart();

if token = 0 then Exit;

FillChar(TextInfo, SizeOf(TextInfo), 0);

TextInfo.FontSize := 20;

StrPCopy(TextInfo.FontName, 'MS Gothic');

TextInfo.HotkeyPrefix := 0;

IKMeasureString(DC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, TextInfo, 'Text', 0);

PrintRect.Left := 10;

PrintRect.Top := 10;

PrintRect.Right := PrintRect.Left + Trunc(Str_Width) - 1;

PrintRect.Bottom := PrintRect.Top + Trunc(Str_Height) - 1;

TextInfo.CharAngle := 0;

TextInfo.TextColor1 := clRed;

TextInfo.Alpha1 := 255;

TextInfo.TextColor2 := clWhite;

TextInfo.Alpha2 := 255;

//using the Gradiation Brush

IKDrawString(DC, PrintRect, 4, 0, 0, 0, 0, TextInfo, 'Text', 0);

IKPrintGdipEnd(token)

(3)Visual Basic

Dim TextInfo As IKPRINT_TEXTINFO

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Long

Dim linesFilled As Long

Dim PrintRect As IKRECT

Dim token As Long

token = IKPrintGdipStart()

If token = 0 Then Exit Sub

TextInfo.FontSize = 20

TextInfo.FontName = "MS Gothic" & Chr$(0)

TextInfo.HotkeyPrefix = 0

Call IKMeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, TextInfo, "Text", 0)

PrintRect.Left = 10

PrintRect.Top = 10

PrintRect.Right = PrintRect.Left + CLng(Str_Width) - 1

PrintRect.Bottom = PrintRect.Top + CLng(Str_Height) - 1

TextInfo.CharAngle = 0

TextInfo.TextColor1 = vbRed

TextInfo.Alpha1 = 255

TextInfo.TextColor2 = vbWhite

TextInfo.Alpha2 = 255

'using the Gradiation Brush

Call IKDrawString(hDC, PrintRect, 4, 0, 0, 0, 0, TextInfo, "Text", 0)

IKPrintGdipEnd(token)


IKDrawText

This function draws text in a rectangle specified in the designated object (the screen, printer, or image data).

[C++Builder/Visual C++] BOOL IKDrawText(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_TEXTINFO TextInfo, LPCSTR Text, BOOL EnableFontScale, BOOL Clip, BYTE DeviceMode);
[Delphi] function IKDrawText(DeviceValue: THandle; var PrintRect: TRect; var TextInfo: IKPRINT_TEXTINFO; Text: PChar; EnableFontScale, Clip: LongBool; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKDrawText(ByVal DeviceValue As Long, PrintRect As IKRECT, TextInfo As IKPRINT_TEXTINFO, ByVal Text As String, ByVal EnableFontScale As Long, ByVal Clip As Long, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
PrintRect | Structure containing the coordinates of points for the rectangle bounding the text
TextInfo | Structure whose members set the drawing information
Text | The text that is drawn. (the terminus is NULL)
EnableFontScale | Scales the font so the text fits within the specified rectangle. [True (nonzero): Fonts are scaled, False (0): Fonts are not scaled]
Clip | Clips the text that does not fit within the specified rectangle [True (nonzero): Text is clipped, False(0):Text is not clipped]
DeviceMode | The designated object where the text is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKDrawText function draws text in a rectangle specified in the designated object (the screen, printer, or image data). The (left, top), and (right, bottom) parameters specify the location of a rectangle in which the text is drawn. If the EnableFontScale parameter is True (nonzero) and the specified text is unable to fit within the rectangle, it will be scaled to fit. However, after scaling if the text still will not fit within the rectangle, the text will be clipped. If the EnableFontScale parameter is False (0), the font will be used as is without scaling. If the text does not fit within the rectangle, the text will be continued on a new line with the line break occuring at a space. (CRLF can also be used). If the Clip parameter is True (nonzero), the characters of the text that do not fit within the specified rectangle will be cut. If the Clip parameter is False (0), then all of the characters in the text will be drawn even if they do not fit inside the rectangle.

Regardless of the text direction or the rotation of the characters, text will be drawn from the start position to the right (or down in the case of vertical text).

When using the IKDrawText function the following members of the TextInfo should be set: CharSet, TextColor1, TextColor2, FontName, FontSize, Transparent, Direction, CharAngle, CharExtra, HCentering, VCentering, and HotkeyPrefix. The CharAngle is enabled for 0, 90, 180, and 270 degree rotations only. When the EnableFontScale parameter is False (0), the CharAngle, Direction, and VCentering are disabled. When the HotkeyPrefix is set to zero, prefixed string functionality cannot be used.

If the DeviceMode parameter is 0 or 2 then PrintRect member variables are in pixel units.

If the DeviceMode parameter is 1 then PrintRect member variables are in 0.1mm units.

The differences from the ImageKit5

Function Name | parameters
IK5DrawText: | DeviceValue, PrintRect, PrintInfo
IKDrawText: | DeviceValue, PrintRect, TextInfo, Text, EnableFontScale, Clip, DeviceMode

Although the PrintInfo and TextInfo structures are different, the member variable needed when using these structures is nearly the same.

IK5PRINT_DATA --> IKPRINT_TEXTINFO
CharExtra, CharSet, RotateString, Alpha1,Alpha2, and HotkeyPrefix have been added and Text has been deleted.
TextForeColor and TextBackColor have been renamed to TextColor1 and TextColor2.

By setting PrintInfo.Text to the Text parameter; setting the value used in IK5SetDeviceMode to the DeviceMode parameter; setting the TextInfo's CharSet to -1, CharExtra to 0, HotkeyPrefix to 1; and setting TextForeColor and TextBackColor to TextColor1 and TextColor2 respectively; this function will operate the same as in the ImageKit5.

The differences from the ImageKit6

Alpha1, Alpha2, and HotkeyPrefix have been added to the IKPRINT_TEXTINFO structure, and the TextForeColor and TextBackColor have beed renamed to the TextColor1 and TextColor2. If the HotkeyPrefix is set to 1, and the TextForeColor and TextBackColor are set to TextColor1 and TextColor2, then this function is the same as in ImageKit6.


IKEllipse

This function draws an ellipse in the designated object (the screen, printer, or image data).

[C++Builder/Visual C++] BOOL IKEllipse(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);
[Delphi] function IKEllipse(DeviceValue: THandle; var PrintRect: TRect; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKEllipse(ByVal DeviceValue As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
PrintRect | Structure containing the coordinates of points for the area bounding the ellipse
DrawInfo | Structure whose members set the drawing information
DeviceMode | The designated object where the ellipse is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKEllipse function draws an ellipse in the designated object (the screen, printer, or image data). A chord is a region bounded by the intersection of an ellipse and a line segment. The PrintRect member variables contain the coordinates for points that specify a bounding rectangle in which the ellipse is drawn. The outline of the ellipse is drawn from the value set in the PenStyle member of DrawInfo and the ellipse is filled by the value set in the BrushStyle member variable. When drawing an ellipse, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, Transparent, and BackColor member variables of DrawInfo also be set. The BackColor is enabled when the Transparent is false and the pen is set to draw lines other than solid lines or the brush is set to draw hatch pattern.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the member variables of the PrintRect parameter are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the member variables of the PrintRect parameter parameter are in 0.1mm units.

The differences from the ImageKit]

Function Name | Parameters
IK5Ellipse: | DeviceValue, PrintRect, PrintInfo
IKEllipse: | DeviceValue, PrintRect, DrawInfo, DeviceMode

PrintInfo and DrawInfo structures are different, however the member variables in PrintInfo are used in the same way in DrawInfo. If you set the Transparent parameter to True and then set the DeviceMode parameter to the value that you used in the ImageKit5 IKSetDeviceMode, then there is no difference between this function in the ImageKit10 and the ImageKit5.

The differences from the ImageKit6

The BackColor member variable has been added. If the Transparent member is not 0, then this function is the same as in the ImageKit6.


IKEnumPaperBins

This function retrieves the paper tray names and tray numbers from the printer designated by the printer name.

[C++Builder/Visual C++] int IKEnumPaperBins(LPCSTR PrinterName, LPSTR BinNames, LPWORD BinNumbers);
[Delphi] function IKEnumPaperBins(PrinterName, BinNames: PChar; var BinNumbers: Word): Integer;
[Visual Basic] Function IKEnumPaperBins(ByVal PrinterName As String, ByVal BinNames As String, BinNumbers As Integer) As Long

Parameters

Name | Explanation
PrinterName | The printer name
BinNames | The string containing the retrieved paper tray names By setting this to NULL (in C++Builder/Visual C++), nil (in Delphi), or vbNullString (in Visual Basic), the number of elements needed for the BinNumbers array is returned in the Return Value.
BinNumbers | The array containing the retrieved paper tray numbers (1)In C++Builder/Visual C++, pass the pointer to the first element of the array (2)In Delphi, for example, Bnum: array [0..2] of Word then set Bnum[0] (3)In Visual Basic, Dim Bnum(0 To 2) As Integer then set Bnum(0)

Return Value

Returns the number of retrieved items. Returns 0 if unsuccessful.

Explanation

The IKEnumPaperBins function retrieves the paper tray names and tray numbers from the printer designated by the printer name.

To retrieve the number of elements in the BinNumbers array (in the Return Value), set BinNames to NULL (in C++Builder/Visual C++), nil (in Delphi), or vbNullString (in Visual Basic). BinNames must be allocated with a memory size of the number of elements X (24 + 1)+ 1. Note that the IKPrintGetArrayNum function can also be used to retrieve this. The BinNames string will be returned as "xxxxx,xxxxx,xxxxx,¥¥¥¥¥¥¥¥," (delimited by commas and ends with a comma).

Sample code:

(1)C++Builder/Visual C++

int Size;

TCHAR *BinNames;

LPWORD BinNumbers;

Size = IKEnumPaperBins("EPSON LP-8200C", NULL, NULL);

if (Size < 1) return;

BinNames = (TCHAR *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, Size * (sizeof(TCHAR) * (24 + 1) + sizeof(TCHAR);

BinNumbers = (LPWORD)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(WORD) * Size);

__try {

IKEnumPaperBins("EPSON LP-8200C", BinNames, BinNumbers);

// various programming code

..................
..................

} __finally {

HeapFree(GetProcessHeap(), 0, BinNames);

HeapFree(GetProcessHeap(), 0, BinNumbers);

}

(2)Delphi

Size: Integer;

BinNames: PChar;

BinNumbers: array of Word;

Size := IKEnumPaperBins('EPSON LP-8200C', nil, PWord(nil)^);

if Size < 1 then Exit;

GetMem(BinNames, Size * (SizeOf(Char) * (24 + 1)) + SizeOf(Char));

SetLength(BinNumbers, Size);

try

IKEnumPaperBins('EPSON LP-8200C', BinNames, BinNumbers[0]);

// various programming code

......................

.....................

finally

FreeMem(BinNames);

end;

(3)Visual Basic

Dim Size As Long

Dim BinNames As String * 1024

Dim BinNumbers() As Integer

Size = IKPrintGetArrayNum("EPSON LP-8200C", 1)

If Size < 1 Then Exit Sub

ReDim BinNumbers(Size)

Call IKEnumPaperBins("EPSON LP-8200C", BinNames, BinNumbers(0))

' various programming code
.....................

.....................


IKEnumPaperSizes

This function retrieves the names, size numbers, and dimensions of the paper from the printer designated by the printer name.

[C++Builder/Visual C++] int IKEnumPaperSizes(LPCTSTR PrinterName, LPTSTR PaperNames, LPWORD PaperNumbers, LPPOINT PaperSizes);
[Delphi] function IKEnumPaperSizes(PrinterName, PaperNames: PChar; var PaperNumbers: Word; var PaperSizes: TPoint): Integer;
[Visual Basic] Function IKEnumPaperSizes(ByVal PrinterName As String, ByVal PaperNames As String, PaperNumbers As Integer PaperSizes As IKPOINT) As Long

Parameters

Name | Explanation
PrinterName | The printer name
PaperNames | The string containing the retrieved paper tray names By setting this to NULL (in C++Builder/Visual C++), nil (in Delphi), or vbNullString (in Visual Basic), the number of elements needed for the PaperNumbers and PaperSizes arrays is returned in the Return Value.
PaperNumbers | The array containing the retrieved paper tray numbers (1)In C++Builder/Visual C++, pass the pointer to the first element of the array (2)In Delphi, for example, Pnum: array [0..2] of Word then set Pnum[0] (3)In Visual Basic, Dim Pnum(0 To 2) As Integer then set Pnum(0)
PaperSizes | The array containing the retrieved paper dimensions (1)In C++Builder/Visual C++, pass the pointer to the first element of the array (2)In Delphi, for example, Ps: array [0..2] of TPoint then set Ps[0] (3)In Visual Basic, Dim Ps(0 To 2) As IKPOINT then set Ps(0)

Return Value

Returns the number of retrieved items. Returns 0 if unsuccessful.

Explanation

The IKEnumPaperSizes function retrieves the names, size numbers, and dimensions of the paper from the printer designated by the printer name.

To retrieve the number of elements in the PaperNumbers and PaperSizes arrays (in the Return Value), set PaperNames to NULL (in C++Builder/Visual C++), nil (in Delphi), or vbNullString (in Visual Basic). PaperNames must be allocated with a memory size of the number of elements X (64{1){1. Note that the IKPrintGetArrayNum function can be used to retrieve this.

The PaperNames string will be returned as "xxxxx,xxxxx,xxxxx,¥¥¥¥¥¥¥¥," (delimited by commas and ends with a comma). PaperSizes will retrieve each paper size in 0.1mm units.

Sample code:

(1)C++Builder/Visual C++

int Size;

TCHAR *PaperNames;

LPWORD PaperNumbers;

LPPOINT PaperSizes;

Size = IKEnumPaperSizes("EPSON LP-8200C", NULL, NULL, NULL);

if (Size < 1) return;

PaperNames = (TCHAR *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, Size * (sizeof(TCHAR) * (64 + 1)) + sizeof(TCHAR));

PaperNumbers = (LPWORD)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(WORD) * Size);

PaperSizes = (LPPOINT)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(POINT) * Size);

__try {

IKEnumPaperSizes("EPSON LP-8200C", PaperNames, PaperNumbers, PaperSizes);

// various programming code

...........

...........

} __finally {

HeapFree(GetProcessHeap(), 0, PaperNames);

HeapFree(GetProcessHeap(), 0, PaperNumbers);

HeapFree(GetProcessHeap(), 0, PaperSizes);

}

(2)Delphi

Size: Integer;

PaperNames: PChar;

PaperNumbers: array of Word;

PaperSizes: array of TPoint;

Size := IKEnumPaperSizes('EPSON LP-8200C', nil, PWord(nil)^, PPoint(nil)^);

if Size < 1 then Exit;

GetMem(PaperNames, Size * (SizeOf(Char) * (64 + 1)) + SizeOf(Char));

SetLength(PaperNumbers, Size);

SetLength(PaperSizes, Size);

try

IKEnumPaperSizes('EPSON LP-8200C', PaperNames, PaperNumbers[0], PaperSizes[0]);

// various programming code

...........

...........

finally

FreeMem(PaperNames);

end;

(3)Visual Basic

Dim Size As Long

Dim PaperNames As String * 2048

Dim PaperNumbers() As Integer

Dim PaperSizes() As IKPOINT

Size = IKPrintGetArrayNum("EPSON LP-8200C", 0)

If Size < 1 Then Exit Sub

ReDim PaperNumbers(Size)

ReDim PaperSizes(Size)

Call IKEnumPaperSizes("EPSON LP-8200C", PaperNames, PaperNumbers(0), PaperSizes(0))

' various programming code

...........

...........


IKEnumPorts

This function retrieves a list of ports.

[C++Builder/Visual C++] DWORD IKEnumPorts(LPTSTR Ports);
[Delphi] function IKEnumPorts(Ports: PChar): DWORD;
[Visual Basic] Function IKEnumPorts(ByVal Ports As String) As Long

Parameters

Name | Explanation
Ports | A string containing the retrieved port names

Return Value

If NULL (for C++Builder and Visual C++), nil (for Delphi), and vbNullString (for Visual Basic) are set into Ports, the required size of the string is returned when the port name is retrieved (does not included the final null). In the Ansi versions the returned value is the number of bytes. In the Unicode versions, the return value is the number of characters.

Explanation

The IKEnumPorts function retrieves a list of ports.

(1)C++Builder/Visual C++

TCHAR Ports[1024];

(2)Delphi

Ports: array[0..1023] of Char;

(3)Visual Basic

Dim Ports As String * 1024

The Ports string will be returned as "xxxxx,xxxxx,xxxxx,¥¥¥¥¥¥¥¥," (delimited by commas and ends with a comma).


IKEnumPrinters

This function lists the installed printers.

[C++Builder/Visual C++] DWORD IKEnumPrinters(LPTSTR Printers, short *DefaultPrinterNo);
[Delphi] function IKEnumPrinters(Printers: PChar; var DefaultPrinterNo: Smallint): DWORD;
[Visual Basic] Function IKEnumPrinters(ByVal Printers As String, DefaultPrinterNo As Integer) As Long

Parameters

Name | Explanation
Printers | A string containing the retrieved printer names
DefaultPrinterNo | The number of the default printer (from 0)

Return Value

If NULL (for C++Builder and Visual C++), nil (for Delphi), and vbNullString (for Visual Basic) are set into Printers, the required size of the string is returned when the printer name is retrieved. (does not included the final null). In the Ansi versions the returned value is the number of bytes. In the Unicode versions, the return value is the number of characters.

Explanation

The IKEnumPinters function lists the installed printers.

Note: When retrieving the printer name, please do not exceed the specified size

(1)C++Builder/Visual C++

TCHAR Printers[1024];

(2)Delphi

Printers: array[0..1023] of Char;

(3)Visual Basic

Dim Printers As String * 1024

The Printers string will be returned as "xxxxx,xxxxx,xxxxx,¥¥¥¥¥¥¥¥," (delimited by commas and ends with a comma).

The DefaultPrinterNo parameter refers to the number of the default printer on the list that appears in the Printers member variable. The first printer on the list is referred to by the number 0.


IKEnumResolutions

This function retrieves a list of supported resolutions for the printer designated by the printer name.

[C++Builder/Visual C++] int IKEnumResolutions(LPCTSTR PrinterName, LPPOINT Resolutions);
[Delphi] function IKEnumResolutions(PrinterName: PChar; var Resolutions: TPoint): Integer;
[Visual Basic] Function IKEnumResolutions(ByVal PrinterName As String, Resolutions As IKPOINT) As Long

Parameters

Name | Explanation
PrinterName | The printer name
Resolutions | An array containing the list of retrieved resolutions Setting NULL (in C++Builder/Visual C++), nil (in Delphi), the number of elements required in the array will be returned. (1)In C++Builder/Visual C++, pass the pointer to the first element of the array (2)In Delphi, for example, Res: array [0..2] of Word then set Res[0] (3)In Visual Basic, Dim Res(0 To 2) As Integer then set Res(0)

Return Value

Returns the number of retrieved items. Returns 0 if unsuccessful.

Explanation

The IKEnumResolutions function retrieves a list of supported resolutions for the printer designated by the printer name. By setting NULL (in C++Builder/Visual C++) or nil (in Delphi), the required number or elements for the array will be returned. If you need to know the number of elements in the array, the IKPrintGetArrayNum function can be used to retrieve this. The Resolutions parameter contains the retrieved (horizontal and vertical) resolution values in units of dots per inch (dpi)

Sample code:

(1)C++Builder/Visual C++

int Size;

LPPOINT Resolutions;

Size = IKEnumResolutions("EPSON LP-8200C", NULL);

if (Size < 1) return;

Resolutions = (LPPOINT)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(POINT) * Size);

__try {

IKEnumResolutions("EPSON LP-8200C", Resolutions);

// various programming code

...........

...........

} __finally {

HeapFree(GetProcessHeap(), 0, Resolutions);

}

(2)Delphi

Size: Integer;

Resolutions: array of TPoint;

Size := IKEnumResolutions('EPSON LP-8200C', PPoint(nil)^);

if Size < 1 then Exit;

SetLength(Resolutions, Size);

IKEnumResolutions('EPSON LP-8200C', Resolutions[0]);

// various programming code

...........

...........

(3)Visual Basic

Dim Size As Long

Dim Resolutions() As IKPOINT

Size = IKPrintGetArrayNum("EPSON LP-8200C", 2)

If Size < 1 Then Exit Sub

ReDim Resolutions(Size)

Call IKEnumResolutions("EPSON LP-8200C", Resolutions(0))

' various programming code

...........

...........


IKFillRect

This function draws a filled rectangle in the designated object (the screen, printer, or image data).

[C++Builder/Visual C++] BOOL IKFillRect(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);
[Delphi] function IKFillRect(DeviceValue: THandle; var PrintRect: TRect; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKFillRect(ByVal DeviceValue As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
PrintRect | Structure containing the coordinates of points for the area bounding the filled rectangle
DrawInfo | Structure whose members set the drawing information
DeviceMode | The designated object where the filled rectangle is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFillRect function draws a filled rectangle in the designated object (the screen, printer, or image data). A chord is a region bounded by the intersection of an ellipse and a line segment. The PrintRect member variables contain the coordinates for points that specify a bounding rectangle in which the ellipse is drawn. The outline of the ellipse is drawn from the value set in the PenStyle member of DrawInfo and the ellipse is filled by the value set in the BrushStyle member variable. When drawing an ellipse, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, Transparent, and BackColor member variables of DrawInfo also be set. The BackColor is enabled when the Transparent is false and the pen is set to draw lines other than solid lines or the brush is set to draw hatch pattern.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the member variables of the PrintRect parameter are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the member variables of the PrintRect parameter parameter are in 0.1mm units.

The differences from the ImageKit5

Function Name | Parameters
IK5Ellipse: | DeviceValue, PrintRect, PrintInfo
IKEllipse: | DeviceValue, PrintRect, DrawInfo, DeviceMode

PrintInfo and DrawInfo structures are different, however the member variables in PrintInfo are used in the same way in DrawInfo. If you set the Transparent parameter to True and then set the DeviceMode parameter to the value that you used in the ImageKit5 IKSetDeviceMode, then there is no difference between this function in the ImageKit10 and the ImageKit5.

The differences from the ImageKit6

The BackColor member variable has been added. If you set the Transparent parameter to True, there is no difference between this function in the ImageKit10 and the ImageKit6.


IKFrameRect

This function draws the border of the specified rectangle in the designated object.

[C++Builder/Visual C++] BOOL IKFrameRect(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);
[Delphi] function IKFrameRect(DeviceValue: THandle; var PrintRect: TRect; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKFrameRect(ByVal DeviceValue As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
PrintRect | Structure containing the coordinates of points for the area bounding the rectangle
DrawInfo | Structure whose members set the drawing information
DeviceMode | The designated object where the rectangle is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKFrameRect function draws the border of the specified rectangle in the designated object. The rectangle is specified by PrintRect parameter and drawn using the value of BrushStyle member variables. The area inside the border of the rectangle will not be filled (The designated object can be the screen, printer, or image data).

To use this function the BrushStyle, BrushColor, Transparent, and BackColor member variables of DrawInfo parameter must be set. The BackColor member variable is enabled when the Transparent is False and the hatch pattern brush is used. With the IKFrameRect function, when the Transparent is other than zero and a hatch pattern is selected, the spaces between the lines will be filled with the default color and will NOT be transparent. To make the space between the lines of the hatch pattern transparent, please use the function instead.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the member variables of PrintRect parameter are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the member variables of PrintRect parameter are in 0.1mm units.


IKPrintGdipEnd

This function ends the GDI+ process.

[C++Builder/Visual C++] void IKPrintGdipEnd(ULONG_PTR token);
[Delphi] procedure IKPrintGdipEnd(token: DWORD);
[Visual Basic] Sub IKPrintGdipEnd(ByVal token As Long)

Parameters

Name | Explanation
token | token retrieved from IKPrintGdipStart function

Return Value

None

Explanation

The IKPrintGdipEnd function ends the GDI+ process. This function is used with IKDrawString or IKMeasureString function.


IKPrintGdipStart

This function initializes the GDI+ process.

[C++Builder/Visual C++] ULONG_PTR IKPrintGdipStart(void);
[Delphi] function IKPrintGdipStart(): DWORD;
[Visual Basic] Function IKPrintGdipStart() As Long

Parameters

None

Return Value

Returns token if successful. Returns 0 if unsuccessful.

Explanation

The IKPrintGdipStart function initializes the GDI+ process. This function is used with IKDrawString or IKMeasureString function.


IKGetDefaultPrinter

This function retrieves the default printer.

[C++Builder/Visual C++] DWORD IKGetDefaultPrinter(LPTCSTR PrinterName);
[Delphi] function IKGetDefaultPrinter(PrinterName: PChar): DWORD;
[Visual Basic] Function IKGetDefaultPrinter(ByVal PrinterName As String) As Long

Parameters

Name | Explanation
PrinterName | The variable for the printer name list

Return Value

Returns the length of the string (minus the terminal null) set in PrinterName. Returns 0 if unsuccessful.

Explanation

The IKGetDefaultPrinter function retrieves the default printer registered in the Windows printer folder. The default printer can also be retrieved using the IKEnumPrinters function.


IKGetDevModeHandle

This function retrieves the handle to the specified printer's DEVMODE structure. The DEVMODE structure stores information about various settings and properties of a device, such as a printer.

[C++Builder/Visual C++] HANDLE IKGetDevModeHandle(LPCTSTR PrinterName, LPCTSTR PrintFileName);
[Delphi] function IKGetDevModeHandle(PrinterName, PrintFileName: PChar): THandle;
[Visual Basic] Function IKGetDevModeHandle(ByVal PrinterName As String, ByVal PrintFileName As String) As Long

Parameters

Name | Explanation
PrinterName | The printer name
PrintFileName | The file name of the printer file (the file where printer settings are saved by the IKSaveDevModeHandle, IKSaveDevModeHandleEx, or IKSetPrint function)

Return Value

Returns the handle to the DEVMODE structure if successful. Returns NULL (0) if unsuccessful.

Explanation

The IKGetDevModeHandle function retrieves the handle to the specified printer's DEVMODE structure. The DEVMODE structure stores information about various settings and properties of a device, such as a printer.

Prior to executing the IKGetDevModeHandle function, the PrinterName parameter must be set or printer setting file must have been created by the the IKSaveDevModeHandle, IKSaveDevModeHandleEx, or IKSetPrint function. If both of these have been done then the PrinterName parameter is enabled over the PrintFileName parameter. Which ever parameter you choose, please set the other parameter to a blank string ("",'',NULL,nil,vbNullString).

If this function is successfully executed, the handle to the DEVMODE structure will be returned. This pointer is used by the IKPrintCreateDC and the IkPrintCreateDCEx function. To free the handle to the DEVMODE structure, please execute the IKReleaseDevModeHandle or the IKReleaseDevModeHandleEx function. For more information about the DEVMODE structure, please refer to WindowsAPI or related manuals.


IKGetDevModeHandleEx

This function retrieves the handle to the specified printer's DEVMODE structure and DEVNAMES structure.

[C++Builder/Visual C++] HANDLE IKGetDevModeHandleEx(LPCTSTR PrinterName, LPCTSTR PrintFileName, LPHANDLE hDevNames);
[Delphi] function IKGetDevModeHandleEx(PrinterName, PrintFileName: PChar; hDevNames: PHandle): THandle;
[Visual Basic] Function IKGetDevModeHandleEx(ByVal PrinterName As String, ByVal PrintFileName As String, hDevNames As Long) As Long

Parameters

Name | Explanation
PrinterName | The printer name
PrintFileName | The file name of the printer file (the file where printer settings are saved by the IKSaveDevModeHandle, IKSaveDevModeHandleEx, or IKSetPrint function)
hDevNames | Handle of the DEVNAMES structure that is retrieved

Return Value

Returns the handle to the DEVMODE structure if successful. Returns NULL (0) if unsuccessful.

Explanation

The IKGetDevModeHandleEx function retrieves the handle to the specified printer's DEVMODE structure and DEVNAMES structure. The DEVMODE structure stores information about various settings and properties of a device, such as a printer.

Prior to executing the IKGetDevModeHandleEx function, the PrinterName parameter must be set or printer setting file must have been created by the the IKSaveDevModeHandle, IKSaveDevModeHandleEx, or IKSetPrint function. If both of these have been done then the PrinterName parameter is enabled over the PrintFileName parameter. Which ever parameter you choose, please set the other parameter to a blank string ("",'',NULL,nil,vbNullString).

If this function is successfully executed, the handle to the DEVMODE structure will be returned. These handles are used by the IKPrintCreateDC, the IkPrintCreateDCEx function and the IKPrintDialog function. To free the handles to the DEVMODE and DEVNAMES structures, please execute the IKReleaseDevModeHandle or the IKReleaseDevModeHandleEx function. For more information about the DEVMODE and DEVNAMES structures, please refer to WindowsAPI or related manuals.


IKGetDevModeInfo

This function retrieves printer information from the handle to the DEVMODE structure.

[C++Builder/Visual C++] BOOL IKGetDevModeInfo(HANDLE hDevMode, PTR_IKPRINT_DEVMODEINFO DevModeInfo);
[Delphi] function IKGetDevModeInfo(hDevMode: THandle; var DevModeInfo: IKPRINT_DEVMODEINFO): LongBool;
[Visual Basic] Function IKGetDevModeInfo(ByVal hDevMode As Long, DevModeInfo As IKPRINT_DEVMODEINFO) As Long

Parameters

Name | Explanation
hDevMode | The handle of the DEVMODE structure as retrieved by the IKGetDevModeHandle or IKGetDevModeHandleEx function
DevModeInfo | A structure (user-defined type) whose member variables contain the retrieved printer information

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKGetDevModeInfo function retrieves printer information from the handle to the DEVMODE structure. If successful, the printer information will be set in the DevModeInfo structure.

For more information about the DEVMODE structure, please refer to WindowsAPI or related manuals.

For details about the IKPRINT_DEVMODEINFO structure, please refer to the definition of the structure in the Ik10Print.dll, Ik10PrintA.dll, Ik10Print64.dll, Ik10Print64A.dll section.


IkGetDevNamesInfo

This function retrieves the string information from the handle of the DEVNAMES structure.

[C++Builder/Visual C++] BOOL IKGetDevNamesInfo(HANDLE hDevNames, LPTSTR DriverName, LPTSTR DeviceName, LPTSTR OutputName);
[Delphi] function IKGetDevNamesInfo(hDevNames: THandle; DriverName, DeviceName, OutputName： PChar): LongBool;
[Visual Basic] Function IKGetDevNamesInfo(ByVal hDevNames As Long, ByVal DriverName As String, ByVal DeviceName As String, ByVal OutputName As String) As Long

Parameters

Name | Explanation
hDevNames | The handle of the DEVNAMES structure as retrieved by the IKGetDevModeHandleEx function
DriverName | Variable to get the device driver name
DeviceName | Variable to get the printer name
OutputName | Variable to get the output port name

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IkGetDevNamesInfo function retrieves the string information from the handle of the DEVNAMES structure. If this method succeeds, string information, such as printer name, is set in DeviceName.

For more information about the DEVNAMES structure, please refer to WindowsAPI or related manuals.


IKGetImageFromHdc

This function retrieves the image from the screen device context.

[C++Builder/Visual C++] BOOL IKGetDevModeInfo(HANDLE hDevMode, PTR_IKPRINT_DEVMODEINFO DevModeInfo);
[Delphi] function IKGetDevModeInfo(hDevMode: THandle; var DevModeInfo: IKPRINT_DEVMODEINFO): LongBool;
[Visual Basic] Function IKGetDevModeInfo(ByVal hDevMode As Long, DevModeInfo As IKPRINT_DEVMODEINFO) As Long

Parameters

Name | Explanation
hDC | The screen device context
Width | The width of the retrieved image (in pixels)
Height | The height of the retrieved image (in pixels)
BitCount | The number of bits per pixels in the image you want to create

Return Value

Returns the image handle of the raster image if successful. Returns NULL (0) if unsuccessful.

Explanation

The IKGetImageFromHdc function retrieves the image from the screen device context and returns it to the image data.

Note: Some components such as a PictureBox, do not always retrieve the height and width of the actual image. In such cases there can be problems with the IKGetImageFromHdc function retrieving the image from the screen device context.


IKGetPaperSize

This function retrieves the paper size and specified printing area from the printer device context.

[C++Builder/Visual C++] BOOL IKGetPaperSize(HDC hDC, LPRECT PrintRect, LPLONG Width, LPLONG Height, BYTE UnitMode);
[Delphi] function IKGetPaperSize(hDC: HDC; var PrintRect: TRect; var Width, Height: Longint; UnitMode: Byte): LongBool;
[Visual Basic] Function IKGetPaperSize(ByVal hDC As Long, PrintRect As IKRECT, Width As Long, Height As Long, ByVal UnitMode As Byte) As Long

Parameters

Name | Explanation
hDC | Printer device context
PrintRect | A structure containing the coordinates specifying the printing area
Width | Retrieves the width of the paper
Height | Retrieves the height of the paper
UnitMode | The units of measure of the retrieved values (0: pixels, 1: 0.1mm)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKGetPaperSize function retrieves the paper size and specified printing area from the printer device context. When the UnitMode parameter is 0, the PrintRect structure member variables, Width, and Height will be in pixel units. When the the UnitMode parameter is 1, the PrintRect structure member variables, Width, and Heigh will be in 0.1mm units.

Sample Code in Visual Basic:

Dim Ret As Long

Dim Rect1 As IKRECT

Dim Rect2 As IKRECT

Dim Width As Long

Dim Height As Long

'retrieving the paper size and specified printing area

Ret = IKGetPaperSize(hDC, Rect1, Width, Height, 1)

Rect2.Left = 0

Rect2.Top = 0

Rect2.Right = Rect1.Right - Rect1.Left

Rect2.Bottom = Rect1.Bottom - Rect1.Top

Ret = IKImageOut(hDC, ImgHandle, Rect2, False, True, 1)

The differences from the ImageKit5

Function Name | Parameters
IK5GetPaperSize: | hDC, PrintRect, Width, Height
IKGetPaperSize: | hDC, PrintRect, Width, Height, UnitMode

If you pass the value used in IK5SetDeviceMode to the UnitMode parameter, then this method will work in the same way as in the ImageKit5


IKGetPixel

This function retrieves the RGB values from a specified pixel in the designated object (The screen or the image data).

[C++Builder/Visual C++] BOOL IKGetPixel(LPVOID DeviceValue, int x, int y, LPBYTE Red, LPBYTE Green, LPBYTE Blue, BYTE DeviceMode);
[Delphi] function IKGetPixel(DeviceValue: THandle; x, y: Integer; var Red, Green, Blue: Byte; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKGetPixel(ByVal DeviceValue As Long, ByVal x As Long, ByVal y As Long, Red As Byte, Green As Byte, Blue As Byte, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (Depends on the DeviceMode)
x,y | The x,y coordinates of the pixel
Red | The red component of the RGB value
Green | The green component of the RGB value
Blue | The blue component of the RGB value
DeviceMode | The designated object (0: Screen, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKGetPixel function retrieves the RGB values from a specified pixel in the designated object (The screen or the image data). This function is enabled when the DeviceMode parameter is 0 or 2. In other words, this function can only be used with the screen or the image data but not with the printer. Please set the x and y parameters in pixel units.

Note: In the Visual Basic PictureBox, please set the AutoRedraw property to True.

The differences from the ImageKit5

Function Name | Parameters
IK5GetPixel: | DeviceValue, x, y, Red, Green, Blue
IKGetPixel: | DeviceValue, x, y, Red, Green, Blue, DeviceMode

If you pass the value of the IK5SetDeviceMode to the DeviceMode parameter then this method will work in the same way as in the ImageKit5.


IKGetPrinterPort

This function retrieves the printer port.

[C++Builder/Visual C++] DWORD IKGetPrinterPort(LPCTSTR PrinterName, LPTSTR Port);
[Delphi] function IKGetPrinterPort(PrinterName, Port: PChar): DWORD;
[Visual Basic] Function IKGetPrinterPort(ByVal PrinterName As String, ByVal Port As String) As Long

Parameters

Name | Explanation
PrinterName | The printer name
Port | The retrieved printer port

Return Value

If successful, returns the length of the string set in the Port parameter (not including the terminating "null"). Returns 0 if unsuccessful.

Explanation

The IKGetPrinterPort function retrieves the printer port. Before executing this function, the printer name must be set in the PrinterName parameter. If the IKGetPrinterPort function is successful, the port name will be set in the Port parameter. If printers are using more than one port, the port names will be separated with a comma.

Example: "LPT1:,LPT2:"


IKGetTextExtent

This function retrieves the height and width of the text from the text information.

[C++Builder/Visual C++] BOOL IKGetTextExtent(HDC hDC, LPLONG Width, LPLONG Height, PTR_IKPRINT_TEXTINFO TextInfo, LPCTSTR Text, BYTE UnitMode);
[Delphi] function IKGetTextExtent(hDC: HDC; var Width, Height: Longint; var TextInfo: IKPRINT_TEXTINFO; Text: PChar; UnitMode: Byte): LongBool;
[Visual Basic] Function IKGetTextExtent(ByVal hDC As Long, Width As Long, Height As Long, TextInfo As IKPRINT_TEXTINFO, ByVal Text As String, ByVal UnitMode As Byte) As Long

Parameters

Name | Explanation
hDC | The device context
Width | Retrieves the width of the text
Height | Retrieves the height of the text
TextInfo | Structure whose members set the drawing information
Text | The string parameter containing the text
UnitMode | The units of measure of the retrieved values (0: pixels, 1: 0.1mm)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKGetTextExtent function retrieves the height and width of the text from the text information (single line only).

To execute this function the CharSet, FontName, FontSize, Direction, CharAngle, and RotateString member variables of the TextInfo structure should be set. If the CharExtra value is 1 or more, the values returned in the Width and Height parameters will reflect the additional space between characters. When the RotateString value is False, regardless of the direction of the text or the rotation of the characters, the Width parameter refers to the horizontal size of the text and the Height parameter refers to the vertical size of the text. When the RotateString value is True, the Width parameter refers to the size of the text in the direction that it is drawn and the Height parameter refers to the size of the text in the vertical direction. When the RotateString is False, CharAngle is enabled only for values of 0, 90, 180, and 270 degrees.

If the UnitMode parameter is 0 then the Width and Height parameters will be in pixel units. If the UnitMode parameter is 1 then the Width and Height parameters will be in 0.1mm units.

The differences from the ImageKit5

Name | Explanation
IK5GetTextExtent(A): | hDC, Width, Height, PrintInfo
IKGetTextExtent: | hDC, Width, Height, TextInfo, Text, UnitMode

PrintInfo and TextInfo structures are different, however the member variables in PrintInfo are used in the same way in TextInfo.

IK5PRINT_DATA --> IKPRINT_TEXTINFO
CharExtra, CharSet, RotateString, Alpha1, Alpha2, and HotkeyPrefix have been added. The Text structure has been deleted.
TextForeColor and TextBackColor have been renamed to TextColor1 and TextColor2.
IK5PRINT_DATA_A --> IKPRINT_TEXTINFO
CharSet, RotateString, Alpha1, Alpha2, and HotkeyPrefix have been added. The Text structure has been deleted.
TextForeColor and TextBackColor have been renamed to TextColor1 and TextColor2.

If PrintInfo.Text is set into the Text parameter, IK5SetDeviceMode value is set into the UnitMode parameter and the TextInfo structure members CharSet is set to -1 and RotateString set to 0, then this function will execute nearly the same as in the ImageKit5.PrintInfo.

The differences from the ImageKit6

Alpha1, Alpha2, and HotkeyPrefix have been added. TextForeColor and TextBackColor have been renamed.


IKGetImageOut

ImageKit10 IKPrint.dll

IKImageOut

This function displays the image in the device context. (the screen or the printer).

[C++Builder/Visual C++] BOOL IKImageOut(HDC hDC, HANDLE Handle, LPRECT PrintRect, BOOL Aspect, BOOL DXFBlack, BYTE DeviceMode);
[Delphi] function IKImageOut(hDC: HDC; Handle: THandle; var PrintRect: TRect; Aspect, DXFBlack: LongBool; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKImageOut(ByVal hDC As Long, ByVal Handle As Long, PrintRect As IKRECT, ByVal Aspect As Long, ByVal DXFBlack As Long, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
hDC | The device context (The screen or the printer)
Handle | The image handle of the raster or vector image
PrintRect | A structure containing the coordinates specifying the display area
Aspect | Maintains the height to width ratio [True (nonzero): Ratio maintained, False (0): Ratio not maintained]
DXFBlack | In DXF images only, this sets black to white and white to black. [True (nonzero): Black and white are exchanged, False (0): Black and white are not exchanged]
DeviceMode | The designated object where the image is displayed(0: Screen, 1: Printer)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful. Returns False (0) if the cancel button is clicked in the "Print" dialog box.)

Explanation

The IKGetImageOut function displays the image in the device context (the screen or the printer). The PrintRect member variables determine the location of the rectangle in which the image is displayed. If the image does not fit within the specified rectangle, it will be scaled to fit. If the Aspect parameter is False, the image will be stretched to fill the specified rectangle, i.e. the height to width ratio will not be maintained. If the Aspect parameter is True, the image will be displayed within the specified rectangle with the height to width ratio maintained.

This function can draw in the following designated objects: screen or printer.

If the DeviceMode parameter is 0 (the designated object is the screen) then the PrintRect member variables are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the PrintRect member variables are in 0.1mm units.

Sample Code in Visual Basic:

Dim Ret As Long

Dim Rect1 As IKRECT

Dim Rect2 As IKRECT

Dim Width As Long

Dim Height As Long

'retrieving the paper size and specified printing area

Ret = IKGetPaperSize(hDC, Rect1, Width, Height, 1)

Rect2.Left = 0

Rect2.Top = 0

Rect2.Right = Rect1.Right - Rect1.Left

Rect2.Bottom = Rect1.Bottom - Rect1.Top

Ret = IKImageOut(hDC, ImgHandle, Rect2, False, True, 1)

[The differences from the ImageKit5]

Function Name | Parameters
IK5ImageOut: | hDC, Handle, PrintRect, Aspect
IKImageOut: | hDC, Handle, PrintRect, Aspect, DXFBlack, DeviceMode

If you set the DXFBlack parameter to False and then set the DeviceMode parameter to the value that you used in the ImageKit5 IKSetDeviceMode, then there is no difference between this function in the ImageKit6 and the ImageKit5.


IKGetImageOutToHwnd

ImageKit10 IKPrint.dll

IKImageOutToHwnd

This function displays the image in a window usint the window handle.

[C++Builder/Visual C++] BOOL IKImageOutToHwnd(HWND hWnd, HANDLE Handle, COLORREF Color, BOOL Aspect, BOOL DXFBlack);
[Delphi] function IKImageOutToHwnd(hWnd: HWND; Handle: THandle; Color: COLORREF; Aspect, DXFBlack: LongBool): LongBool;
[Visual Basic] Function IKImageOutToHwnd(ByVal hWnd As Long, ByVal Handle As Long, ByVal Color As Long, ByVal Aspect As Long, ByVal DXFBlack As Long) As Long

Parameters

Name | Explanation
hWnd | The window handle
Handle | The image handle of the raster or vector image
Color | Sets the background color of the window
Aspect | Maintains the height to width ratio [True (nonzero): Ratio maintained, False (0): Ratio not maintained]
DXFBlack | In DXF images only, this sets black to white and white to black. [True (nonzero): Black and white are exchanged, False (0): Black and white are not exchanged]

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKGetImageOutToHwnd function displays the image in a window using the window handle. If the image does not fit within the window's canvas the image will be scaled to fit. If the Aspect parameter is False, the image will be stretched to fill the window canvas, i.e. the height to width ratio will not be maintained. If the Aspect parameter is True, the image will be displayed within the window canvas with the height to width ratio maintained. To set the background color of the window, enter the appropriate RGB (red, green, blue) values in the Color parameter.

The differences from the ImageKit5

Function Name | Parameters
IK5ImageOutToHwnd: | hDC, Handle, Color, Aspect
IKImageOutToHwnd: | hDC, Handle, Color, Aspect, DXFBlack


IKLine

This function draws a line in the designated object (the screen, printer, or image data).

[C++Builder/Visual C++] BOOL IKLine(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo¤BYTE DeviceMode);
[Delphi] function IKLine(DeviceValue: THandle; var PrintRect: TRect; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKLine(ByVal DeviceValue As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (Depends on the DeviceMode)
PrintRect | A structure containing the coordinates for the starting point (left,top) and the ending point (right,bottom) of the line
DrawInfo | A structure whose member variables contain the drawing information
DeviceMode | The designated object where the line is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKLine function draws a line in the designated object (the screen, printer, or image data). The line is drawn from the PrintRect top, left coordinates (starting point) to the PrintRect bottom right coordinates (ending point). Note: The ending point is not included in the line. The line is drawn from the value set in the DrawInfo PenStyle member variable. This member variable must be set. When drawing a line, it is recommended that the PenWidth, PenMode, PenColor, Transparent, and BackColor member variables also be set. BackColor is enabled when the Transparent is set to False and the pen is set to draw lines other than solid lines.

This function can draw in the following designated objects: screen, printer, and image data.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the PrintRect member variables are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the PrintRect member variables are in 0.1mm units.

The differences from the ImageKit5

Name | Explanation
IK5Line: | DeviceValue, PrintRect, PrintInfo
IKLine: | DeviceValue, PrintRect, DrawInfo, DeviceMode

PrintInfo and DrawInfo structures are different, however the member variables in PrintInfo are used in the same way in DrawInfo. The DeviceMode parameter has been added to this function in the ImageKit6 and ImageKit10. In the ImageKit5 this was set separately using the IKSetDeviceMode function. If you set the Transparent parameter to True and then set the DeviceMode parameter to the value that you used in the ImageKit5 IKSetDeviceMode, then there is no difference between this function in the ImageKit10 and the ImageKit5.

The differences from the ImageKit6

BackColor has been added. By setting the Transparent parameter to True, there is no difference between this function in the ImageKit6 and ImageKit10.


IKMeasureString

This function uses GDI+ functionality to retrieve the height and width of text from text information.

[C++Builder/Visual C++] BOOL IKMeasureString(HDC hDC, int AreaWidth, int AreaHeight, LPFLOAT Width, LPFLOAT Height, LPINT charactersFitted, LPINT linesFilled, int FormatFlags, PTR_IKPRINT_TEXTINFO TextInfo, LPCTSTR Text, BYTE UnitMode);
[Delphi] function IKMeasureString(hDC: HDC; AreaWidth, AreaHeight: Integer; var Width, Height: Single; var charactersFitted, linesFilled: Integer; FormatFlags: Integer; var TextInfo: IKPRINT_TEXTINFO; Text: PChar; UnitMode: Byte): LongBool;
[Visual Basic] Function IKMeasureString(ByVal hDC As Long, ByVal AreaWidth As Long, ByVal AreaHeight As Long, Width As Single, Height As Single, charactersFitted As Long, linesFilled As Long, ByVal FormatFlags As Long, TextInfo As IKPRINT_TEXTINFO, ByVal Text As String, ByVal UnitMode As Byte) As Long

Parameters

Name | Explanation
hDC | The device context
AreaWidth | The maximum width (from 0)
AreaHeight | The maximum height (from 0)
Width | Retrieves the width of the text
Height | Retrieves the height of the text
charactersFitted | The number of characters in the retrieved text
linesFilled | The number of lines in the retrieved text
FormatFlags | The string format information (default is 0)
TextInfo | Structure whose members set the drawing information
Text | The string parameter containing the text
UnitMode | Units of measurement (0: pixels, 1: 0.1mm)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKMeasureString function uses GDI+ functionality to retrieve the height and width of text from text information. To retrieve the height and width of the text, the following member variables of the TextInfo structure should be set: FontName, FontSize, HCentering, VCentering, and HotkeyPrefix. If 0 is set in either the AreaWidth or AreaHeight parameters, the height and width of the whole text will be retrieved. However if the AreaWidth and AreaHeight parameters contain values other than 0, then only the height and width of the text contained within that area will be retrieved. The charactersFitted and linesFilled work in the same way. If 0 is set in either the AreaWidth or AreaHeight parameters, then the number of characters or the number of lines in the whole text will be retrieved and returned in the charactersFitted and linesFilled parameters. However if the AreaWidth and AreaHeight parameters contain values other than 0, then the values in the charactersFitted and linesFilled parameters will relate only to the text contained within the area defined by the AreaWidth and AreaHeight parameters.

To execute this function, the IKPrintGdipStart function must be executed prior to this function.

If the UnitMode parameter is 0 then the AreaWidth, AreaHeight, Width, Height parameters are in pixel units.

If the UnitMode parameter is 1 then AreaWidth, AreaHeight, Width, Height parameters are in 0.1mm units.

String format info

Value | Explanation
0x00000001 | Text is displayed from right to left
0x00000002 | Text is vertically aligned.
0x00000004 | Parts of characters are allowed to overhang the string's layout rectangle. By default, characters are repositioned to avoid any overhang.
0x00000020 | Control characters such as the left-to-right mark are shown in the output with a representative glyph.
0x00000400 | Fallback to alternate fonts for characters not supported in the requested font is disabled. Any missing characters are displayed with the fonts missing glyph, usually an open square.
0x00000800 | Includes the trailing space at the end of each line. Set this flag to include that space in measurement.
0x00001000 | Text wrapping between lines when formatting within a rectangle is disabled. This flag is implied when a point is passed instead of a rectangle, or when the specified rectangle has a zero line length.
0x00002000 | Only entire lines are laid out in the formatting rectangle. By default layout continues until the end of the text, or until no more lines are visible as a result of clipping, whichever comes first. Note that the default settings allow the last line to be partially obscured by a formatting rectangle that is not a whole multiple of the line height. To ensure that only whole lines are seen, specify this value and be careful to provide a formatting rectangle at least as tall as the height of one line.
0x00004000 | Overhanging parts of glyphs, and unwrapped text reaching outside the formatting rectangle are allowed to show. By default all text and glyph parts reaching outside the formatting rectangle are clipped.

The values of the IKMeasureString function in Delphi should start with $ instead of 0x as written above. In Visual Basic, the values should start with &H instead of 0x.

Sample code:

(1)C++Builder/Visual C++

IKPRINT_TEXTINFO TextInfo;

float Str_Width, Str_Height;

int charactersFitted, linesFilled;

RECT PrintRect;

ULONG_PTR token;//DWORD token;

token = IKPrintGdipStart();

if (token == 0) return;

memset(&TextInfo, 0, sizeof(IKPRINT_TEXTINFO));

TextInfo.FontSize = 20;

lstrcpy(TextInfo.FontName, "MS Gothic");

TextInfo.HotkeyPrefix = 0;

IKMeasureString(hDC, 0, 0, &Str_Width, &Str_Height, &charactersFitted, &linesFilled, 0, &TextInfo, "Text", 0);

PrintRect.left = 10;

PrintRect.top = 10;

PrintRect.right = PrintRect.left + (long)Str_Width - 1;

PrintRect.bottom = PrintRect.top + (long)Str_Height - 1;

TextInfo.CharAngle = 0;

TextInfo.TextColor1 = RGB(255, 0, 0);

TextInfo.Alpha1 = 255;

TextInfo.TextColor2 = RGB(255, 255, 255);

TextInfo.Alpha2 = 255;

//using the Gradiation Brush

IKDrawString(hDC, &PrintRect, 4, 0, 0, 0, 0, &TextInfo, "Text", 0);

IKPrintGdipEnd(token)

(2)Delphi

TextInfo: IKPRINT_TEXTINFO;

Str_Width, Str_Height: Single;

CharactersFitted, linesFilled: Integer;

PrintRect: TRect;

token: DWORD;

token := IKPrintGdipStart();

if token = 0 then Exit;

FillChar(TextInfo, SizeOf(TextInfo), 0);

TextInfo.FontSize := 20;

StrPCopy(TextInfo.FontName, 'MS Gothic');

TextInfo.HotkeyPrefix := 0;

IKMeasureString(DC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, TextInfo, 'Text', 0);

PrintRect.Left := 10;

PrintRect.Top := 10;

PrintRect.Right := PrintRect.Left + Trunc(Str_Width) - 1;

PrintRect.Bottom := PrintRect.Top + Trunc(Str_Height) - 1;

TextInfo.CharAngle := 0;

TextInfo.TextColor1 := clRed;

TextInfo.Alpha1 := 255;

TextInfo.TextColor2 := clWhite;

TextInfo.Alpha2 := 255;

//using the Gradiation Brush

IKDrawString(DC, PrintRect, 4, 0, 0, 0, 0, TextInfo, 'Text', 0);

IKPrintGdipEnd(token)

(3)Visual Basic

Dim TextInfo As IKPRINT_TEXTINFO

Dim Str_Width As Single

Dim Str_Height As Single

Dim charactersFitted As Long

Dim linesFilled As Long

Dim PrintRect As IKRECT

Dim token As Long

token = IKPrintGdipStart()

If token = 0 Then Exit Sub

TextInfo.FontSize = 20

TextInfo.FontName = "MS Gothic" & Chr$(0)

TextInfo.HotkeyPrefix = 0

Call IKMeasureString(hDC, 0, 0, Str_Width, Str_Height, charactersFitted, linesFilled, 0, TextInfo, "Text", 0)

PrintRect.Left = 10

PrintRect.Top = 10

PrintRect.Right = PrintRect.Left + CLng(Str_Width) - 1

PrintRect.Bottom = PrintRect.Top + CLng(Str_Height) - 1

TextInfo.CharAngle = 0

TextInfo.TextColor1 = vbRed

TextInfo.Alpha1 = 255

TextInfo.TextColor2 = vbWhite

TextInfo.Alpha2 = 255

'using the Gradiation Brush

Call IKDrawString(hDC, PrintRect, 4, 0, 0, 0, 0, TextInfo, "Text", 0)

IKPrintGdipEnd(token)


IKPaint

Starting from a specified point in the designated object, this function can fill an existing color with a different color. It can also use an existing color as a boundary and paint all other colors inside (or outside) that boundary with a different color.

[C++Builder/Visual C++] BOOL IKPaint(LPVOID DeviceValue, int x, int y, COLORREF FColor, COLORREF TColor, BYTE PaintMode, BYTE DeviceMode);
[Delphi] function IKPaint(DeviceValue: THandle; x, y: Integer; FColor, TColor: COLORREF; PaintMode, DeviceMode: Byte): LongBool;
[Visual Basic] Function IKPaint(ByVal DeviceValue As Long, ByVal x As Long, ByVal y As Long, ByVal FColor As Long, ByVal TColor As Long, ByVal PaintMode As Byte, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (Depends on the DeviceMode)
x,y | The x and y coordinates of the starting point
FColor | The color that is replaced or the color that defines the area to be filled by Tcolor
TColor | The color that replaces FColor
PaintMode | The mode used to paint (either Border or Surface)
DeviceMode | The designated object where the paint occurs (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

Starting from a specified point in the designated object, the IKPaint function can fill an existing color with a different color. It can also use an existing color as a boundary and paint all other colors inside (or outside) that boundary with a different color.

When the PaintMode is 0: (Border)

Starting from the coordinates specified by the x and y parameters, the IKPaint function uses the FColor as a boundary and fills the area inside (or outside) that boundary with the TColor.

When the PaintMode is 1: (Surface)

Starting from the coordinates specified by the x and y parameters, the IKPaint function fills the FColor area with the Tcolor.

The IKPaint function can draw in the following designated objects: screen, printer, and image data. The FColor and TColor parameters can be set using RGB(red,green,blue) values.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the x and y parameters are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the x and y parameters are in 0.1mm units.

The differences from the ImageKit5

Name | Explanation
IK5Paint: | DeviceValue, x, y, FColor, TColor
IKPaint: | DeviceValue, x, y, FColor, TColor, PaintMode, DeviceMode

If you set the DeviceMode parameter to the value that you used in the ImageKit5 IKSetDeviceMode, then there is no difference between this function in the ImageKit10 and the ImageKit5.


IKPie

This function draws a pie shaped figure in the designated object (the screen, printer, or image data).

[C++Builder/Visual C++] BOOL IKPie(LPVOID DeviceValue, LPRECT PrintRect, int x1, int y1, int x2, int y2, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);
[Delphi] function IKPie(DeviceValue: THandle; var PrintRect: TRect; x1, y1, x2, y2: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKPie(ByVal DeviceValue As Long, PrintRect As IKRECT, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (Depends on the DeviceMode)
PrintRect | Structure containing the coordinates of points for the area bounding the pie
x1,y1 | x and y coordinates of the starting point of the pie shape
x2,y2 | x and y coordinates of the ending point of the pie shape
DrawInfo | Structure whose members set the drawing information
DeviceMode | The designated object where the paint occurs (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPie function draws a pie shaped figure in the designated object. This function draws part of an ellipse and two edges that extend from the ends of the arc to the center point of the bounding rectangle to complete the pie shape (See the IKArc function).

The outline of the pie shape is drawn from the value set in the DrawInfo structure's PenStyle member variable and the pie shape is filled by the value set in the BrushStyle member variable. When drawing a pie shape, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, Transparent, and BackColor member variables also be set. BackColor is enabled when the Transparent is False and the pen is set to draw lines other than solid lines or the brush is set to draw hatch pattern.

This function can draw in the following designated objects: screen, printer, and image data.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the PrintRect, x1, y1, x2, y2 parameters are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the PrintRect, x1, y1, x2, y2 parameters are in 0.1mm units

The differences from the ImageKit5

Name | Explanation
IK5Pie: | DeviceValue, PrintRect, x1, y1, x2, y2, PrintInfo
IKPie: | DeviceValue, PrintRect, x1, y1, x2, y2, DrawInfo, DeviceMode

PrintInfo and DrawInfo structures are different, however the member variables in PrintInfo are used in the same way in DrawInfo. The DeviceMode parameter has been added to this function in the ImageKit6 and ImageKit10. If you set the Transparent parameter to True and then set the DeviceMode parameter to the value that you used in the ImageKit5 IKSetDeviceMode, then there is no difference between this function in the ImageKit10 and the ImageKit5.

The differences from the ImageKit6

BackColor has been added. If you set the Transparent parameter to True then there is no difference between this function in the ImageKit10 and ImageKit6.


IKPolyBezier

This function draws a bezier curve in the designated object (the screen, printer, or image data).

[C++Builder/Visual C++] BOOL IKPolyBezier(LPVOID DeviceValue, LPPOINT lpPoint, DWORD Points, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);
[Delphi] function IKPolyBezier(DeviceValue: THandle; var lpPoint: TPoint; Points: DWORD; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKPolyBezier(ByVal DeviceValue As Long, lpPoint As IKPOINT, ByVal Points As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
lpPoint A structure defining coordinates for the points of the polygonal area on the image

In C++Builder and Visual C++, pass the pointer to the first element in the structure array

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image (2 or more), i.e. the number of points in the lpPoint array
DrawInfo | Structure whose members set the drawing information
DeviceMode | The designated object where the polygon is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPolyBezier function draws a bezier curve in the designated object (the screen, printer, or image data). The initial bezier curve consists of 4 points, a start point, 2 control points, and an endpoint. Thereafter the bezier curve consists of 3 points (the control points and endpoint). This method can draw in the following designated objects: screen, printer, and image data.

To execute this method, the following member variables of DrawInfo structure should be set PenWidth, PenStyle, PenMode, PenColor, Transparent, and BackColor. The BackColor property is enabled when the Transparent is False and the pen is set to draw solid lines.

The value contained in the Points parameter must be (3 X the number of beziers) + a start point.

If the DeviceMode parameter is 0 or 2 then the lpPoint member variables are in pixel units.

If the DeviceMode parameter is 1 then the lpPoint member variables are in 0.1mm units.

Sample code:

(1)C++Builder/Visual C++

IKPRINT_DRAWINFO DrawInfo;

POINT PtCurve[4];

PtCurve[0].x = 10; PtCurve[0].y = 100;

PtCurve[1].x = 50; PtCurve[1].y = 50;

PtCurve[2].x = 100; PtCurve[2].y = 150;

PtCurve[3].x = 150; PtCurve[3].y = 100;

memset(&DrawInfo, 0, sizeof(IKPRINT_DRAWINFO));

DrawInfo.PenColor = RGB(0, 0, 255);

DrawInfo.PenStyle = 1;

DrawInfo.PenWidth = 15;

IKPolyBezier(hDC, PtCurve, 4, DrawInfo, 0);

(2)Delphi

DrawInfo: IKPRINT_DRAWINFO;

PtCurve: array[0..3] of TPoint;

PtCurve[0].x := 10; PtCurve[0].y := 100;

PtCurve[1].x := 50; PtCurve[1].y := 50;

PtCurve[2].x := 100; PtCurve[2].y := 150;

PtCurve[3].x := 150; PtCurve[3].y := 100;

FillChar(DrawInfo, SizeOf(DrawInfo), 0);

DrawInfo.PenColor := clGreen;

DrawInfo.PenStyle := 1;

DrawInfo.PenWidth := 15;

IKPolyBezier(hDC, PtCurve[0], 4, DrawInfo, 0);

(3)Visual Basic

Dim DrawInfo As IKPRINT_DRAWINFO

Dim PtCurve(4) As IKPOINT

PtCurve(0).x = 10: PtCurve(0).y = 100

PtCurve(1).x = 50: PtCurve(1).y = 50

PtCurve(2).x = 100: PtCurve(2).y = 150

PtCurve(3).x = 150: PtCurve(3).y = 100

DrawInfo.PenColor = vbGreen

DrawInfo.PenStyle = 1

DrawInfo.PenWidth = 15

Call IKPolyBezier(hDC, PtCurve(0), 4, DrawInfo, 0)


IKPolygon

This function draws a polygon in the designated object.

[C++Builder/Visual C++] BOOL IKPolygon(LPVOID DeviceValue, LPPOINT lpPoint, int Points, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);
[Delphi] function IKPolygon(DeviceValue: THandle; var lpPoint: TPoint; Points: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKPolygon(ByVal DeviceValue As Long, lpPoint As IKPOINT, ByVal Points As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
lpPoint A structure defining coordinates for the points of the polygonal area on the image

In C++Builder and Visual C++, pass the pointer to the first element in the structure array

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image (2 or more), i.e. the number of points in the lpPoint array
DrawInfo | Structure whose members set the drawing information
DeviceMode | The designated object where the polygon is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPolygon function draws a polygon in the designated object. This function draws a straight line from a designated point to another point and from there to subsequent points. The polygon is closed by drawing a line from the endpoint to the starting point. The points are specified by the IpPoint structure. The outline of the polygon is drawn from the value set in the DrawInfo structure PenStyle member variable and the polygon is filled by the value set in the BrushStyle member variable. When drawing a polygon, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, and Transparent member variables also be set.

This function can draw in the following designated objects: screen, printer, and image data.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the lpPoint member variables are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the lpPoint member variables are in 0.1mm units.

The differences from the ImageKit5

Name | Explanation
IK5Polygon: | DeviceValue, lpPoint, Points, PrintInfo
IKPolygon: | DeviceValue, lpPoint, Points, DrawInfo, DeviceMode

PrintInfo and DrawInfo structures are different, however the member variables in PrintInfo are used in the same way in DrawInfo. If you set the Transparent parameter to True and then set the DeviceMode parameter to the value that you used in the ImageKit5 IKSetDeviceMode, then there is no difference between this function in the ImageKit10 and the ImageKit5.

The differences from the ImageKit6

BackColor has been added. If you set the Transparent parameter to True, there is no difference between this function in the ImageKit10 and the ImageKit6.


IKPolyline

This function draws a polyline in the designated object.

[C++Builder/Visual C++] BOOL IKPolyline(LPVOID DeviceValue, LPPOINT lpPoint, int Points, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);
[Delphi] function IKPolyline(DeviceValue: THandle; var lpPoint: TPoint; Points: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKPolyline(ByVal DeviceValue As Long, lpPoint As IKPOINT, ByVal Points As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
lpPoint A structure defining coordinates for the points of the polygonal area on the image

In C++Builder and Visual C++, pass the pointer to the first element in the structure array

In Delphi, if Pt is an array of TPoint, then the arguments are returned in the first elements of the array Pt[0]

In Visual Basic, if Pt is an array of IKPOINT, then the arguments are returned in the first elements of the array Pt(0)
Points | The number of points defining the polygonal area on the image (2 or more), i.e. the number of points in the lpPoint array
DrawInfo | Structure whose members set the drawing information
DeviceMode | The designated object where the polygon is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPolyline function draws a polyline in the designated object. This function draws a straight line from a designated point to another point and from there to subsequent points. Unlike the polygon, the polyline is not closed. The points are specified by the IpPoint structure. The polyline is drawn from the value set in the PenStyle member variable of the DrawInfo structure. It is recommended that the PenWidth, PenMode, PenColor, Transparent, and BackColor member variables also be set. BackColor is enabled when the Transparent is True and the pen is set to draw lines other than the solid lines.

This function can draw in the following designated objects: screen, printer, and image data.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the lpPoint member variables are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the lpPoint member variables are in 0.1mm units.

The differences from the ImageKit5

Name | Explanation
IK5Polyline: | DeviceValue, lpPoint, Points, PrintInfo
IKPolyline: | DeviceValue, lpPoint, Points, DrawInfo, DeviceMode

PrintInfo and DrawInfo structures are different, however the member variables in PrintInfo are used in the same way in DrawInfo. If you set the Transparent parameter to True and then set the DeviceMode parameter to the value that you used in the ImageKit5 IKSetDeviceMode, then there is no difference between this function in the ImageKit10 and the ImageKit5.

The differences from the ImageKit6

BackColor has been added. If you set the Transparent parameter to True, there is no difference between this function in the ImageKit10 and the ImageKit6.


IKPreviewInit

When using the print preview, this function scales the screen resolution to the resolution of the output printer.

[C++Builder/Visual C++] BOOL IKPreviewInit(HDC phDC, HDC dhDC);
[Delphi] function IKPreviewInit(phDC, dhDC: HDC): LongBool;
[Visual Basic] Function IKPreviewInit(ByVal phDC As Long, ByVal dhDC As Long) As Long

Parameters

Name | Explanation
phDC | The device context of the output printer
dhDC | The device context of the preview screen

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

When using the print preview, the IKPreviewInit function scales the screen resolution to the resolution of the output printer.


IKPrintAbortDoc

This function terminates the current print job.

[C++Builder/Visual C++] BOOL IKPrintAbortDoc(HDC hDC);
[Delphi] function IKPrintAbortDoc(hDC: HDC): LongBool;
[Visual Basic] Function IKPrintAbortDoc(ByVal hDC As Long) As Long

Parameters

Name | Explanation
hDC | The device context retrieved by the IKPrintCreateDC, the IKPrintCreateDCEx, the IKPrintDialog, and the IKPrintDlg functions.

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPrintAbortDoc function terminates the current print job and erases everything the application has written to the device since the last call of the IKPrintStartDoc function. The IKPrintAbortDoc function should be used with the IKPrintStartDoc, IKPrintStartPage, IKPrintEndPage, and the IKPrintEndDoc functions and is written between IKPrintStartPage and IKPrintEndPage. Note: when ButtonName, Caption, and Message are set and the Cancel Printing dialog box is displayed, the ImageKit calls the IKPrintAbortDoc function internally so it is not necessary to use this function in such cases.

Example for terminating a print job:

(1)C++Builder/Visual C++

HDC hDC;

int i;

BOOL bAbort = TRUE;

hDC = IKPrintCreateDC(NULL, "Default", NULL, 1);

if (hDC == NULL) return;

//In Visual C++ pass Form1->Handle into m_hWnd

if (IKPrintStartDoc(hDC, Form1->Handle, "", "", "", "ImageKit Print Sample") != FALSE) {

for (i = 0; i < 100; i++) {

IKPrintStartPage(hDC);

//code for drawing image text etc

if (i == 50) {

IKPrintAbortDoc(hDC);

bAbort = TRUE;

}

IKPrintEndPage(hDC);

if (bAbort) break;

}

IKPrintEndDoc(hDC);

}

IKPrintDeleteDC(hDC);

(2)Delphi

DC: HDC;

i: Integer;

bAbort: Boolean;

DC := IKPrintCreateDC(nil, 'Default', 0, 1);

if DC = 0 then Exit;

if (IKPrintStartDoc(DC, Form1.Handle, '', '', '', 'ImageKit Print Sample') <> False) then

begin

bAbort := False;

for i := 0 to 99 do

begin

IKPrintStartPage(DC);

//code for drawing image text etc

if i = 50 then

begin

IKPrintAbortDoc(DC);

bAbort := True;

end;

IKPrintEndPage(DC);

if bAbort then Break;

end;

IKPrintEndDoc(DC);

end;

IKPrintDeleteDC(DC);

(3)Visual Basic

Dim hDC As Long

Dim i As Integer

Dim bAbort As Boolean

hDC = IKPrintCreateDC(vbNullString, "Default ", 0, 1)

If hDC = 0 Then Exit Sub

If (IKPrintStartDoc(hDC, Form1.hWnd, "", "", "", "ImageKit Print Sample") <> False) Then

For i = 0 To 99

bAbort = False

IKPrintStartPage(hDC)

'code for drawing image text etc...

If i = 50 then

IKPrintAbortDoc(hDC)

bAbort = True

End If

IKPrintEndPage(hDC)

If bAbort = True Then Exit For

Next i

IKPrintEndDoc(hDC)

End If

IKPrintDeleteDC(hDC)


IKPrintCreateDC

This function creates a device context.

[C++Builder/Visual C++] HDC IKPrintCreateDC(LPCTSTR PrinterName, LPCTSTR PrintFileName, HANDLE hDevMode, short Mode);
[Delphi] function IKPrintCreateDC(PrinterName, PrintFileName: PChar; hDevMode: THandle; Mode: Smallint): HDC;
[Visual Basic] Function IKPrintCreateDC(ByVal PrinterName As String, ByVal PrintFileName As String, ByVal hDevMode As Long, ByVal Mode As Integer) As Long

Parameters

Name | Explanation
PrinterName | The name of the printer
PrintFileName | The filename of the file storing the printer settings (The filename saved by the IKSaveDevModeHandle, IKSaveDevModeHandleEx, or IKSetPrint function)
hDevMode | The handle of the DEVMODE structure (The handle retrieved by the IKGetDevModeHandle or the IKGetDevModeHandleEx function)
Mode | The method for creating the device context (from 0 to 2)

Return Value

Returns the device context if successful. Returns null (0) if unsuccessful.

Explanation

The IKPrintCreateDC function creates a device context in one of three ways.

When the Mode parameter is 0:
The device context is created for the printer that has its name set in the PrinterName parameter.
The PrintFileName and hDevMode are disabled.
When the Mode parameter is 1:
The device context is created for the printer that is listed in the file set in the PrintFileName parameter.
The PrinterName and hDevMode are disabled.
When the Mode parameter is 2:
The device context is created from the handle of the DEVMODE structure that is set in the hDevMode parameter.
The PrinterName and PrintFileName are disabled.

To print with the default printer using the current settings, set the Mode parameter to 1 and in the PrintFileName parameter set, "Default".

When the device context is created and returned in the return value, the IKPrintStartDoc, IKPrintStartPage, IKPrintEndPage, IKPrintEndDoc functions can be used. The device context is freed using the IKPrintDeleteDC function.

As an extension to the PrintFileName, it is possible to set and save a other printer settings using the PrintFileName. Before executing the IKPrintCreateDC function, it is possible to save not only the file name but also the number of copies, the paper orientation, and the paper size (in that order) in the PrintFileName. The delimiter for the settings is a semicolon (;). Note: Enter a zero (0) into the settings that you do not want to change.

Orientation: The values in parentheses are the same as the constants used in WindowsAPI
1: Vertical (DMORIENT_PORTRAIT) 2: Horizontal (DMORIENT_LANDSCAPE)

PaperSize: The values in parentheses are the same as the constants used in WindowsAPI

  1. Letter, 8.5 x 11 in (DMPAPER_LETTER)
  2. Letter Small, 8.5 x 11 in (DMPAPER_LETTERSMALL)
  3. Tabloid, 11 x 17 in (DMPAPER_TABLOID)
  4. Ledger, 17 x 11 in (DMPAPER_LEDGER)
  5. Legal, 8.5 x 14 in (DMPAPER_LEGAL)
  6. Statement, 5.5 x 8.5 in (DMPAPER_STATEMENT)
  7. Executive, 7.25 x 10.5 in (DMPAPER_EXECUTIVE)
  8. A3, 297 x 420 mm (DMPAPER_A3)
  9. A4, 210 x 297 mm (DMPAPER_A4)
  10. A4 Small, 210 x 297 mm (DMPAPER_A4SMALL)
  11. A5, 148 x 210 mm (DMPAPER_A5)
  12. B4, 250 x 354 mm (DMPAPER_B4)
  13. B5, 182 x 257 mm (DMPAPER_B5)

For paper sizes other than those listed above, please refer to the WindowsAPI reference for your development container.

Sample Code: Using a printer setting file (IKPrn.IK) to print (VisualBasic)

(1) Standard case

PrintFileName = "C:\Test\IKPrint.IK"

(2) Using the extended functions of the printer setting file

A) Number of copies= 3, Orientation = Horizontal, PaperSize = B5

PrintFileName = "C:\Test\IKPrint.IK;3;2;13"

B) Retrieve the number of copies and paper size from the printer file but the orientation to horizontal

PrintFileName = "C:\Test\IKPrint.IK;0;2;0" or PrintFileName = "C:\Test\IKPrint.IK;0;2"

Sample Code: Using a printer setting file (IKPrn.IK) to print

(1)C++Builder/Visual C++

HDC hDC;

hDC = IKPrintCreateDC(NULL, "C:\\Test\\IKPrn.IK", NULL, 1);

if (hDC == NULL) return;

//In Visual C++ pass Form1->Handle into m_hWnd

if (IKPrintStartDoc(hDC, Form1->Handle, "", "", "", "ImageKit Print Sample") != FALSE) {

IKPrintStartPage(hDC);

// Display image, draw text or shapes, etc.

IKPrintEndPage(hDC);

IKPrintEndDoc(hDC);

}

IKPrintDeleteDC(hDC);

(2)Delphi

DC: HDC;

DC := IKPrintCreateDC(nil, 'C:\Test\IKPrn.IK', 0, 1);

if DC = 0 then Exit;

if (IKPrintStartDoc(DC, Form1.Handle, '', '', '', 'ImageKit Print Sample') <> False) then

begin

IKPrintStartPage(DC);

// Display image, draw text or shapes, etc.

IKPrintEndPage(DC);

IKPrintEndDoc(DC);

end;

IKPrintDeleteDC(DC);

(3)Visual Basic

Dim hDC As Long

hDC = IKPrintCreateDC(vbNullString, "C:\Test\IKPrn.IK", 0, 1)

If hDC = 0 Then Exit Sub

If (IKPrintStartDoc(hDC, Form1.hWnd, "", "", "", "ImageKit Print Sample") <> False) Then

IKPrintStartPage(hDC)

'Display image, draw text or shapes, etc.

IKPrintEndPage(hDC)

IKPrintEndDoc(hDC)

End If

IKPrintDeleteDC(hDC)


IKPrintCreateDCEx

This function creates a device context.

[C++Builder/Visual C++] HDC IKPrintCreateDCEx(LPCTSTR PrinterName, LPCTSTR PrintFileName, HANDLE hDevMode, HANDLE hDevNames, short Mode);
[Delphi] function IKPrintCreateDCEx(PrinterName, PrintFileName: PChar; hDevMode, hDevNames: THandle; Mode: Smallint): HDC;
[Visual Basic] Function IKPrintCreateDCEx(ByVal PrinterName As String, ByVal PrintFileName As String, ByVal hDevMode As Long, ByVal hDevNames As Long, ByVal Mode As Integer) As Long

Parameters

Name | Explanation
PrinterName | The name of the printer
PrintFileName | The filename of the file storing the printer settings (The filename saved by the IKSaveDevModeHandle, IKSaveDevModeHandleEx, or IKSetPrint function)
hDevMode | The handle of the DEVMODE structure (The handle retrieved by the IKGetDevModeHandle or the IKGetDevModeHandleEx function)
hDevNames | The handle of DEVNAMES structure (The handle retrieved by the IKGetDevModeHandleEx function)
Mode | The method for creating the device context (from 0 to 2)

Return Value

Returns the device context if successful. Returns null (0) if unsuccessful.

Explanation

The IKPrintCreateDC function creates a device context in one of three ways.

When the Mode parameter is 0:
The device context is created for the printer that has its name set in the PrinterName parameter.
The PrintFileName, hDevMode, and hDevNames are disabled.
When the Mode parameter is 1:
The device context is created for the printer that is listed in the file set in the PrintFileName parameter.
The PrinterName and hDevMode are disabled.
When the Mode parameter is 2:
The device context is created from the handle of the DEVMODE structure that is set in the hDevMode parameter.
The PrinterName and PrintFileName are disabled.

To print with the default printer using the current settings, set the Mode parameter to 1 and in the PrintFileName parameter set, "Default".

When the device context is created and returned in the return value, the IKPrintStartDoc, IKPrintStartPage, IKPrintEndPage, IKPrintEndDoc functions can be used. The device context is freed using the IKPrintDeleteDC function.

As an extension to the PrintFileName, it is possible to set and save a other printer settings using the PrintFileName. Before executing the IKPrintCreateDC function, it is possible to save not only the file name but also the number of copies, the paper orientation, and the paper size (in that order) in the PrintFileName. The delimiter for the settings is a semicolon (;). Note: Enter a zero (0) into the settings that you do not want to change.

Orientation: The values in parentheses are the same as the constants used in WindowsAPI
1: Vertical (DMORIENT_PORTRAIT) 2: Horizontal (DMORIENT_LANDSCAPE)

PaperSize: The values in parentheses are the same as the constants used in WindowsAPI

  1. Letter, 8.5 x 11 in (DMPAPER_LETTER)
  2. Letter Small, 8.5 x 11 in (DMPAPER_LETTERSMALL)
  3. Tabloid, 11 x 17 in (DMPAPER_TABLOID)
  4. Ledger, 17 x 11 in (DMPAPER_LEDGER)
  5. Legal, 8.5 x 14 in (DMPAPER_LEGAL)
  6. Statement, 5.5 x 8.5 in (DMPAPER_STATEMENT)
  7. Executive, 7.25 x 10.5 in (DMPAPER_EXECUTIVE)
  8. A3, 297 x 420 mm (DMPAPER_A3)
  9. A4, 210 x 297 mm (DMPAPER_A4)
  10. A4 Small, 210 x 297 mm (DMPAPER_A4SMALL)
  11. A5, 148 x 210 mm (DMPAPER_A5)
  12. B4, 250 x 354 mm (DMPAPER_B4)
  13. B5, 182 x 257 mm (DMPAPER_B5)

For paper sizes other than those listed above, please refer to the WindowsAPI reference for your development container.

Sample Code: Using a printer setting file (IKPrn.IK) to print (VisualBasic)

(1) Standard case

PrintFileName = "C:\Test\IKPrint.IK"

(2) Using the extended functions of the printer setting file

A) Number of copies= 3, Orientation = Horizontal, PaperSize = B5

PrintFileName = "C:\Test\IKPrint.IK;3;2;13"

B) Retrieve the number of copies and paper size from the printer file but the orientation to horizontal

PrintFileName = "C:\Test\IKPrint.IK;0;2;0" or PrintFileName = "C:\Test\IKPrint.IK;0;2"

Sample Code: Using a printer setting file (IKPrn.IK) to print

(1)C++Builder/Visual C++

HDC hDC;

hDC = IKPrintCreateDC(NULL, "C:\\Test\\IKPrn.IK", NULL, 1);

if (hDC == NULL) return;

//In Visual C++ pass Form1->Handle into m_hWnd

if (IKPrintStartDoc(hDC, Form1->Handle, "", "", "", "ImageKit Print Sample") != FALSE) {

IKPrintStartPage(hDC);

// Display image, draw text or shapes, etc.

IKPrintEndPage(hDC);

IKPrintEndDoc(hDC);

}

IKPrintDeleteDC(hDC);

(2)Delphi

DC: HDC;

DC := IKPrintCreateDC(nil, 'C:\Test\IKPrn.IK', 0, 1);

if DC = 0 then Exit;

if (IKPrintStartDoc(DC, Form1.Handle, '', '', '', 'ImageKit Print Sample') <> False) then

begin

IKPrintStartPage(DC);

// Display image, draw text or shapes, etc.

IKPrintEndPage(DC);

IKPrintEndDoc(DC);

end;

IKPrintDeleteDC(DC);

(3)Visual Basic

Dim hDC As Long

hDC = IKPrintCreateDC(vbNullString, "C:\Test\IKPrn.IK", 0, 1)

If hDC = 0 Then Exit Sub

If (IKPrintStartDoc(hDC, Form1.hWnd, "", "", "", "ImageKit Print Sample") <> False) Then

IKPrintStartPage(hDC)

'Display image, draw text or shapes, etc.

IKPrintEndPage(hDC)

IKPrintEndDoc(hDC)

End If

IKPrintDeleteDC(hDC)


IKPrintDeleteDC

This function deletes the device context.

[C++Builder/Visual C++] BOOL IKPrintDeleteDC(HDC hDC);
[Delphi] function IKPrintDeleteDC(hDC: HDC): LongBool;
[Visual Basic] Function IKPrintDeleteDC(ByVal hDC As Long) As Long

Parameters

Name | Explanation
hDC | The device context retrieved by the IKPrintCreateDC, IKPrintCreateDCEx, IKPrintDialog, or IKPrintDlg functions

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPrintDeleteDC function deletes a device context. Please execute this function after printing has completed and if the device context is no longer needed.

Please refer to the sample code in the IKPrintCreateDC, IKPrintCreateDCEx, IKPrintDialog, or IKPrintDlg functions.


IKPrintDialog

This function displays the Print dialog and creates a device context.

[C++Builder/Visual C++] HDC IKPrintDialog(HWND hWnd, LPHANDLE hDevMode, LPHANDLE hDevNames, PTR_IKPRINT_DIALOG IkPrnDlg);
[Delphi] function IKPrintDialog(hWnd: HWND; hDevMode, hDevNames: PHandle; var IkPrnDlg: IKPRINT_DIALOG): HDC;
[Visual Basic] Function IKPrintDialog(ByVal hWnd As Long, hDevMode As Long, hDevNames As Long, IkPrnDlg As IKPRINT_DIALOG) As Long

Parameters

Name | Explanation
hWnd | The window handle
hDevMode | The handle of the DEVMODE structure (The handle retrieved by IKGetDevModeHandle and IKGetDevModeHandleEx)
hDevNames | The handle of the DEVNAMES structure (The handle retrieved by IKGetDevModeHandleEx)
IkPrnDlg | The Print dialog settings

Return Value

Returns the device context if successful. Returns null (0) if unsuccessful.

Explanation

The IKPrintDialog function displays the Print dialog and creates a device context using the information specified. By setting hDevMode (or both the hDevMode and hDevNames), the "Print" dialog can be displayed with the printer name and printing information. To use the current printer with its existing settings then set NULL or 0 in hDevMode and hDevNames. The IKPrintDialog member variable values are displayed in the "Print" dialog when it is initialized and changes made to those settings in the "Print" dialog box are returned to the member variables when the printing is complete. hDevMode and hDevNames are updated when the device context is created when this function executes. Instead of passing the handle obtained by the IKGetDevModeHandleEx function to hDevMode and hDevNames, set 0 as an argument when obtaining both handles with this function. In that case, release hDevMode and hDevNames with the IKReleaseDevModeHandleEx function after the printing process. For more information, please refer to IKPRINT_DIALOG in the Structure Definitions and Explanations in the Ik10Print.dll, Ik10PrintA.dll, Ik10Print64.dll, Ik10Print64A.dll section. The device context is freed using the IKPrintDeleteDC function.

If the IKPrintDialog function is successful, the device context is returned which is used by the IKPrintStartDoc function.

Printing example code:

(1)C++Builder/Visual C++

HDC hDC;
IKPRINT_DIALOG IkPrnDlg;
HANDLE hDevMode, hDevNames;

hDevMode = hDevNames = NULL;
hDevMode = IKGetDevModeHandleEx("", "Default", &hDevNames);

memset(&IkPrnDlg, 0x00, sizeof(IkPrnDlg));
IkPrnDlg.Copies = 1;
IkPrnDlg.Options = 0x4 | 0x8 | 0x100000
//Visual C++はForm1->Set Handle into m_hWnd
hDC = IKPrintDialog(Form1->Handle, &hDevMode, &hDevNames, &IkPrnDlg);
if (hDC == NULL) return;
if (IKPrintStartDoc(hDC, Form1->Handle, "", "", "", "ImageKit Print Sample") != FALSE) {
IKPrintStartPage(hDC);

//Draw images, text, etc.

IKPrintEndPage(hDC);
IKPrintEndDoc(hDC);
}
IKPrintDeleteDC(hDC);

IKReleaseDevModeHandleEx(hDevMode, hDevNames);

(2)Delphi
DC: HDC;
IkPrnDlg: IKPRINT_DIALOG;
hDevMode, hDevNames: THandle;

hDevMode := nil;
hDevNames := nil;
hDevMode := IKGetDevModeHandleEx('', 'Default', @hDevNames);

FillChar(IkPrnDlg, SizeOf(IkPrnDlg), 0);
IkPrnDlg.Copies := 1;
IkPrnDlg.Options := $4 or $8 or $100000
DC := IKPrintDialog(Form1.Handle, @hDevMode, @hDevNames, IkPrnDlg);
if DC = 0 then Exit;
if (IKPrintStartDoc(DC, Form1.Handle, '', '', '', 'ImageKit Print Sample') <> False) then
begin
IKPrintStartPage(DC);

//Draw images, text, etc.

IKPrintEndPage(DC);
IKPrintEndDoc(DC);
end;
IKPrintDeleteDC(DC);

IKReleaseDevModeHandleEx(hDevMode, hDevNames);

(3)Visual Basic
Dim hDC As Long
Dim IkPrnDlg As IKPRINT_DIALOG
Dim hDevMode As Long
Dim hDevNames As Long

hDevMode = 0
hDevNames = 0
hDevMode = IKGetDevModeHandleEx("", "Default", hDevNames)

IkPrnDlg.Copies = 1
IkPrnDlg.Options = &H4 Or &H8 Or &H100000
hDC = IKPrintDialog(Form1.hWnd, hDevMode, hDevNames, IkPrnDlg)
If hDC = 0 Then Exit Sub
If (IKPrintStartDoc(hDC, Form1.hWnd, "", "", "", "ImageKit Print Sample") <> False) Then
IKPrintStartPage(hDC)

'Draw images, text, etc.

IKPrintEndPage(hDC)
IKPrintEndDoc(hDC)
End If
IKPrintDeleteDC(hDC)

IKReleaseDevModeHandleEx(hDevMode, hDevNames)


IKPrintDlg

This function displays the Print dialog and creates a device context.

[C++Builder/Visual C++] HDC IKPrintDlg(HWND hWnd, HANDLE hDevMode, PTR_IKPRINT_DIALOG IkPrnDlg);
[Delphi] function IKPrintDlg(hWnd: HWND; hDevMode: THandle; var IkPrnDlg: IKPRINT_DIALOG): HDC;
[Visual Basic] Function IKPrintDlg(ByVal hWnd As Long, ByVal hDevMode As Long, IkPrnDlg As IKPRINT_DIALOG) As Long

Parameters

Name | Explanation
hWnd | The window handle
hDevMode | The handle of the DEVMODE structure (The handle retrieved by IKGetDevModeHandle or IKGetDevModeHandle )
IkPrnDlg | The Print dialog settings

Return Value

Returns the device context if successful. Returns null (0) if unsuccessful.

Explanation

The IKPrintDlg function displays the Print dialog and creates a device context using the information specified. By setting hDevMode, the "Print" dialog can be displayed with the printer name and printing information. To use the current printer with its existing settings then set NULL or 0 in hDevMode. The IKPrintDlg member variable values are displayed in the "Print" dialog when it is initialized and changes made to those settings in the "Print" dialog box are returned to the member variables when the printing is complete. For more information, please refer to IKPRINT_DIALOG in the Structure Definitions and Explanations in the Ik10Print.dll, Ik10PrintA.dll, Ik10Print64.dll, Ik10Print64A.dll section. The device context is freed using the IKPrintDeleteDC function.

If the IKPrintDlg function is successful, the device context is returned which is used by the IKPrintStartDoc function.

Printing example code:

(1)C++Builder/Visual C++

HDC hDC;

IKPRINT_DIALOG IkPrnDlg;

memset(&IkPrnDlg, 0x00, sizeof(IkPrnDlg));

IkPrnDlg.Copies = 1;

IkPrnDlg.Options = 0x4 | 0x8 | 0x100000

//In Visual C++, pass Form1->Handle to m_hWnd

hDC = IKPrintDlg(Form1->Handle, NULL, &IkPrnDlg);

if (hDC == NULL) return;

if (IKPrintStartDoc(hDC, Form1->Handle, "", "", "", "ImageKit Print Sample") != FALSE) {

IKPrintStartPage(hDC);

// Display image, draw text or shapes, etc.

IKPrintEndPage(hDC);

IKPrintEndDoc(hDC);

}

IKPrintDeleteDC(hDC);

(2)Delphi

DC: HDC;

IkPrnDlg: IKPRINT_DIALOG;

FillChar(IkPrnDlg, SizeOf(IkPrnDlg), 0);

IkPrnDlg.Copies := 1;

IkPrnDlg.Options := $4 or $8 or $100000

DC := IKPrintDlg(Form1.Handle, 0, IkPrnDlg);

if DC = 0 then Exit;

if (IKPrintStartDoc(DC, Form1.Handle, '', '', '', 'ImageKit Print Sample') <> False) then

begin

IKPrintStartPage(DC);

// Display image, draw text or shapes, etc.

IKPrintEndPage(DC);

IKPrintEndDoc(DC);

end;

IKPrintDeleteDC(DC);

(3)Visual Basic

Dim hDC As Long

Dim IkPrnDlg As IKPRINT_DIALOG

IkPrnDlg.Copies = 1

IkPrnDlg.Options = &H4 Or &H8 Or &H100000

hDC = IKPrintDlg(Form1.hWnd, 0, IkPrnDlg)

If hDC = 0 Then Exit Sub

If (IKPrintStartDoc(hDC, Form1.hWnd, "", "", "", "ImageKit Print Sample") <> False) Then

IKPrintStartPage(hDC)

'Display image, draw text or shapes, etc.

IKPrintEndPage(hDC)

IKPrintEndDoc(hDC)

End If

IKPrintDeleteDC(hDC)


IKPrintEndDoc

This function ends the print job.

[C++Builder/Visual C++] BOOL IKPrintEndDoc(HDC hDC);
[Delphi] function IKPrintEndDoc(hDC: HDC): LongBool;
[Visual Basic] Function IKPrintEndDoc(ByVal hDC As Long) As Long

Parameters

Name | Explanation
hDC | The device context retrieved by the IKPrintDialog, IKPrintDlg, IKPrintCreateDC or the IKPrintCreateDCEx functions

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPrintEndDoc function ends the print job. This function should be used with the IKPrintStartDoc, IKPrintStartPage, IKPrintEndPage functions. Please refer to the sample code in the IKPrintCreateDC, IKPrintCreateDCEx, IKPrintDialog, and IKPrintDlg functions.

The differences from the ImageKit5

A new return value has been added.


IKPrintEndPage

This function ends the printing of a page and goes to the next page. This function needs to be called at the end of each page.

[C++Builder/Visual C++] BOOL IKPrintEndPage(HDC hDC);
[Delphi] function IKPrintEndPage(hDC: HDC): LongBool;
[Visual Basic] Function IKPrintEndPage(ByVal hDC As Long) As Long

Parameters

Name | Explanation
hDC | The device context retrieved by the IKPrintDlg or IKPrintCreateDC functions

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPrintEndPage function ends the printing of a page and goes to the next page. This function is used with the IKPrintStartDoc, IKPrintStartPage, and IKPrintEndDoc functions. Please refer to the sample code in the IKPrintCreateDC, IKPrintCreateDCEx, IKPrintDialog, and IKPrintDlg functions.

The differences from the ImageKit5

A new return value has been added.


IKPrintGetArrayNum

This function retrieves the number of elements in the array that will be returned when a supported item is retrieved from the printer specified by the printer name.

[C++Builder/Visual C++] int IKPrintGetArrayNum(LPCTSTR PrinterName, short CapNo);
[Delphi] function IKPrintGetArrayNum(PrinterName: PChar; CapNo: Smallint): Integer;
[Visual Basic] Function IKPrintGetArrayNum(ByVal PrinterName As String, ByVal CapNo As Integer) As Long

Parameters

Name | Explanation
PrinterName | The printer name
CapNo | The type of item retrieved (0: Paper size, 1: Paper tray, 2: Resolution)

Return Value

Returns the number of retrieved items. Returns 0 if unsuccessful.

Explanation

The IKPrintGetArrayNum function retrieves the number of elements in the array that will be returned when a supported item is retrieved from the printer specified by the printer name. The IKEnumPaperSizes, IKEnumPaperBins, and IKEnumResolutions functions pass arrays as parameters and the IKPrintGetArrayNum function can be used to find out how many elements are contained in those arrays.

Sample Code:

(1)C++Builder/Visual C++

int Size;

LPPOINT Resolutions;

Size := IKPrintGetArrayNum("EPSON LP-8200C", 2);

if (Size < 1) return;

Resolutions = (LPPOINT)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(POINT) * Size);

__try {

IKEnumResolutions("EPSON LP-8200C", Resolutions);

// Enter your processing code here... ..

..........

..........

} __finally {

HeapFree(GetProcessHeap(), 0, Resolutions);

}

(2)Delphi

Size: Integer;

Resolutions: array of TPoint;

Size := IKPrintGetArrayNum('EPSON LP-8200C', 2);

if Size < 1 then Exit;

SetLength(Resolutions, Size);

IKEnumResolutions('EPSON LP-8200C', Resolutions[0]);

// Enter your processing code here... ..

..........

..........

(3)Visual Basic

Dim Size As Long

Dim Resolutions() As IKPOINT

Size = IKPrintGetArrayNum("EPSON LP-8200C", 2)

If Size < 1 Then Exit Sub

ReDim Resolutions(Size)

Call IKEnumResolutions("EPSON LP-8200C", Resolutions(0))

'Enter your processing code here... ..

..........

..........


IKPrintStartDoc

This function starts the print job.

[C++Builder/Visual C++] BOOL IKPrintStartDoc(HDC hDC, HWND hWnd, LPCTSTR Caption, LPCTSTR Message, LPCTSTR ButtonName, LPCTSTR DocName);
[Delphi] function IKPrintStartDoc(hDC: HDC; hWnd: HWND; Caption, Message, ButtonName, DocName: PChar): LongBool;
[Visual Basic] Function IKPrintStartDoc(ByVal hDC As Long, ByVal hWnd As Long, ByVal Caption As String, ByVal Message As String, ByVal ButtonName As String, ByVal DocName As String) As Long

Parameters

Name | Explanation
hDC | The device context retrieved by the IKPrintCreateDC, IKPrintCreateDCEx, IKPrintDialog, and IKPrintDlg functions.
hWnd | The window handle
Caption | The caption in the Cancel Printing dialog
Message | The message displayed in the center of the Cancel Printing dialog
ButtonName | The button name in the Cancel Printing dialog
DocName | The name of the document to be printed

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPrintStartDoc function starts the print job. If the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. This function should be used with the IKPrintStartPage, IKPrintEndPage, and IKPrintEndDoc functions. Please refer to the sample code in the IKPrintCreateDC, IKPrintCreateDCEx, IKPrintDialog, and IKPrintDlg functions.

The differences from the ImageKit5

Function Name | Parameters
IK5PrintStartDoc: | hWnd, Caption, Message, ButtonName, PrintFileName
IKPrintStartDoc: | hDC, hWnd, Caption, Message, ButtonName, DocName

In the ImageKit5 the name of the document to be printed was taken from the Message parameter. In the ImageKit10, the name of the document to be printed is provided by the DocName parameter.

In the ImageKit5, the device context was returned, but in the ImageKit10 whether this function is successful or not is returned. In the ImageKit10 the IKPrintCreateDC, IKPrintCreateDCEx, IKPrintDialog, and IKPrintDlg functions can be used to retrieve the device context.


IKPrintStartPage

This function starts the printing of a page.

[C++Builder/Visual C++] BOOL IKPrintStartPage(HDC hDC);
[Delphi] function IKPrintStartPage(hDC: HDC): LongBool;
[Visual Basic] Function IKPrintStartPage(ByVal hDC As Long) As Long

Parameters

Name | Explanation
hDC | The device context retrieved by the IKPrintCreateDC, IKPrintCreateDCEx, IKPrintDialog, and IKPrintDlg functions

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKPrintStartPage function starts the printing of a page. This function is used with the IKPrintStartDoc, IKPrintEndPage, and IKPrintEndDoc functions. Please refer to the sample code in the IKPrintCreateDC, IKPrintCreateDCEx, IKPrintDialog, and IKPrintDlg functions.


IKRectangle

This function draws a rectangle in the designated object (screen, printer, image data).

[C++Builder/Visual C++] BOOL IKRectangle(LPVOID DeviceValue, LPRECT PrintRect, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);
[Delphi] function IKRectangle(DeviceValue: THandle; var PrintRect: TRect; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKRectangle(ByVal DeviceValue As Long, PrintRect As IKRECT, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
PrintRect | Structure containing the coordinates of points for the rectangle
DrawInfo | Structure whose members set the drawing information
DeviceMode | The designated object where the rectangle is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKRectangle function draws a rectangle in the designated object (screen, printer, image data). The PrintRect member variables define the coordinates specifying the rectangle. The outline of the rectangle is drawn from the value set in the PenStyle member variable of the DrawInfo structure and the rectangle is filled by the value set in the BrushStyle member variable. When drawing a rectangle, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, Transparent and BackColor member variables also be set. The BackColor is enabled when the Transparent is set to False and the pen is set to draw lines other than solid lines or the brush is set to draw hatch pattern.

This function can draw in the following designated objects: screen, printer, and image data.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the PrintRect member variables are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the PrintRect member variables are in 0.1mm units.

The differences from the ImageKit5

Name | Explanation
IK5Rectangle: | DeviceValue, PrintRect, PrintInfo
IKRectangle: | DeviceValue, PrintRect, DrawInfo, DeviceMode

PrintInfo and DrawInfo structures are different, however the member variables in PrintInfo are used in the same way in DrawInfo. If you set the Transparent parameter to True and then set the DeviceMode parameter to the value that you used in the ImageKit5 IKSetDeviceMode, then there is no difference between this function in the ImageKit10 and the ImageKit5.

The differences from the ImageKit6

BackColor has been added. If you set the Transparent parameter to True, there is no difference between this function in the ImageKit10 and the ImageKit6.


IKReleaseDevModeHandle

This function frees the handle to the DEVMODE and DEVNAMES structures.

[C++Builder/Visual C++] BOOL IKReleaseDevModeHandle(HANDLE hDevMode);
[Delphi] function IKReleaseDevModeHandle(hDevMode: THandle): LongBool;
[Visual Basic] Function IKReleaseDevModeHandle(ByVal hDevMode As Long) As Long

Parameters

Name | Explanation
hDevMode | The handle of the DEVMODE and DEVNAMES structures retrieved by the IKGetDevModeHandle, IKGetDevModeHandleEx, IKPrintDialog functions

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKReleaseDevModeHandle function frees the handle to the DEVMODE and DEVNAMES structures. Execute this function when the handle of DEVMODE structure and DEVNAMES structure is no longer needed. If successful, the memory occupied by hDevMode will be released.


IKReleaseDevModeHandleEx

This function frees the handle to the DEVMODE and DEVNAMES structures.

[C++Builder/Visual C++] BOOL IKReleaseDevModeHandleEx(HANDLE hDevMode, HANDLE hDevNames);
[Delphi] function IKReleaseDevModeHandleEx(hDevMode, hDevNames: THandle): LongBool;
[Visual Basic] Function IKReleaseDevModeHandleEx(ByVal hDevMode As Long, ByVal hDevNames As Long) As Long

Parameters

Name | Explanation
hDevMode | The handle of the DEVMODE structure retrieved by the IKGetDevModeHandle, IKGetDevModeHandleEx, IKPrintDialog functions
hDevNames | The handle of the DEVNAMES structure retrieved by the IKGetDevModeHandleEx and the IKPrintDialog functions

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKReleaseDevModeHandle function frees the handle to the DEVMODE and DEVNAMES structures. Execute this function when the handle of DEVMODE structure and DEVNAMES structure is no longer needed. If successful, the memory occupied by hDevMode will be released.

If hDevNames is NULL or 0, the behavior is the same as IKReleaseDevModeHandle.


IKRoundRect

This function draws a rounded rectangle in the designated object (screen, printer, image data).

[C++Builder/Visual C++] BOOL IKRoundRect(LPVOID DeviceValue, LPRECT PrintRect, int x, int y, PTR_IKPRINT_DRAWINFO DrawInfo, BYTE DeviceMode);
[Delphi] function IKRoundRect(DeviceValue: THandle; var PrintRect: TRect; x, y: Integer; var DrawInfo: IKPRINT_DRAWINFO; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKRoundRect(ByVal DeviceValue As Long, PrintRect As IKRECT, ByVal x As Long, ByVal y As Long, DrawInfo As IKPRINT_DRAWINFO, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
PrintRect | Structure containing the coordinates of points for the rounded rectangle
x,y | The height and width of the arc used to round the rectangles corners
DrawInfo | Structure whose members set the drawing information
DeviceMode | The designated object where the rectangle is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKRoundRect function draws a rounded rectangle in the designated object (screen, printer, image data). The PrintRect member variables define the coordinates specifying the rounded rectangle. The corners of the rounded rectangle are rounded according to the arc defined in the x and y parameters. The outline of the rounded rectangle is drawn from the value set in the DrawInfo structure's PenStyle member variable and the rounded rectangle is filled by the value set in the BrushStyle member variable. When drawing a rounded rectangle, it is recommended that the PenWidth, PenMode, PenColor, BrushColor, Transparent and BackColor member variables also be set. The BackColor is enabled when the Transparent is set to False and the pen is set to draw lines other than solid lines or the brush is set to draw hatch pattern.

This function can draw in the following designated objects: screen, printer, and image data.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the PrintRect member variables are in pixel units.

If the DeviceMode parameter is 1 (the designated object is the printer) then the PrintRect member variables are in 0.1mm units.

The differences from the ImageKit5

Name | Explanation
IK5RoundRect: | DeviceValue, PrintRect, x, y, PrintInfo
IKRoundRect: | DeviceValue, PrintRect, x, y, DrawInfo, DeviceMode

PrintInfo and DrawInfo structures are different, however the member variables in PrintInfo are used in the same way in DrawInfo. If you set the Transparent parameter to True and then set the DeviceMode parameter to the value that you used in the ImageKit5 IKSetDeviceMode, then there is no difference between this function in the ImageKit10 and the ImageKit5.

The differences from the ImageKit6

BackColor has been added. If you set the Transparent parameter to True, there is no difference between this function in the ImageKit10 and the ImageKit6.


IKSaveDevModeHandle

This function saves the handle to the DEVMODE structure into the file specified by the PrintFileName parameter.

[C++Builder/Visual C++] BOOL IKGetDevModeHandle(LPCTSTR PrinterName, HANDLE hDevMode);
[Delphi] function IKGetDevModeHandle(PrinterName: PChar; hDevMode: THandle) LongBool;
[Visual Basic] Function IKGetDevModeHandle(ByVal PrinterName As String, ByVal hDevMode As Long) As Long

Parameters

Name | Explanation
PrintFileName | The filename of the file containing the printer settings to be saved
hDevMode | The handle of the DEVMODE structure retrieved by the IKGetDevModeHandle, IKGetDevModeHandleEx, and IKPrintDialog functions

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKSaveDevModeHandle function saves the handle to the DEVMODE structure into the file specified by the PrintFileName parameter. The file format of the file is the same as that saved by the IKSetPrint function. The saved file can be used by the IKGetDevModeHandle, IKGetDevModeHandleEx, IKPrintCreateDC, IKPrintCreateDCEx, and the IKSetPrint functions. For more information about the DEVMODE structure, please refer to WindowsAPI or related manuals.


IKSaveDevModeHandleEx

This function saves the handle to the DEVMODE structure and the DEVNAMES structure into the file specified by the PrintFileName parameter.

[C++Builder/Visual C++] BOOL IKSaveDevModeHandleEx(LPCTSTR PrintFileName, HANDLE hDevMode, HANDLE hDevNames);
[Delphi] function IKSaveDevModeHandleEx(PrintFileName: PChar; hDevMode, hDevNames: THandle): LongBool;
[Visual Basic] Function IKSaveDevModeHandleEx(ByVal PrintFileName As String, ByVal hDevMode As Long, ByVal hDevNames As Long) As Long

Parameters

Name | Explanation
PrintFileName | The filename of the file containing the printer settings to be saved
hDevMode | The handle of the DEVMODE structure retrieved by the IKGetDevModeHandle, IKGetDevModeHandleEx, IKPrintDialog functions
hDevNames | The handle of the DEVNAMES structure retrieved by the IKGetDevModeHandle and IKPrintDialog functiona

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKSaveDevModeHandleEx function saves the handle to the DEVMODE structure and the DEVNAMES structure into the file specified by the PrintFileName parameter. The file format of the file is the same as that saved by the IKSetPrint function. The saved file can be used by the IKGetDevModeHandle, IKGetDevModeHandleEx, PrintCreateDC, IKPrintCreateDCEx, and the IKSetPrint functions. If hDevNames is NULL or 0, the behavior is the same as IKSaveDevModeHandle.

For details on the DEVMODE structure and DEVNAMES structure, see books related to Windows API.


IKSetDefaultPrinter

This function sets the default printer.

[C++Builder/Visual C++] DWORD IKGetDefaultPrinter(LPCTSTR PrinterName);
[Delphi] function IKGetDefaultPrinter(PrinterName: PChar): DWORD;
[Visual Basic] Function IKGetDefaultPrinter(ByVal PrinterName As String) As Long

Parameters

Name | Explanation
PrinterName | The printer name

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKSetDefaultPrinter function sets the printer specified in the PrinterName parameter as the default printer. This function can be used to set a printer, registered in the Windows Printer folder, as the default printer. To get a list of the installed printers, execute the IKEnumPrinters function.


IKSetDevModeInfo

This function updates the contents referred to by the handle of the DEVMODE structure.

[C++Builder/Visual C++] BOOL IKSetDevModeInfo(HANDLE hDevMode, PTR_IKPRINT_DEVMODEINFO DevModeInfo);
[Delphi] function IKSetDevModeInfo(hDevMode: THandle; var DevModeInfo: IKPRINT_DEVMODEINFO): LongBool;
[Visual Basic] Function IKSetDevModeInfo(ByVal hDevMode As Long, DevModeInfo As IKPRINT_DEVMODEINFO) As Long

Parameters

Name | Explanation
hDevMode | The handle of the DEVMODE structure as retrieved by the IKGetDevModeHandle or IKGetDevModeHandleEx functions
DevModeInfo | A structure (user-defined type) whose member variables contain the retrieved printer information

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKSetDevModeInfo function updates the DEVMODE structure by passing the information set in the DevModeInfo to the handle of the DEVMODE structure. If each of the member variables of DevModeInfo are set to 0 then the update will have no affect. (Except for the Collate member variable). Note: These settings are dependent upon the printer driver. Because of this, it is possible that some of the settings will have no affect or an affect different than expected. For details about the printer driver and its settings, please refer to the printer manufacturer's manual. For more information about the DEVMODE structure please refer to WindowsAPI. For details about the IKPRINT_DEVMODEINFO structure, please refer to the definition of the structure in the Ik10Print.dll, Ik10PrintA.dll, Ik10Print64.dll, Ik10Print64A.dll section.

Sample Code:

(1)C++Builder/Visual C++

HANDLE hDevMode;

IKPRINT_DEVMODEINFO DevModeInfo;

BOOL Ret;

HDC hDC;

hDevMode = IKGetDevModeHandle("EPSON LP-8200C", NULL);

if (!hDevMode) return;

Ret = IKGetDevModeInfo(hDevMode, &DevModeInfo);

if (DevModeInfo.Copies != 3)

DevModeInfo.Copies = 3; //sets the number of copies to 3

Ret = IKSetDevModeInfo(hDevMode, &DevModeInfo);

hDC = IKPrintCreateDC(NULL, NULL, hDevMode, 2);

if (hDC)

{

//print...

Ret = IKPrintDeleteDC(hDC);

}

Ret = IKReleaseDevModeHandle(hDevMode);

(2)Delphi

hDevMode: THandle;

DevModeInfo: IKPRINT_DEVMODEINFO;

Ret: LongBool;

DC: HDC;

hDevMode := IKGetDevModeHandle('EPSON LP-8200C', nil);

if hDevMode = 0 then Exit;

Ret := IKGetDevModeInfo(hDevMode, DevModeInfo);

if DevModeInfo.Copies <> 3 then

DevModeInfo.Copies := 3; //sets the number of copies to 3

Ret := IKSetDevModeInfo(hDevMode, DevModeInfo);

DC := IKPrintCreateDC(nil, nil, hDevMode, 2);

if DC <> 0 then

begin

//print...

Ret := IKPrintDeleteDC(DC);

end;

Ret := IKReleaseDevModeHandle(hDevMode);

(3)Visual Basic

Dim hDevMode As Long

Dim DevModeInfo As IKPRINT_DEVMODEINFO

Dim Ret As Long

Dim hDC As Long

hDevMode = IKGetDevModeHandle("EPSON LP-8200C", vbNullString)

If hDevMode = 0 Then Exit Sub

Ret = IKGetDevModeInfo(hDevMode, DevModeInfo)

If DevModeInfo.Copies <> 3 Then

DevModeInfo.Copies = 3 'sets the number of copies to 3

End If

Ret = IKSetDevModeInfo(hDevMode, DevModeInfo)

hDC = IKPrintCreateDC(vbNullString, vbNullString, hDevMode, 2)

If hDC <> 0 Then

'print...

Ret = IKPrintDeleteDC(hDC)

End If

Ret = IKReleaseDevModeHandle(hDevMode)


IKSetPixel

This function sets a color in the specified pixel in the designated object. (screen, or image data).

[C++Builder/Visual C++] BOOL IKSetPixel(LPVOID DeviceValue, int x, int y, COLORREF Color);
[Delphi] function IKSetPixel(DeviceValue: THandle; x, y: Integer; Color:COLORREF): LongBool;
[Visual Basic] Function IKSetPixel(ByVal DeviceValue As Long, ByVal x As Long, ByVal y As Long, ByVal Color As Long) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (Depends on the DeviceMode)
x,y | The x,y coordinates of the pixel
Color | The new color of the pixel
DeviceMode | The designated object (0: Screen, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKSetPixel function sets the color specified by the Color parameter into the pixel whose coordinates are specified by the x and y parameters. To set the Color parameter, use the RGB(red, green, blue) value. If the specified color can not be accurately produced by the device, the nearest color is used.

This function can draw in the following designated objects: screen and image data.

If the DeviceMode parameter is 0 or 2 (the designated object is the screen or the image data) then the x and y parameters are in pixel units.

Note: In the Visual Basic PictureBox, please set the AutoRedraw property to True.

The differences from the ImageKit5

Function Name | Parameters
IK5SetPixel: | DeviceValue, x, y, Red, Green, Blue
IKSetPixel: | DeviceValue, x, y, Red, Green, Blue, DeviceMode

If you pass the value of the IK5SetDeviceMode to the DeviceMode parameter then there are no differences between in the IK5 and Ik10.


IKSetPrint

This function saves the settings entered in the "Print Setup" dialog.

[C++Builder/Visual C++] BOOL IKSetPrint(HWND hWnd, LPCTSTR PrintFileName);
[Delphi] function IKSetPrint(hWnd: HWND; PrintFileName: PChar): LongBool;
[Visual Basic] Function IKSetPrint(ByVal hWnd As Long, ByVal PrintFileName As String) As Long

Parameters

Name | Explanation
hWnd | The window handle
PrintFileName | The filename of the file containing the printer settings

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKSetPrint function displays the "Print Setup" dialog and allows you to set the printer settings. When the OK button in the "Print Setup" dialog is clicked, the IKSetPrint function saves these setting in a file specified by the PrintFileName parameter. At the same time, the printer name and the port are saved in another text file whose name is constructed from the value of the PrintFileName parameter + "PrnTxt". The first record in this text file is the printer name. The second record in this text file is the printer port. (The records are delimited by {CR}{LF}).

The printer settings saved in the above files are used by the IKGetDevModeHandle, IKGetDevModeHandleEx, IKPrintCreateDC, and IKPrintCreateDCEx functions.

Note: If only a file name is specified in the PrintFileName parameter and not a path, then the printer information files are saved in the current directory.


IKTextOut

This function draws text in the designated object. The text is drawn from a specified point in the designated object.(screen, printer, image data).

[C++Builder/Visual C++] BOOL IKTextOut(LPVOID DeviceValue, int x, int y, PTR_IKPRINT_TEXTINFO TextInfo, LPCSTR Text, BYTE DeviceMode);
[Delphi] function IKTextOut(DeviceValue: THandle; x, y: Integer; var TextInfo: IKPRINT_TEXTINFO; Text: PChar; DeviceMode: Byte): LongBool;
[Visual Basic] Function IKTextOut(ByVal DeviceValue As Long, ByVal x As Long, ByVal y As Long, TextInfo As IKPRINT_TEXTINFO, ByVal Text As String, ByVal DeviceMode As Byte) As Long

Parameters

Name | Explanation
DeviceValue | The device context or the raster image data (depending on the DeviceMode)
x,y | The x and y coordinates of the starting point of the text
TextInfo | Structure whose members set the drawing information
Text | The text that is drawn (the terminus is NULL)
DeviceMode | The designated object where the text is drawn (0: Screen, 1: Printer, 2: Image data)

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKTextOut function draws text in the designated object from a point specified by the x and y parameters (screen, printer, image data). It is recommended that you set the following member variables of the TextInfo structure prior to executing this function: CharSet, TextColor1, TextColor2, FontName, FontSize, Transparent, Direction, CharAngle, and RotateString. If 1 or more is set into the CharExtra member variable then the character spacing is enabled.

When the RotateString member variable is False, the CharAngle member variable is enabled for 0, 90, 180, and 270 degrees only. Any other settings for the CharAngle member variable will result in the IKTextOut function failing. When the RotateString member variable is True, the Direction member variable is disabled and the text is drawn from the x and y coordinates in the direction set in the CharAngle member variable. Note: Even if Text contains code to force a line break, this function will not output it correct. You can either seperate multiline text into single lines and execute this function multiple times or use the IKDrawText function.

If the DeviceMode parameter is 0 or 2 then x, y parameters, and the CharExtra member variable are in pixel units.

If the DeviceMode parameter is 1 then x, y parameters, and the CharExtra member variable are in 0.1mm units.

The differences from the ImageKit5

Function Name | parameters
IK5TextOut(A): | DeviceValue, x, y, PrintInfo
IKTextOut: | DeviceValue, x, y, TextInfo, Text, DeviceMode

PrintInfo and TextInfo structures are different, however the member variables in PrintInfo are used in the same way in TextInfo.

IK5PRINT_DATA --> IKPRINT_TEXTINFO
CharExtra, CharSet, RotateString, Alpha1,Alpha2, and HotkeyPrefix have been added and Text has been deleted.
TextForeColor and TextBackColor have been renamed to TextColor1 and TextColor2.

By setting PrintInfo.Text to the Text parameter; setting the value used in IK5SetDeviceMode to the DeviceMode parameter; setting the TextInfo's CharSet to -1, CharExtra to 0, HotkeyPrefix to 1; and setting TextForeColor and TextBackColor to TextColor1 and TextColor2 respectively; this function will operate the same as in the ImageKit5.

The differences from the ImageKit6

Alpha1, Alpha2, and HotkeyPrefix have been added to the IKPRINT_TEXTINFO structure, and the TextForeColor and TextBackColor have beed renamed to the TextColor1 and TextColor2. If the HotkeyPrefix is set to 1, and the TextForeColor and TextBackColor are set to TextColor1 and TextColor2, then this function is the same as in ImageKit6.


Ik10RasToVect.dll, Ik10RasToVectA.dll, Ik10RasToVect64.dll, Ik10RasToVect64A.dll

The Ik10RasToVect.dll, Ik10RasToVectA.dll, Ik10RasToVect64.dll, and Ik10RasToVect64A.dll provide basic functions for converting raster images to vector images.

Ik10RasToVect.dll, Ik10RasToVectA.dll, Ik10RasToVect64.dll, Ik10RasToVect64A.dll Functions:

Function Name | Explanation
IKRasterToVector | Converts a raster image to a vector image

User Function Definition
In Visual Basic, create the User Function using a standard module NOT a form module.

Syntax
(1)C++Builder/Visual C++ BOOL __stdcall UserProc(short Percent);
(2)Delphi function UserProc(Percent: Smallint): LongBool; stdcall;
(3)Visual Basic Function UserProc(ByVal Percent As Integer) As Long

Parameters
Name Explanation

------------------------------------------------------------------------------

Percent The percent of the current process that is completed

Return Value
When False (0) is returned the execution is terminated. When True (nonzero) is returned the execution continues.

The User Function is explained using the term "UserProc". Although any name for the User Function would be appropriate, in our example the following syntax is used to pass parameters.

(1)C++Builder/Visual C++ UserProc
(2)Delphi LONG_PTR(Addr(UserProc)) or LONG_PTR(@UserProc)
(3)Visual Basic Address Of UserProc


IKRasterToVector

This function converts a raster image to a vector image

[C++Builder/Visual C++] HANDLE IKRasterToVector(HANDLE Handle, BOOL BlackOnWhite, short Tolerance, long TimeOutSeconds, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi] function IKRasterToVector(Handle: THandle; BlackOnWhite: LongBool; Tolerance: Smallint; TimeOutSeconds, UserProc: LONG_PTR; Caption, Message, Button: PChar): THandle;
[Visual Basic] Function IKRasterToVector(ByVal Handle As Long, ByVal BlackOnWhite As Long, ByVal Tolerance As Integer, ByVal TimeOutSeconds As Long, ByVal UserProc As Long, ByVal Caption As String, ByVal Message As String, ByVal Button As String) As Long

Parameters

Name | Explanation
Handle | The image handle of the raster image
BlackOnWhite | False(0)FWhite characters on a black background, True(nonzero): Black characters on a white background
Tolerance | From 0 (high sensitivity) to 10 (low sensitivity)
TimeOutSeconds | The number of seconds before the process is canceled
UserProc | The address of the user function (set to 0 if the user function is not used)
Caption | The text displayed in the title bar of the progress dialog box
Message | The message displayed in the center of the progress dialog box
Button | The text displayed in the button in the progress dialog box

Return Value

Returns the vector image handle if successful. Returns False (0) if unsuccessful.

Explanation

The IKRasterToVector function converts a raster image to a vector image. Supports black and white (1 bit) images.

If during processing, the time exceeds the TimeOutSeconds, the process will be concelled.
When Caption, Message, and ButtonName are blank, the progress dialog will not be displayed. When the progress dialog is displayed, the percentage that the processing has completed will be shown in the dialog.
Regarding the user function, please refer to the user function definition in the Ik10RasToVect.dll, Ik10RasToVectA.dll, Ik10RasToVect64.dll, Ik10RasToVect64A.dll


Ik10Scan.dll, Ik10ScanA.dll, Ik10Scan64.dll, Ik10Scan64A.dll

The Ik10Scan.dll provides a variety of functions to retrieve images from TWAIN scan devices

Ik10Scan.dll Functions:

Function Name | Explanation
IKScanCloseDS | Closes the scan device
IKScanExec | Retrieves an image from a TWAIN scan device
IKScanFreeTwain | Frees the TWAIN DLL
IKScanGetBitDepth | Retrieves the bit depth supported by the scan device
IKScanGetCapEnum | Retrieves the possible setting values for a specified property of the scan device
IKScanGetCapRange | Retrieves the range of possible setting values for a specified functionality of the scan device
IKScanGetDSInfo | Retrieves information about the specified scan device
IKScanGetMinimumSize | Retrieves the smallest size that can be scanned with a given scan device
IKScanGetMinimumSizeEx | Retrieves the smallest size in pixels that can be scanned with a given scan device.
IKScanGetPhysicalSize | Retrieves the largest physical size that can be scanned with a given scan device
IKScanGetPhysicalSizeEx | Retrieves the largest physical size in pixels that can be scanned with a given scan device
IKScanGetPixelType | Retrieves the pixel type supported by the scan device
IKScanInitialize | Starts the TWAIN process
IKScanIsCapSupported | Confirms whether or not a functionality is supported by the scan device
IKScanList | Lists the scan devices
IKScanListLen | Retrieves the length of the scan device list
IKScanLoadTwain | Loads the TWAIN DLL
IKScanOpenDS | Opens the scan device
IKScanSelect | Selects the scan device
IKScanTerminate | Ends the TWAIN process

Basic flow of the scan process

[IKScanLoadTwain]
|
IKScanInitialize (required)
|
IKScanGetDSInfo, IKScanList, IKScanListLen, IKScanSelect
|
[IKScanOpenDS]
|
IKScanGetBitDepth, IKScanGetCapEnum, IKScanGetCapRange, IKScanGetPhysicalSize(Ex) IKScanGetPixeltype, IKScanGetMinimumSize(Ex), IKScanIsCapSupported
|
IKScanExec
|
[IKScanCloseDS]
|
IKScanTerminate (required)
|
[IKScanFreeTwain]

Note:
The function pairs IKScanLoadTwain/IKScanFreeTwain and IKScanOpenDS/IKScanCloseDS are in brackets [ ] to emphasize the fact that although it is not necessary to execute these methods, if they are used they must be used in pairs. Do not use IKScanLoadTwain without later using IKScanFreeTwain. Do not use IKScanOpenDS without later using IKScanCloseDS. Aside from IKScanLoadTwain/IKScanFreeTwain which loads and unloads the TWAIN DLL and IKScanInitialize/IKScanTerminate which starts and ends the scan process, the other scan functions can be used at any time. (Of course, IKScanFreeTwain should not be used after IKScanLoadTwain and IKScanOpenDS should not be used after IKScanCloseDS)

Structure definitons and explanations (User-defined types)

IKSCAN_DATASOURCEINFO: This structure refers to the TWAIN datasource
                information

(1)C++Builder/Visual C++
typedef struct {
WORD     ProtocolMajor;
WORD     ProtocolMinor;
char
                Manufacturer[34];
WORD     ManufacturerLen;
char
                ProductFamily[34];
WORD     ProductFamilyLen;
char
                ProductName[34];
WORD     ProductNameLen;
WORD     SourceMajor;
WORD     SourceMinor;
char
                SourceVersionInfo[34];
WORD     SourceVersionInfoLen;
} IKSCAN_DATASOURCEINFO;
typedef IKSCAN_DATASOURCEINFO *
                PTR_IKSCAN_DATASOURCEINFO;

(2)Delphi

type
IKSCAN_DATASOURCEINFO = Record
ProtocolMajor: Word;
ProtocolMinor: Word;
Manufacturer: array[0..33] of Char;
ManufacturerLen: Word;
ProductFamily: array[0..33] of Char;
ProductFamilyLen: Word;
ProductName: array[0..33] of Char;
ProductNameLen: Word;
SourceMajor: Word;
SourceMinor: Word;
SourceVersionInfo: array[0..33] of Char;
SourceVersionInfoLen: Word;
end;

(3)Visual Basic
Type IKSCAN_DATASOURCEINFO
ProtocolMajor As Integer
ProtocolMinor As Integer
Manufacturer As String * 34
ManufacturerLen As Integer
ProductFamily As String * 34
ProductFamilyLen As Integer
ProductName As String * 34
ProductNameLen As Integer
SourceMajor As Integer
SourceMinor As Integer
SourceVersionInfo As String * 34
SourceVersionInfoLen As Integer
End Type

ProtocolMajor: Refers to the TWAIN major version supported by the datasource
ProtocolMinor: Refers to the TWAIN minor version supported by the datasource
Manufacturer: Refers to the scan device manufacturer's name
ManufacturerLen: Refers to the length of the string in Manufacturer *1
ProductFamily: Refers to the product family name
ProductFamilyLen: Refers to the length of the string in ProductFamily *1
ProductName: Refers to the scan device product name
ProductNameLen: Refers to the length of the string in ProductName *1
SourceMajor: Refers to the major version of the scan device
SourceMinor: Refers to the minor version of the scan device
SourceVersionInfo: Refers to the version information of the scan device
SourceVersionInfoLen: Refers to the length of the string in SourceVersionInfo *1

*1 - Has been converted from 4 byte type to 2 byte type which is relevant when converting from the ImageKit6

IKSCAN_EXEC: The member variables of this structure are set when the image is scanned.

(1)C++Builder/Visual C++
typedef struct {
WORD seSize;
WORD PixelType;
float Left;
float Top;
float Right;
float Bottom;
long XResolution;
long YResolution;
float XScaling;
float YScaling;
WORD BitDepth;
short Brightness;
short Contrast;
float Gamma;
short Highlight;
short Threshold;
short Shadow;
short Indicator;
short ScanMode;
LPSTR ScanDsName;
WORD UiMode;
WORD UnitMode;
WORD UnitFlag;
short PageCount;
WORD Orientation;
WORD TransferMode;
WORD Compression;
WORD PaperSize;
WORD BitDepthReduction;
LPSTR HalfTone;
WORD FileFormat;
short JpegQuality;
LPSTR FileName;
WORD ImageFilter;
WORD NoiseFilter;
WORD DropoutColor;
WORD BorderDetection;
WORD Deskew;
WORD ScanningSpeed;
WORD MoireFilter;
WORD Sharpness;
WORD RotateBack;
WORD ExtUiMode;
WORD DynamicThreshold;
float ColorBWRatio;
WORD IgnoreBackColor;
WORD OverScan;
long SkipBlankPage;
float SkipBlankThreshold;
WORD RemoveHole;
WORD AdjustGamma;
short FocusPosition;
long Rotation;
LPTSTR InformationFileName;
short TextEnhancement;
WORD ImageMerge;
WORD Border;
short BorderColor;
WORD AutoBright;
} IKSCAN_EXEC;
typedef IKSCAN_EXEC * PTR_IKSCAN_EXEC;

(2)Delphi

type
IKSCAN_EXEC = Record
seSize: Word;
PixelType: Word;
Left: Single;
Top: Single;
Right: Single;
Bottom: Single;
XResolution: Longint;
YResolution: Longint;
XScaling: Single;
YScaling: Single;
BitDepth: Word;
Brightness: Smallint;
Contrast: Smallint;
Gamma Single;
Highlight: Smallint;
Threshold: Smallint;
Shadow: Smallint;
Indicator: WordBool;
ScanMode: Smallint;
ScanDsName: PChar;
UiMode: Word;
UnitMode: Word;
UnitFlag: Word;
PageCount: Smallint;
Orientation: Word;
TransferMode: Word;
Compression: Word;
PaperSize: Word;
BitDepthReduction: Word;
HalfTone: PChar;
FileFormat: Word;
JpegQuality: Smallint;
FileName: PChar
ImageFilter: Word;
NoiseFilter: Word;
DropoutColor: Word;
BorderDetection: Word;
Deskew: Word;
ScanningSpeed: Word;
MoireFilter: Word;
Sharpness: Word;
RotateBack: Word;
DynamicThreshold: Word;
ColorBWRatio: Single;
IgnoreBackColor: Word;
OverScan: Word;
SkipBlankPage: Longint;
SkipBlankThreshold: Single;
RemoveHole: Word;
AdjustGamma: Word;
FocusPosition: Smallint;
Rotation: Longint;
InformationFileName: PChar;
TextEnhancement: Smallint;
ImageMerge: Word;
Border: Word;
BorderColor: Smallint;
AutoBright: Word;
end;

(3)Visual Basic

Type IKSCAN_EXEC
seSize As Integer
PixelType As Integer
Left As Single
Top As Single
Right As Single
Bottom As Single
XResolution As Long
YResolution As Long
XScaling As Single
YScaling As Single
BitDepth As Integer
Brightness As Integer
Contrast As Integer
Gamma As Single
Highlight As Integer
Threshold As Integer
Shadow As Integer
Indicator As Integer
ScanMode As Integer
ScanDsName As String
UiMode As Integer
UnitMode As Integer
UnitFlag As Integer
PageCount As Integer
Orientation As Integer
TransferMode As Integer
Compression As Integer
PaperSize As Integer
BitDepthReduction As Integer
HalfTone As String
FileFormat As Integer
JpegQuality As Integer
FileName As String
ImageFilter As Integer
NoiseFilter As Integer
DropoutColor As Integer
BorderDetection As Integer
Deskew As Integer
ScanningSpeed As Integer
MoireFilter As Integer
Sharpness As Integer
RotateBack As Integer
DynamicThreshold As Integer
ColorBWRatio As Single
IgnoreBackColor As Integer
OverScan As Integer
SkipBlankPage As Long
SkipBlankThreshold As Single
RemoveHole As Integer
AdjustGamma As Integer
FocusPosition As Integer
Rotation As Long
InformationFileName As String
TextEnhancement As Integer
ImageMerge As Integer
Border As Integer
BorderColor As Integer
AutoBright As Integer
End Type

seSize: Sets the size of the IKSCAN_EXEC structure
In C++Builder and Visual C++, use the sizeof operator. In Delphi, use the SizeOf function and in Visual Basic, use the LenB function. When 0 is set in seSize, IKSCAN_EXEC includes members through AutoBright.

PixelType: Sets the type of image scanned.
0: Black and White (1bit)
1: Grayscale (4bit, 8bit, 12bit, 14bit, or 16bit)
2: RGB color (24bit, 36bit, 42bit, or 48bit)
3: Palette color (4bit, 8bit)
1000: AutoDetect Black & white/Color (1 bit, 24 bit)
1001: Black & white and grayscale (1bit and 8bit)
1002: Black & white and RGB color (1bit and 24bit)

If UiMode is any value other than 2 or if a digital camera is used then PixelType is disabled. The possible setting values supported by a scan device can be retrieved using the IKScanGetCapEnum function. 1000 is only enabled for certain Panasonic scan drivers (with memory transfer only uncompressed format) or certain Canon DR scan drivers. 1001 and 1002 are enabled for certain Canon DR scanners, Panasonic scanners (memory transfer uncompressed only), PFU scanners, and Epson scanners. Use the IKScanIsCapSupported to test whether or not these are supported by the scan driver.

Left, Top, Right, and Bottom: Set the scanning position in units specified by UnitMode (0: inches, 1: cm, 5: pixels).
To use the default values of the datasource, set these to 0. Once the scan has executed, the actual values for Left, Top, Right, and Bottom will be returned in units specified by UnitMode. When UiMode is set to values other than 2 or PaperSize is set to values other than 0, or a digital camera is being used, then Left, Top, Right, and Bottom are disabled.

XResolution, YResolution: Sets the horizontal and vertical resolution (DPI)
To use the default values of the datasource, set XResolution and YResolution to -1. XResolution and YResolution are disabled for UiMode values other than 2 or when a digital camera is used. The IKScanGetCapEnum and IKScanGetCapRange functions can be used to retrieve the resolution value or range of values supported by the scan device.

Note: Although it is possible to set different values for the horizontal and vertical resolution, some datasources (scanner drivers) do not support different values for horizontal and vertical resolution. In such cases, either the horizontal resolution or the vertical resolution will be enabled. To retrieve the actual resolution, refer to the those values within the BeforeScanProc function or refer to the member variables after executing the IKScanExec function.

XScaling, YScaling: Sets the horizontal and vertical scaling (Default value is 1.0)
When scanning in actual size set these values to 1.0. XScaling and YScaling are disabled for UiMode values other than 2, when a digital camera is used, or when the scan device does not support scaling. The IKScanGetCapEnum and IKScanGetCapRange functions can be used to retrieve the scaling values or range of values supported by the scan device.

Note: Although it is possible to set different values for horizontal and vertical scaling some datasources (scan drivers) do not support this. In such cases, either the horizontal scaling value or the vertical scaling value will be used.

BitDepth: Sets the number of bits per pixel (1, 4, 8, 12, 14, 16, 24, 36, 42, or 48)
When scanning in 12, 14, 16, 36, 42, or 48 bit color, please set the TransferMode to 2. If you get an error regardless of the value supported by the datasource, set this to 0. When BitDepth is set to 0 the default value for a given PixelType will be used. BitDepth is disabled for UiMode values other than 2 or when a digital camera is used.

Brightness: Sets the brightness (values range from -1000 to 1000, default value is 0)

Contrast: Sets the contrast (values range from -1000 to 1000, default value is 0)

When using Canon DR scan drivers and PixelType is 0, BitDepthReduction is 0, and TextEnhancement is 1 or more, the Contrast values range from 1 to 255 (default value 128). When using PFU scan drivers and PixelType is 1000, 1001, or 1002, the Contrast values range from -127 to 127 (default value 0).

If the PixelType is 0 then depending on the value of BitDepthReduction, Brightness and Contrast value may be ineffective. See below:

Brightness is enabled
When PixelType = 0 and the BitDepthReduction = 0(*) or 1
When PixelType = 1, 2, or 3

Contrast is enabled
When PixelType = 0 and the BitDepthReduction = 1
When the PixelType = 1, 2, or 3

(*) This is only for scan devices that do not support Threshold and use uses Brightness instead.

Brightness and Contrast are disabled for UiMode values other than 2, when a digital camera is used, or when the scan device does not support these functions. The IKScanGetCapEnum and IKScanGetCapRange functions can be used to retrieve the values or range of values supported by the scan device.

Gamma: Sets the gamma correction (Default value is 2.2)
Gamma is disabled for UiMode values other than 2, when a digital camera is used, or when the scan device does not support this function. The IKScanGetCapEnum and IKScanGetCapRange functions can be used to retrieve the Gamma values or range of values supported by the scan device.

Highlight: Sets the highlight (Values range from 0 to 255, Default value is 255)
Highlight is enabled when PixelType is 1 or more. Highlight is disabled for UiMode values other than 2, when a digital camera is used, or when the scan device does not support this function. The IKScanGetCapEnum and IKScanGetCapRange functions can be used to retrieve the Highlight values or range of values supported by the scan device.

Threshold: Sets the threshold value (Values range from 0 to 255, Default value is 128)
Threshold is enabled when PixelType is 0 and BitDepthReduction is 0. For scan devices that use brightness instead of threshold, the Brightness property value will be used. Threshold is disabled for UiMode values other than 2, when a digital camera is used, or when the scan device does not support this function. The IKScanGetCapEnum and IKScanGetCapRange functions can be used to retrieve the Threshold values or range of values supported by the scan device.

Shadow: Sets the shadow (Values range from 0 to 255, Default value is 0)
Shadow is enabled when PixelType is 1 or more. Shadow is disabled for UiMode values other than 2, when a digital camera is used, or when the scan device does not support this function. The IKScanGetCapEnum and IKScanGetCapRange functions can be used to retrieve the Shadow values or range of values supported by the scan device.

Indicator: Sets whether or not the indicator is displayed when scanning
0: Indicator is not displayed, Nonzero: Indicator is displayed

Indicator is disabled for UiMode values other than 2 or when a digital camera is used.

ScanMode: Sets the scanning mode
For Scanners - 0: Document plate (transmissive or reflective), 1: ADF Single Sided (transmissive or reflective), 2: ADF Double Sided (Duplex) (transmissive or reflective), 7: Positive film, using film holder, 8: Positive film, using film area guide;

For Digital Cameras - 3: The original images in the digital camera, 4: The original images in the digital camera (using an array), 5: The thumbnail images in the digital camera, 6: The thumbnail images in the digital camera (using an array), 100: Manufacturer provided UI using settings from information file.

ScanMode is disabled for UiMode values other than 2. When ScanMode is 4 or 6, the array values passed to the IKScanExec function are enabled, otherwise these array values are disabled. To preserve compatiblilty with the ImageKit5, when ScanMode is set to 1 and the XResolution property is set to 0, the original images in the digital camera can be retrieved. Values of 7 and 8 are enabled for certain Epson scanners. Value 8 can only be used with devices that support film area guide. For value 100, be sure to set the path to the information file in the InformationFileName.
Note: Even if the scan device being used supports duplex scanning, there are cases where duplex scanning does not operate properly when the user interface is suppressed (UiMode=2)

ScanDsName: Sets the name of the scan device.
If ScanDsName is not set or is NULL, the scan device selected by the IKScanSelect function will be used. ScanDsName is disabled if IKScanOpenDS is used.

UiMode: Sets the user interface used when scanning.
0: UI is displayed but not closed after scanning is completed, 1: UI is displayed and closed after scanning is completed, 2: UI is suppressed (Custom-built interface is used), 3: UI is displayed and values set but scanning is not performed. To check whether this capability is supported, use the IKScanIsCapSupported function

UnitMode: Sets the units of measurement when scanning with a custom built user interface
0: Inches, 1: Centimeter, 2: Pica, 3: Point 4: Twip, 5: Pixel, 6: Millimeter

When UnitFlag is 0, the scan device must support the unit of measurement set in UnitMode. UnitMode is disabled for UiMode values other than 2, however when scanning the units of measurement are returned. The IKScanGetCapEnum function can be used to retrieve the UnitMode values supported by the scan device.

UnitFlag: Sets whether the scan units are determined by the scan device or by the ImageKit.
(0: datasource function is used to determine the scan units, 1: ImageKit determines the scan units). Set UnitFlag to 1 when you want to use a unit of measurement that the scan device does not support or when PaperSize is 0 and Left, Top, Right, and Bottom are set but the scan is not correct or the scan area is not enabled, etc. UnitFlag is enabled when the UiMode property is 2.

Note: When XResolution and YResolution are both -1 (use scan device default value) and the UnitMode property is 5, the UnitFlag property is disabled.

PageCount: Sets the number of images to be scanned
To scan all of the images in the ADF or digital camera, set PageCount to 0 or less. To specify the number of images to be scanned, set that number in PageCount. When retrieving images from a digital camera using an array, set PageCount to be the same as the number of elements in the array. When ScanMode is 2 (ADF duplex), even if an odd number is set into PageCount, the number of pages scanned will be an even number (so as to scan both sides of the paper). PageCount is disabled when the UiMode is NOT 2 or when using the document plate to scan.

When PixelType is 1001 or 1002, in order to scan one page with two images, set an even number in PageCount. When the PixelType is set to 1001 or 1002, for each page, two images are scanned so you should set the PageCount to an even number. For example, when scanning both sides of a single page using PixelType set to 1001 or 1002, then set the PageCount to values of 0 or less or to 4. When using Panasonic scan drivers with the PixelType property is set to 1001 or 1002, set the PageCount to 0 or less (1 or more is ignored).

Note: Not all scan devices support this functionality. In some cases where the scan device does not support this function or does not correctly support this function, after the number of images specified by PageCount have been scanned, the scanning procedure is canceled. Depending on the type of equipment, paper could be left inside the scan device or ADF.

Orientation: Sets the orientation of the paper
0: 0 degrees (protrait orientation), 1: 90 degrees, 2: 180 degrees, 3: 270 degrees (landscape orientation), 1000: Text orientation detection or automatic rotation; Rotation is counter-clockwise.

Orientation is disabled for UiMode values other than 2, or when a digital camera is used. The IKScanGetCapEnum function can be used to retrieve the Orientation values supported by the scan device. Orientation allows you to do things like rotate the scan output from the document plate or scan pages from an ADF where the pages are inserted "on their side" etc. When Orientation is set to 1000, the orientation of the text contained in the document is recognized and the scan output is rotated in 90 degree increments to "correct" the text orientation. Canon DR scan drivers use "text orientation recognition". Panasonic scan drivers use "document orientation adjustment". Scan drivers that support TWAIN specification's "automatic rotation" also use the value of 1000. To check whether or not the scan driver supports 1000, use the IKScanIsCapSupported. With a scan driver that supports 1000, if the output is not appropriate, please set the paper to portrait orientation.

TransferMode: Sets the method of image transfer
0: Native (transferred as DIB), 1: File, 2: Memory (Transferred in block units), 3: File2 (NOT SUPPORTED BY THE IMAGEKIT)

The IKScanGetCapEnum function can be used to retrieve the TransferMode values supported by the scan device.

Compression: Sets the compression format when using file or memory transfer (TransferMode = 1 or 2)

0: UNCOMPRESSED, 1: PACKBITS, 2: GROUP3-1D, 3: GROUP3-1DEOL, 4: GROUP3-2D, 5: GROUP4, 6: JPEG, 7: LZW, 8: JBIG, 9: PNG, 10: RLE4, 11: RLE8, 12: BITFIELDS (2,3,4,5 are FAX[CCITT] format; 10,11,12 are BMP format)

When scanning with a custom built user interface (when suppressing the scan driver's user interface), be sure to set appropriate values for PixelType and BitDepth. For example Tiff Group 3 or 4 compression images must be 1 bit color, JPEG images must be either 8 bit grayscale or 24 bit color.

The IKScanGetCapEnum function can be used to retrieve the Compression values supported by the scan device.

Note: Depending on the scan device, only uncompressed format can be used with file transfer.

PaperSize: Sets the size of the paper
0: User defined size, 1: A4, 2: JIS B5, 3: US letter, 4: US legal, 5: A5, 6: ISO B4, 7: ISO B6, 9: US ledger, 10: US executive, 11: A3, 12: ISO B3, 13: A6, 14: C4, 15: C5, 16: C6, 17: 4A0, 18: 2A0, 19: A0, 20: A1, 21: A2, 22: A7, 23: A8, 24: A9, 25: A10, 26: ISO B0, 27: ISO B1, 28: ISO B2, 29: ISO B5, 30: ISO B7, 31: ISO B8, 32: ISO B9, 33: ISO B10, 34: JIS B0, 35: JIS B1, 36: JIS B2, 37: JIS B3, 38: JIS B4, 39: JIS B6, 40: JIS B7, 41: JIS B8, 42: JIS B9, 43: JIS B10, 44: C0, 45: C1, 46: C2, 47: C3, 48: C7, 49: C8, 50: C9, 51: C10, 52: US statement, 53: Business card, 54: Maximum size, 1000: Undefined size

To enable the Left, Top,Right, and Bottom, set PaperSize to 0. PaperSize is disabled for UiMode values other than 2, or when a digital camera is used.

Depending on the datasource (scan driver), using a user defined paper size (0) and setting the scan, may still result in a start position of the scan being incorrect. If that is the case, please use one of the above constant values (1 or more) for the paper size and set it to a NEGATIVE value. (Please refer to the example code below). In VisualBasic, Integers can be positive or negative values, however, in Visual C++, C++Builder, and Delphi, to set PaperSize to a negative value, you must cast it.

Example code: PaperSize value is set to a negative value and the scan area is set.

(1)C++Builder/Visual C++
IKSCAN_EXEC sc;
sc.PaperSize = (WORD)-3;
sc.RectLeft = 0;
sc.RectTop = 0;
sc.RectRight = 6.9;
sc.RectBottom = 10.2;

(2)Delphi
sc: IKSCAN_EXEC;
sc.PaperSize := Word(-3);
sc.RectLeft := 0;
sc.RectTop := 0;
sc.RectRight := 6.9;
sc.RectBottom := 10.2;

(3)Visual Basic
Dim sc As IKSCAN_EXEC
sc.PaperSize = -3
sc.RectLeft = 0
sc.RectTop = 0
sc.RectRight = 6.9
sc.RectBottom = 10.2

Note: Please set the PaperSize property to a size supported by the datasource (scan driver) or set it to the largest supported paper size. With some datasources the PaperSize property has no effect. Please refer to the scan manufacturer for details.

The possible PaperSize settings supported by a scan device can be retrieved using the IKScanGetCapEnum function. For scan devices that only support a fixed paper size or do not support paper size settings set this property to 0.

When PaperSize is set to "undefined" (1000), the paper size is automatically detected then the document is scanned, however, with scanners that can only detect one dimension (either height or width) there are cases when the automatic detection does not work properly. To find out if "Undefined" paper size is supported by the datasource, please execute the IKScanIsCapSupported function.

If undefined size is supported and the automatic detection of paper size does not work properly even if PaperSize is set to 1000, try the following procedure. (1) Set BorderDetection to a value other than 0. If you are using a PFU scanner driver that does not work properly at this stage, go to (2). (2) In addition to 1000, set the maximum readable paper size to PaperSize. For example, if the maximum size is A3, set PaperSize = 1000 + 11.

BitDepthReduction: Sets the method used to reduce the bit depth when scanning in 1 bit color.
0: threshold value, 1: halftone, 2: custom halftone*, 3: diffusion, 4: dynamic threshold

*Custom halftone is a TWAIN setting that is not supported by the ImageKit.

BitDepthReduction is enabled when the UiMode is 2 and the PixelType is 0. BitDepthReduction is disabled when using a digital camera. When BitDepthReduction is 0, Threshold is enabled (In some scan devices Brightness is enabled). When the BitDepthReduction property is 1, HalfTone, Brightness, and Contrast are enabled.

To retrieve the value of BitDepthReduction that is supported by the scan device, execute the IKScanGetCapEnum function. In the case where the scan device does not support BitDepthReduction, but supports either Threshold or HalfTone, then set this property to 0 or 1 whichever the case may be.

HalfTone: Sets the name of the halftone when scanning in black and white
HalfTone is enabled when UiMode is 2, PixelType is 0, and BitDepthReduction is 1. HalfTone is disabled for digital cameras and scanners that do not support this function. The possible setting values supported by a scan device can be retrieved using the IKScanGetCapEnum functions.

FileFormat: *1
Sets the file format when using file transfer (TransferMode = 1).
0: TIFF, 1: PICT, 2: BMP, 3: XBM, 4: JFIF(JPEG), 5: FPX, 6: TIFF MULTI, 7: PNG, 8: SPIFF, 9: EXIF, 10: PDF, 11: JP2 (JPEG2000 Part1), 13: JPX (JPEG2000 Part2), 14: DEJAVU, 15: PDF/A (Version 1), 16: PDF/A (Version 2)

Set the appropriate Compression value for the specified FileFormat. To retrieve the Compression supported by the datasource, execute the IKScanGetCapEnum function.

JpegQuality: *1
Sets the JpegQuality for images when using file or memory transfer (TransferMode = 1 or 2) and when Compression is JPEG)
-4: undefined, -3: low quality, -2: average quality, -1, high quality, 0 to 100
To retrieve the JpegQuality values or range of values supported by the datasource, execute the IKScanGetCapEnum or the IKScanGetCapRange functions.

FileName: *1
Sets the file name when saving a file if using file transfer (TransferMode = 1) or if using memory transfer with Compression (TransferMode = 1, Compression = nonzero). The FileName string must be 255 bytes or less. If an empty string, NULL, nil, or vbNullString are set, the file will not be created. With file transfer a filename must be set.

When UiMode is 2 and ScanMode is 0, the file is saved according to the FileName but in cases where an ADF is used (ScanMode is nonzero) then before the file extention, a 4 digit sequential number is appended. (For example Image.bmp --> Image0001.bmp)

ImageFilter: Sets the image filter *1
0: None, 1: Automatic, : LOWPASS, 3: BANDPASS, 4: HIGHPASS

The ImageFilter can greatly improve image quality. LOWPASS is recommended for haftone images, BANDPASS for images that include text, and HIGHPASS for images that include lines. To retrieve the ImageFilter supported by the datasource, execute the IKScanGetCapEnum function. ImageFilter is disabled when the UiMode is set to values other than 2 or when the datasource does not support it.

NoiseFilter: Sets the noise filter *1
0: None, 1: Automatic, 2: LONEPIXEL, 3: MAJORITYRULE

Sets the noise reduction filter for black and white images. To retrieve the NoiseFilter supported by the datasource, execute the IKScanGetCapEnum function. NoiseFilter is disabled when the UiMode is set to values other than 2 or when the datasource does not support it.

DropoutColor: Sets the dropout color *1
0: Red, 1: Green, 2: Blue, 3: None, 4: White

DropoutColor is enabled when PixelType = 0 or 1. To disable the dropout color, please set 3 or 4. To retrieve the DropoutColor supported by the datasource, execute the IKScanGetCapEnum function. DropoutColor is disabled when the UiMode is set to values other than 2 or when the datasource does not support it.

BorderDetection: Enables automatic border detection *1
0: Disabled, Nonzero: Enabled

The scan area will automatically be set according to the size of the paper. BorderDetection is enabled when PaperSize = 1000 or more. To retrieve whether BorderDetection is supported by the datasource, execute the IKScanIsCapSupported function. BorderDetection is disabled when the UiMode is set to values other than 2 or when the datasource does not support it.

Deskew: Sets whether or not deskew is enabled *1
0: Disabled, 1: Enabled, 2: Enabled (with smoothing)

The Deskew is enabled when the PaperSize property is set to 1000. or more However, there are cases, depending on the datasource, when the Deskew is enabled for other paper sizes as well. Deskew with smoothing is only available for certain Panasonic scan drivers (memory transfer uncompressed mode only). To retrieve whether Deskew is supported by the datasource, execute the IKScanIsCapSupported function. Deskew is disabled when the UiMode is set to values other than 2 or when the datasource does not support it.

ScanningSpeed: Sets the speed at which a document is scanned *1
Scanning speed is available only for certain Epson and Panasonic scanners.

(1) For Epson scan drivers; 0: Quality, 1: Speed
(2) For Panasonic scan drivers; 0: Slow, 1: Normal, 2: Fast

Increasing the speed at which the scan drivers scan a document can result in reduced quality. To retrieve the ScanningSpeed supported by the datasource, execute the IKScanGetCapEnum function. ScanningSpeed is disabled when the UiMode is set to values other than 2 or when the datasource does not support it.

MoireFilter: Sets the level for removal of moire interference *1
(1) Epson Scan Drivers - 0: None, 1: Standard (This can be used for general settings), 2: 85lpi (This can be used for Newspapers), 3: 133lpi (This can be used for Magazines and Catalogs), 4: 175lpi (This can be used for Pictures)
(2) Canon DR Scan Drivers - 1:None, 2: High Scan Speed, 3: High Scan Quality
(3) PFU Scan Drivers - 0: None, 1: Moire Filter level 1, 2: Moire Filter level 2, 3: Moire Filter level 3, 4: Moire Filter level 4

(4) Panasonic Scan Drivers - 0: None, 1: Moire Filter
Moire filter is enabled for certain Epson scan drivers, Canon DR scan drivers, PFU scan drivers, and Panasonic scan drivers. When using an Epson scanner, the datasource will be "Epson Scan" which will allow the above settings. Note that some Epson scanners, depending on the version, allow for only "on / off" settings. In this case the ImageKit will accept values of 0 or nonzero. When using a Canon DR driver, this is enabled for scan resolutions of 300dpi or less. For PFU scanners, the Moire filter value is enabled when Sharpness is set to 0. For Panasonic scanners, Moire filter cannot be used at the same time as MultiStream (one or the other must be disabled).

To retrieve the MoireFilter supported by the datasource, execute the IKScanGetCapEnum function. MoireFilter is disabled when the UiMode is set to values other than 2 or when the datasource does not support it.

Sharpness: Sets the level of sharpness *1
Sharpness is enabled for certain Canon DR, Epson, Panasonic, and PFU scan drivers.

(1) For Canon DR scan drivers (edge enhancement); 0 through 5: (0 uses the scan driver's default value and has the same effect as 3; 1 weakens edges; 5 strengthens edges)
(2) For Epson scan drivers (unsharp mask); 0: None, 1: Weak, 2: Normal, 3: Strong
(3) For Panasonic scan drivers (quality); 0: None, 1: Smooth, 2: Low, 3: Standard, 4: High, 5: Automatic
(3) For PFU scan drivers (outline enhancement); 0: None, 1: Weak, 2: Standard, 3: High

When using an Epson scanner, the datasource will be "Epson Scan" which will allow the above gradated settings. Note that some Epson scanners, depending on the version, allow for only "on / off" settings. In this case the ImageKit will accept values of 0 or nonzero.

For Canon DR scanners, the "edge enhancement" is used, for Epson scanners, the "unsharp mask" is used, and for Panasonic scanners "image quality" is used. To retrieve the Sharpness supported by the datasource, execute the IKScanGetCapEnum function. Sharpness is disabled when the UiMode is set to values other than 2 or when the datasource does not support it.

RotateBack: Sets whether or not the back side of the page is rotated when scanning on both sides using an ADF *1
Enabled for Canon DR scanner driver and Epson scan drivers "EPSON Scan", however "EPSON Scan" Ver.1.x does not support sizes bigger than A4

0: Do not rotate the back side of pages, 1: Rotate the back side of pages 180 degrees

With the Canon DR scanner driver, this is equivalent to enabling the "Rotate the back side +180 degrees" option when the UI is displayed. Epson scanner driver"Epson Scan" configuration "Match front and back images during duplex scanning" is the same as RotateBack = 1.

To retrieve whether RotateBack is supported by the datasource, execute the IKScanIsCapSupported function. RotateBack is enabled when the UiMode is 2 and ScanMode is 2 (ADF Duplex)

ExtUiMode: sets whether or not the extended user interface is used *1
Extended UI mode is available only for certain Epson scan drivers.

0: Start up the UI mode that was last used, 1: Start up the professional mode, 2: Start up the automatic mode, 3: Start up the home mode, 4: Start up the automatic mode (with no error messages and supressed UI), 5: Start up office mode; 7: Start up "sheet feed" mode;

ExtUiMode settings are only possible when displayed with the standard "EPSON Scan" user interface. For example: In ES Series, all settings except 2 and 4 are possible. In the GT Series, all settings except 5 is possible when not connected to the ADF but if the ADF is connected then settings 2 or 4 are also not possible.

ExtUiMode is enabled when UiMode is 0 or 1. To retrieve the value supported by the scanner, execute the IKScanGetCapEnum.

DynamicThreshold: Sets the dynamic threshold level *1
Dyanamic threshold is only available on certain Panasonic scan drivers

0: None, 1: Bright, 2: A little brighter, 3: Standard, 4: A little darker, 5: Dark

Dyanamic threshold functionality allows you to scan text and images clearly with optimum quality. This property is enabled when UiMode is 2 and PixelType is 0. The possible setting values supported by a datasource can be retrieved executing the IKScanGetCapEnum function. When setting DynamicThreshold to 1 or more, the values set in the BitDepthReduction, HalfTone, Sharpness, and Threshold will be disabled.

ColorBWRatio: *1
ColorBWRatio is useful in determining whether or not to scan in RGB color or black and white. ColorBWRatio sets the allowable ratio of color pixels in a document for the scanner to scan in black and white. Beyond this value, the scanner will scan in rgb color.
ColorBWRatio is enabled for certain Panasonic scan drivers only.

The default value is one, meaning that the scanner will scan in rgb color. The allowable range that can be set in ColorBWRatio is from 0.01 to 50.00 percent. As the value of ColorBWRatio increases, a larger proportion of pixels in the document must be color before the scanner will scan in rgb color. ColorBWRatio is enabled when UiMode is 2 and PixelType is 1000

IgnoreBackColor: *1
Sets whether or not the background color of the document is ignored when automatically determining whether to scan in black and white or in color. IgnoreBackColor is only available with certain Panasonic scan drivers

0: Ignore the back color, 1: Does not ignore the back color

IgnoreBackColor is enabled when the UiMode is 2 and PixelType is 1000

There are some notable differences between the IKSCAN_EXEC structure and the IK5SCAN_EXEC structure in the ImageKit5:

1. Pixeltype is now called PixelType
2. Resolution has been divided into Xresolution and YResolution
3. Indicator has been changed from 4 bytes to 2 bytes
4. InUnitMode and OutUnitMode have been unified into UnitMode
5. A number of new member variable have been added

OverScan: *2
Sets whether or not overscan is used when scanning. Overscan refers to increasing the scanning area to scan beyond that area.
0: Uses the set scan size to scan
1: Considers the scan size setting and automatically scans
2: Uses the scan size setting as a base then increases the top and bottom dimensions to scan
3: Uses the scan size setting as a base then increases the left and right dimensions to scan
4: Uses the scan size setting as a base then increases the top, bottom, left, and right dimensions to scan
Using OverScan, the scanning area (Left, Top, Right, Bottom, PaperSize) can be increased to capture portions of the document outside of this area, for example when the paper is not properly aligned on the document plate. OverScan is enabled with the UiMode is set to 2. However, it is not enabled when using digital cameras or scan drivers that do not support overscan. To check whether the scan driver support overscan use the IKScanGetCapEnum.

SkipBlankPage: sets whether or not blank pages are skipped *2
-2: Blank pages are not skipped;
-1 Blank pages are skipped

For Canon DR scan drivers:
0: Blank pages are not skipped; 1: Blank pages are skipped

For Epson scan drivers:
0: Blank pages are not skipped; 1: Blank pages are skipped (weak level); 2: Blank pages are skipped (medium level); 3: Blank pages are skipped (strong level)
For Canon DR scan drivers and Panasonic scan drivers, use SkipBlankPage in conjunction with SkipBlankThreshold. For Canon DR drivers to skip blank pages, ScanMode must be set to -1 or to 1 or more. When SkipBlankPage is enabled, even though the ScanMode is 1, both sides of the paper will be scanned.

When using an Epson scanner and skipping blank pages, set the SkipBlankPage property to a value of -1 or values of 1 or more. When the SkipBlankPage is -1, the default TWAIN capability will be used. Setting the SkipBlankPage property to values of 1 or more will allow the Epson capability to be used. In this case, set the AdjustGamma property to 1. When the AdjustGamma property is 0, the skip blank page functionality does not work properly in all cases. Also, if the AdjustGamma capability is not supported, you can use the default -1 value for SkipBlankPage but because the page may be darker than it should, skipping blank pages may not work as expected. In that case, you can make adjustments to darkness using the Brightness and Gamma properties.

SkipBlankPage is enabled when the UiMode is 2. The possible setting values supported by a scan device can be retrieved using the IKScanGetCapEnum or the IKScanGetCapRange.

SkipBlankThreshold: sets the threshold for determining if a page is blank or not. *2
For Canon DR Scan Drivers: The value range is from 0.1 to 20.0 (in %)
For Panasonic Scan Drivers: The value range from 0.01 to 5.00 (in %)
For Canon DR, as this value gets smaller, it is more likely that a page will be determined to be blank. For Panasonic, as this value gets larger, it is more likely that a page will be determined to be blank.
SkipBlankThreshold is enabled for Canon DR scan drivers and Panasonic scan drivers only. SkipBlankThreshold is only enabled when UiMode=2 and when SkipBlankPage is set to -1 or 1.

RemoveHole: sets whether or not punch hole removal is used. *2
0: Punch hole removal is not used. (Default); 1: Punch hole removal is used; (For PFU: The hole is filled with white) 2: Punch hole removal is used (For PFU: The hole is filled with the surrounding color)

RemoveHole is enabled for Canon DR scan drivers, Epson scan drivers, Panasonic scan drivers, and PFU scan drivers. RemoveHole is only enabled when using a custom-built user interface (UiMode=2). Setting value 2 is only available for PFU scan drivers.
However, RemoveHole is disabled for digital cameras and scanners that do not support this function. To check if this property is supported by the datasource, use the IKScanIsCapSupported.

AdjustGamma: sets the coefficient used for gamma adjustment. *2
AdjustGamma is enabled when using and Epson scan driver supporting this capability
0: Sets gamma adjustment coefficient to 1.0 (Default)
1: Sets gamma adjustment coefficient to 1.8
AdjustGamma is enabled only when using a custom-built user interface (UiMode=2).

FocusPosition: sets the focus position. *2
The FocusPosition is the point on the document plate where the focal sensor is. Default value is 0. FocusPosition is in units of 0.1mm. For example to adjust the focus position by 1.0mm, set this value to 10.
FocusPosition is only enabled when using and Epson scan driver supporting this capability and when using a custom-built user interface (UiMode=2).
To retrieve the values supported by the datasource, please use the IKScanGetCapRange.

Rotation: sets the angle of rotation for the scanned image. *2
Values range from -360 to 360 (in degrees). Default value is 0. Negative numbers rotate the image counter clockwise by that number of degress, positive numbers rotate the image clockwise.

Rotation is enabled when UiMode = 2. Although Orientation is similiar, when Orientation can only be set to 0, then use Rotation instead. There are scan drivers that support both Orientation and Rotation; others that, depending on the value of one of these, will only rotate by a set number of degrees; and some scan drivers that use only Rotation and ignore Orientation. Because of this, it is recommended that when setting Rotation values to something other than 0, set Orientation to 0. Furthermore, when Orientation is set to 1000 or when a digital camera is used, or if Rotation is not supported, the Rotation value will be ignored.
To check whether the scan driver supports Rotation use the IKScanGetCapEnum or IKScanGetCapRange.

InformationFileName: sets the filename and path where the information file is saved. *2
Using InformationFileName, you can save the settings from the manufacturer's scan interface (UI) into an information file so that those settings can be used thereafter. It is necessary to display the manufacturer's UI at least once, but after values from the UI have been saved in the information file, you can scan using the settings from the information file.

TextEnhancement: sets the type of text enhancement used. *2
TextEnhancement is only enabled when using a custom-built user interface (UiMode=2).

For Canon DR Scan Drivers
0: Text enhancement is not used (default)
1: Text enhancement is used
2: Advanced text enhancement is used
3: High speed text enhancement is used
4, 5: Advanced text enhancement II is used. (Value depends on the functions used)

Epson Scan Drivers
0: Character distinction is not used. (default)
1: Standard character distinction is used
2: Strong character distinction is used

TextEnhancement is enabled for Canon DR scan drivers and Epson scan drivers. For Canon DR drivers, PixelType must be 0 and BitDepthReduction must be 0. Canon DR drivers refer to this functionality as "text enhancement". Epson scan drivers refer to it as "character distinction". The different levels of character distinction are available on Epson Scan ver 5.0 scan drivers or higher. TextEnhancement is enabled when the UiMode = 2. The possible setting values supported by a scan device can be retrieved using the IKScanGetCapEnum
For some Epson scanners, only settings of enabled and disabled are allowed. In that case, the ImageKit will accept 0 as disabled and non-zero as enabled. If the datasource doesn't support this function then the value is ignored.

ImageMerge: sets the image merge mode. *3
0: None (images are not merged); 1: front image is on top, back image on bottom; 2: back image on top, front image on bottom; 3: front image on left, back image on right; 4: back image on left, front image on right.
When using ADF and setting ImageMerge to values of 1 or more, the front and back images will be made into a single composite image. Be aware that when a single composite image from separate front and back images, the rotation settings may affect the results. Default value is 0. ImageMerge is enabled when UiMode is 2 and ScanMode is 2. To find out if your scanner supports this capability, execute the IKScanGetCapEnum function.

Border: sets whether or not border correction is used. *3
Epson Scan Drivers
0: Border correction is not used; 1: Border correction is used.
Panasonic Scan Drivers
0: Border removal is not used; 1: Border removal - Automatic Mode (border/edge is automatically detected and corrected within the specified width); 2: Border removal - Constant Mode ( border/edge is uniformly corrected within the specified width).
Border is enabled for certain Epson scan drivers and Panasonic scan drivers. For Epson scanners, it is known as "Edge Fill" and it adjusts the area near the border/edge according to the background color and shadow or it adds a border / edge. For Panasonic scan drivers, it is known as "border removal" and it is removes the black edge from around the scan. The default value is 0. Border is enabled when UiMode is 2. BorderColor sets the color that will be used. To find out if your scanner supports this capability, execute the IKScanIsCapSupported function.

BorderColor: sets the color used by the Border (border correction / border removal). *3
Epson Scan Drivers
0: White; 1: Black
Panasonic Scan Drivers
0: Edge/border color; 1: Background color; 2: White
BorderColor is enabled for certain Epson and Panasonic scanners only. The default value is 0. BorderColor is enabled when UiMode is 2 and Border is 1 or more. The area where border correction occures is determined by the default area or by setting the area via the scan driver's user interface.

AutoBright: Set whether to automatically process the brightness when importing. *4 0: Process brightness manually, other than 0: Process brightness automatically The default is 0. Effective when UiMode is 2. Whether or not the data source supports the function can be determined by IKScanIsIsCapSupported or IKScanGetCapEnum. If the data source supports TWAIN 2.0 or later, you can get the value supported by IKScanGetCapEnum. If 0 or the data source does not support the feature, the Brightness value will take effect.

*1 These are members newly added in the ImageKit7. This is important to note if converting ImageKit5 or ImageKit6 programs
*2 These are members newly added in the ImageKit8. This is important to note if converting ImageKit5, ImageKit6, or ImageKit7 ActiveX programs
*3 These are members newly added in the ImageKit9. This is important to note if converting ImageKit5, ImageKit6, ImageKit7 ActiveX, or ImageKit8 ActiveX programs
*4 This is a member variable added in ImageKit10. Please be careful when migrating from ImageKit5/6/7/8/9.

IKSCAN_IMAGEINFO: Retrieves information about the scanned image

(1)C++Builder/Visual C++
typedef struct {
float XResolution;
float YResolution;
long Width;
long Height;
short BitDepth;
short PixelType;
WORD Compression;
} IKSCAN_IMAGEINFO;
typedef IKSCAN_IMAGEINFO * PTR_IKSCAN_IMAGEINFO;

(2)Delphi
type
IKSCAN_IMAGEINFO = Record
XResolution: Single;
YResolution: Single;
Width: Longint;
Height: Longint;
BitDepth: Smallint;
PixelType: Smallint;
Compression: Word;
end;

(3)Visual Basic
Type IKSCAN_IMAGEINFO
XResolution As Single
YResolution As Single
Width As Long
Height As Long
BitDepth As Integer
PixelType As Integer
Compression As Integer
End Type

XResolution: The horizontal resolution *1
YResolution: The vertical resolution *1
Width: The width of the scanned image in pixels
Height: The height of the scanned image in pixels
BitDepth: The number of bits per pixel. *2
PixelType: The pixel type (from 0 to 3)
Compression: The compression method *3

*1: TWAIN specifications allow scanning units to be in inches, centimeters, and other units. However, regardless of how the scan units are defined, some scan devices return resolution values in DPI (dots per inch) only. Furthermore, some datasources will set XResolution and YResolution values to 1.

*2: 12 and 14 bit grayscale become 16 bit, and 36 and 42 bit color become 48 bit.
*3: Used when an image is transferred via file or memory transfer. This value has no meaning in native transfer

IKSCAN_RANGE: Retrieves the range of possible values for a setting

(1)C++Builder/Visual C++
typedef struct {
float Min;
float Max;
float Step;
float Default;
float Current;
} IKSCAN_RANGE;
typedef IKSCAN_RANGE * PTR_IKSCAN_RANGE;

(2)Delphi
type
IKSCAN_RANGE = Record
Min: Single;
Max: Single;
Step: Single;
Default: Single;
Current: Single;
end;

(3)Visual Basic
Type IKSCAN_RANGE
Min As Single
Max As Single
Step As Single
Default As Single
Current As Single
End Type

Min: Minimum value
Max: Maximum value
Step: Step value *1
Default: Default value *2
Current: Current value

*1: The range is defined as the difference between the Min and Max
*2: The default value is defined as the value when the power is turned on


IKScanCloseDS

This function closes the scan device

[C++Builder/Visual C++] BOOL IKScanCloseDS(HANDLE AppHandle, HANDLE SrcHandle);
[Delphi] function IKScanCloseDS(AppHandle, SrcHandle: THandle): LongBool;
[Visual Basic] Function IKScanCloseDS(ByVal AppHandle As Long, ByVal SrcHandle As Long) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SrcHandle | The scan device handle retrieved by IKScanOpenDS

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The IKScanCloseDS function closes the datasource that was opened by the IKScanOpenDS function and frees the datasource handle. If an invalid value is set in the SrcHandle then an error will be generated.


IKScanExec

This function retrieves an image from a TWAIN scan device

[C++Builder/Visual C++] int IKScanExec(HANDLE AppHandle, HANDLE SrcHandle, PTR_IKSCAN_EXEC Image, IK_BEFORESCANPROC BeforeScanProc, IK_SCANNINGPROC ScanningProc, IK_AFTERSCANPROC AfterScanProc, DWORD *Index);
[Delphi] function IKScanExec(AppHandle, SrcHandle: THandle; var Image: IKSCAN_EXEC; BeforeScanProc, ScanningProc, AfterScanProc: Longint; var Index: DWORD): Integer;
[Visual Basic] Function IKScanExec(ByVal AppHandle As Long, ByVal SrcHandle As Long, Image As IKSCAN_EXEC, ByVal BeforeScanProc As Long, ByVal ScanningProc As Long, ByVal AfterScanProc As Long, Index As Long) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SrcHandle | The scan device handle retrieved by IKScanOpenDS
Image | A structure (user-defined type) whose member variable contain the scan settings
BeforeScanProc | The address of the user function that executes prior to the image being scanned (set to 0 if not needed.)
ScanningProc | The address of the user function that executes while the image being scanned (set to 0 if not needed.)
AfterScanProc | The address of the user function that executes after the image being scanned (set to 0 if not needed.) If the user function name is AfterScanProc then the syntax is as follows: (1)C++Builder/Visual C++ AfterScanProc (2)Delphi Longint(Addr(AfterScanProc)) or Longint(@UserProc) (3)Visual Basic Address Of AfterScanProc
Index | An array containing the image indexes. (used with a digial camera) In C++Builder and Visual C++, pass the pointer to the first element in the array. In Delphi, the arguments are returned in the first element of the array x[0] of DWORD. In Visual Basic, the arguments are returned in the first element of the array x(0). *When not using an index array, set this to NULL or to a dummy array.

Return Value

Returns the number of scanned images if successful. Returns 0 if unsuccessful or if there were no images retrieved.

Explanation

The IKScanExec function retrieves an image from a TWAIN datasource (scan device).

If the SrcHandle is being used with the value retrieved by the IkScanOpenDS then no other application can use the opened scan device until it has been closed.

The Image parameter contains the scan information. For more information about IKSCAN_EXEC member variables, see the IKSCAN_EXEC in the Structure Definitions and Explanations in the Ik10Scan.dll, Ik10ScanA.dll, Ik10Scan64.dll, Ik10Scan64A.dll section.

When UiMode is 0 or 1 then all member variables except ScanDsName, TransferMode, and Compression are disabled. When SrcHandle is 0, ScanDSName is required otherwise ScanDSName is disabled. Index is only enabled when the UiMode is 2 and the ScanMode refers to digital camera however, when not needed please set Index to NULL or to a dummy array. Index is used to specify which images to retrieve from a digital camera (enabled when ScanMode is 4 or 6). For example to retreive the 5th and 8th image from a digital camera:

Index(0) = 5
Index(1) = 8

The Index array will have 2 elements and 2 will be set into PageCount member variable.

Control is passed to user procedures (BeforeScanProc, AfterScanProc, ScanningProc) before, during, and after each image is scanned so it is possible to write processing code in each of these stages of the scan process. Depending on the scan device some functionality may not be supported. In such cases, only the supported functions will be used to scan.

The following member variables should be set prior to executing the IKSCAN_EXEC function

The following are required settings:
ScanDsName (If a blank string is used in ScanDsName then IKScanSelect must be executed first)
*If the IKScanOpenDS function has been executed the ScanDsName is disabled and the open datasource is used.
TransferMode, Compression, UiMode, (If an Epson scan driver is used then ExtUiMode is required)

The following are necessary depending on the scan settings:
FileFormat, FileName, InformationFileName, JpegQuality

When UiMode is 2 and ScanMode is 100:
ScanMode, PageCount, UnitMode

When UiMode is 2 and ScanMode is other than 100:
(1) For Scanners
AdjustGamma, AutoBright, BitDepth, BitDepthReduction, Border, BorderColor, BorderDetection, Brightness, ColorBWRatio, Contrast, Deskew, DropoutColor, DynamicThreshold, FocusPosition, Gamma, HalfTone, Highlight, IgnoreBackColor, ImageFilter, ImageMerge, Indicator, MoireFilter, NoiseFilter, Orientation, OverScan, PageCount, PaperSize, PixelType, RemoveHole, Rotation, ScanMode, ScanningSpeed, Shadow, Sharpness, SkipBlankPage, SkipBlankThreshold, TextEnhancement, Threshold, UnitFlag, UnitMode, XResolution, XScaling, YResolution, YScaling
PaperSize<=0: Bottom, Left, Right, Top

Note: Depending on the scan driver, the following may be disabled: AdjustGamma, Border, BorderColor, ColorBWRatio, DynamicThreshold, FocusPosition, IgnoreBackColor, MoireFilter, RemoveHole, RotateBack, ScanningSpeed, Sharpness, SkipBlankThreshold, TextEnhancement

(2) For Digital Cameras
PageCount, ScanMode, UnitMode Note: When ScanMode=1, set XResolution = 0.

The following member variables can be retrieved after the IKSCAN_EXEC function executes
BitDepth, Bottom, Compression, FileFormat (when using file transfer), Left, PixelType, Right, Top, UnitMode, XResolution, YResolution

Important points when using a custom built user interface (UiMode = 2)
When UiMode is 2, depending on the scan device and the property values set, the scan can fail. For the most part the causes for scan failure when the UiMode is 2 can be traced to the following:

1. The scan units set are not supported by the scan device. The supported scan unit values can be retrieved using IKScanGetCapEnum.
2. The pixel type set is not supported by the scan device. The supported pixel type values can be retrieved using IKScanGetCapEnum or IKScanGetCapPixelType
3. The bit count set is not supported by the scan device. The supported bit count values can be retrieved using IKScanGetBitDepth.
4. The resolution set is not supported by the scan device. The supported resolution values can be retrieved using IKScanGetCapEnum or IKScanGetCapRange.
5. The paper size set is not supported by the scan device. The supported values can be retrieved using IKScanGetCapEnum. If settings for paper size are not supported at all, then set PaperSize to 0 and set the appropriate scan area in the Left, Top, Right, and Bottom properties. If the scan area is not correctly set (i.e. it is smaller than the minimum or larger than the maximum), the scan can fail. The proper scan area values can be retrieved using IKScanGetMinimumSize, IKScanGetMinimumSizeEx, IKScanGetPhysicalSize, or IKScanGetPhysicalSizeEx. If paper size settings are supported and the scan still fails, check to make sure PaperSize is set to a value other than 0

[Differences from the ImageKit5]

Function Name | Parameters
IK5ScanExec: | hWnd, Image, ScanUserProc
IKScanExec: | AppHandle, SrcHandle, Image, BeforeScanProc, ScanningProc, AfterScanProc, Index

In the ImageKit6, hWnd is passed to IKScanInitialize and the return value is used in AppHandle.
The ImageKit5 ScanUserProc has become AfterScanProc in ImageKit6 and later versions of the ImageKit. The Image structure is different in the ImageKit5 and ImageKit10 ActiveX

[Differences from the ImageKit6]
New member variables have been added to the IKSCAN_EXEC structure.

[Differences from the ImageKit7]
New member variables have been added to the IKSCAN_EXEC structure.

[Differences from the ImageKit8]
New member variables have been added to the IKSCAN_EXEC structure.

[Differences from the ImageKit9]
New member variables have been added to the IKSCAN_EXEC structure.

Defintions of User Function
In Visual Basic, create user functions in standard modules not form modules.

BeforeScanProc: Control is passed to this procedure just before the image is scanned

[Syntax]
(1)C++Builder/Visual C++
BOOL __stdcall BeforeScanProc(PTR_IKSCAN_IMAGEINFO ImageInfo, long Count);

(2)Delphi
function BeforeScanProc(var ImageInfo: IKSCAN_IMAGEINFO; Count: Integer): LongBool; stdcall;

(3)Visual Basic
Function BeforeScanProc(ImageInfo As IKSCAN_IMAGEINFO, ByVal Count As Long) As Long

[Parameters]

Name Explanation

------------------------------------------------------------------------------------------------------

ImageInfo Contains information about the image to be scanned.
Count The number of the image to be scanned (from 1)

[Return Value]

If False (0), then the scan is terminated. If True (nonzero) then the scan continues.

If the PaperSize in the IKSCAN_EXEC structure is set to 1000 or more, the ImageInfo's Width and Height may be returned as -1. Also it is possible for the Width and Height to be returned with values exceeding the size of the actual document plate. When the PixelType in the IKSCAN_EXEC structure is set to 1000, the ImageInfo's BitDepth and PixelType may be returned with values that differ from the actual image.

The above explanation applies to the user function named BeforeScanProc. If fact it is possible to assign any name that you wish to this user function.

ScanningProc: Control is passed to this procedure while the image is being scanned

[Syntax]

(1)C++Builder/Visual C++
BOOL __stdcall ScanningProc(short Percent);

(2)Delphi
function ScanningProc(Percent: Smallint): LongBool; stdcall;

(3)Visual Basic
Function ScanningProc(ByVal Percent As Integer) As Long

[Parameters]

Name Explanation

------------------------------------------------------------------------------------------------------

Percent The percentage of the scan completed (from 0 to 100 percent)

[Return Value]

If False (0), then the scan is terminated. If True (nonzero) then the scan continues
Note: This function is enable for memory transfer only. It is disabled for native transfer.

The above explanation applies to the user function named ScanningProc. If fact it is possible to assign any name that you wish to this user function.

AfterScanProc: Control is passed to this procedure after the image has been scanned

[Syntax]
(1)C++Builder/Visual C++
BOOL __stdcall AfterScanProc(HANDLE DibHandle, HANDLE OrgHandle, long Count, short BitOrder);

(2)Delphi
function AfterScanProc(DibHandle, OrgHandle: THandle; Count: Integer; BitOrder): LongBool; stdcall;

(3)Visual Basic
Function AfterScanProc(ByVal DibHandle As Long, ByVal OrgHandle As Long, ByVal Count As Long, ByVal BitOrder As Integer) As Long

[Parameters]

Name Explanation

------------------------------------------------------------------------------------------------------

DibHandle The DIB memory handle which is the memory handle that can be processed by Windows
OrgHandle The memory handle that cannot be processed by Windows (12, 14,16 bit grayscale or 36,42, or 48 bit color)
Count The number of images scanned
BitOrder This parameter refers to whether the bits in each byte of the scanned image start from the left or start from the right. 0: Start from the right (LSB), 1: Start from the left (MSB)

[Return Value]

If False (0), then the scan is terminated. If True (nonzero) then the scan continues

Note: The scanned image's memory handle (DibHandle and OrgHandle) is freed after this procedure finishes so if you want to use this image data in any way you must make a copy of the scanned image in the memory or save it in an image file. If the scanned image is 1, 4, 8, or 24 bits then the image will be set in the DibHandle and 0 will be set in the OrgHandle. If the scanned image is 12, 14, 16 bit grayscale, or 36, 42, or 48 bit color then the original image data will be set in the OrgHandle and the image data set in the DibHandle will be 8 bit grayscale or 24 bit color. If the image data is not supported by DibHandle, then it will be set to 0. Furthermore, when the UiMode property is 2 (ikScanNONUI) and the UnitMode property is 5 (ikScanPixel), depending on the datasource, the XResolution and YResolution values are set to 1

The above explanation applies to the user function named AfterScanProc. If fact it is possible to assign any name that you wish to this user function.

[Differences from the ImageKit5]
The BitOrder parameter has been added in the ImageKit6


IKScanFreeTwain

This function frees the TWAIN DLL from the memory. (This is the TWAIN DLL loaded using the IKScanLoadTwain.

[C++Builder/Visual C++] BOOL IKScanFreeTwain(void);
[Delphi] function IKScanFreeTwain(): LongBool;
[Visual Basic] Function IKScanFreeTwain() As Long

Parameters

None

Return Value

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

Explanation

The IKScanFreeTwain function frees the TWAIN DLL from the memory. (This is the TWAIN DLL loaded using the IKScanLoadTwain.

If IKScanLoadTwain has not been executed, then it isn't necessary to execute IKScanFreeTwain. (The ImageKit will automatically load and free the Twain.dll internally.) Always use IKScanLoadTwain and IKScanFreeTwain as a pair.

Before executing IKScanFreeTwain, be sure to execute IKScanTerminate


IKScanGetBitDepth

This function retrieves the bit depth supported by the scan device

[C++Builder/Visual C++] DWORD IKScanGetBitDepth(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD PixelType, WORD *List, DWORD ListNum);
[Delphi] function IKScanGetBitDepth(AppHandle, SrcHandle: THandle; ScanDsName: PChar; PixelType: Word; var List: Word; ListNum: DWORD): DWORD;
[Visual Basic] Function IKScanGetBitDepth(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal PixelType As Integer, List As Integer, ByVal ListNum As Long) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SrcHandle | The scan device handle retrieved by IKScanOpenDS or 0
ScanDsName | The name of the datasource (scan device) Required when the SrcHandle is 0
PixelType | The pixel type (0: Black and White 2 bit, 1: Grayscale, 2: RGB color, 3: Palette color)
List | An array containing the bit depths supported by the scan device In C++Builder and Visual C++, pass the pointer to the first element in the array. In Delphi, the arguments are returned in the first element of the array List[0]. In Visual Basic, the arguments are returned in the first element of the array List(0).
ListNum | The number of elements in the List array

Return Value

When the List and ListNum parameters are set:
The IKScanGetBitDepth function's return value will indicate the number of supported bit depth types for the specified PixelType. If 0 is returned this would indicate an error and you can confirm the type of error using the ErrorStatus. Depending on the datasource (scan device) the pixel type does not matter and all supported bit depths will be retrieved. In such cases the return value will be greater than the actual supported number of bit depths for a given pixel type.

When the List is set to Null or the ListNum is set to 0
The IKScanGetBitDepth function's return value will indicate the number of elements that need to be used in the List array

Explanation

The IKScanGetBitDepth function retrieves the bit depth supported by the scan device. If the SrcHandle is being used with the value retrieved by the IkScanOpenDS then no other application can use the opened scan device until it has been closed. When SrcHandle is 0 and the ScanDsName is blank, then it is necessary to execute the IKScanSelect function. Please make sure to set a value in the PixelType parameter that is supported by the datasource.


IKScanGetCapEnum

This function retrieves the possible setting values for a specified property of the scan device

[C++Builder/Visual C++] DWORD IKScanGetCapEnum(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD CapNo, WORD *ConType, float *List, LPSTR StringList, DWORD *CurrentIndex, DWORD *DefaultIndex, DWORD ListNum);
[Delphi] function IKScanGetCapEnum(AppHandle, SrcHandle: THandle; ScanDsName: PChar; CapNo: Word; var ConType: Word; var List: Single; StringList: PChar; var CurrentIndex, DefaultIndex: DWORD; ListNum: DWORD): DWORD;
[Visual Basic] Function IKScanGetCapEnum(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal CapNo As Integer, ConType As Integer, List As Single, ByVal StringList As String, CurrentIndex As Long, DefaultIndex As Long, ByVal ListNum As Long) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SrcHandle | The scan device handle retrieved by IKScanOpenDS or 0
ScanDsName | The name of the datasource (scan device) Required when the SrcHandle is 0
CapNo | The number for the retrieved property (in hexidecimal) 0x0100 Compression method 0x0101 Pixel type 0x0102 Scan units of measurement 0x0103 Method of transfer 0x1100 AutoBright 0x1101 Brightness 0x1103 Contrast 0x1108 Gamma 0x1109 Halftone 0x110a Highlight 0x1110 Paper orientation 0x1113 Shadow 0x1118 Horizontal resolution 0x1119 Vertical resolution 0x1121 Rotation angle 0x1122 Paper size 0x1123 Threshold 0x1124 Horizontal scaling 0x1125 Vertical scaling 0x112c Method of color reduction 0x1147 Image filter 0x1148 Noise filter 0x1149 Overscan 0x1153 JPEG quality coefficient 0x115c Image merge 0xf001 Scanning speed 0xf002 Moire filter 0xf004 Sharpness 0xf006 Extended UI Mode 0xf007 Dynamic threshold 0xf00b SkipBlankPage 0xf00e Text enhancement In Delphi, replace 0x with $. In Visual Basic, replace 0x with &H.
ConType | A variable that contains the type of the retrieved property value (see below)
List | An array containing the retrieved values (Use when CapNo refers to properies other than HalfTone) In C++Builder and Visual C++, pass the pointer to the first element in the array. In Delphi, If Lt: array [0..2] of Single, then arguments are returned in the first element of the array Lt[0] In Visual Basic., If Dim Lt(0 To 2) As Single, then the arguments are returned in the first element of the array List(0).
StringList | A variable containing the retrieved string (Used when CapNo refers to HalfTone)
CurrentIndex | Refers to the current value's index in the List array. (The index starts from 0) List[CurrentIndex] = The current value
DefaultIndex | Refers to the default value's index in the List array. (The index starts from 0) List[DefaultIndex] = The default value
ListNum | The number of elements in the List array

Return Value

When the CapNo refers to halftone
If StringList is NULL (C++Builder/Visual C++), nil (Delphi), or vbNullString (Visual Basic), then the size of the necessary string is returned. If a variable is set into StringList then the number of supported HalfTones are returned

When the CapNo refers to settings other than halftone
If ConType=3 or 4, then the number is retrieved
If ConType=5 then 1 is returned, if ConType=6 then 5 is returned (these are constants)
If List is NULL or ListNum is 0 then the number of elements in the appropriate array are returned.

If 0 is returned then there was an error. Please refer to the error status.

Explanation

If using the value retrieved from IKScanOpenDS in SrcHandle, then no other application can use the opened datasource (scan device) until the datasource is closed. If SrcHandle is 0 and ScanDsName is blank then you must execute the IKScanSelect function. ("" or null means the datasource selected by IKScanSelect will be used). When CapNo refers to HalfTone, the List array is not used. However, in this case please set the List array to NULL or to a dummy array and set ListNum to 0. When CapNo refers to settings other than HalfTone, StringList is not used, please set it to a blank string, NULL, or a dummy variable.

Regarding ConType values
(0: When False (0) is returned, 3: when an array is returned, 4 when a list is returned, 5: when a single value is returned, 6: when a range is returned)

When CapNo refers to HalfTone
If ConType=3, then the HalfToneList property value is set and CurrentIndex and DefaultIndex are disabled.
If ConType=4, then the HalfToneList property value is set.
If ConType=5, then the HalfToneList property value is set to the current value.

When CapNo refers to something other than HalfTone
If ConType=3, then the values of the List array are set and CurrentIndex and DefaultIndex are disabled.
If ConType=4, then the values of the List array are set.
If ConType=5, then the current value is set in the first element, List[0], of the List array.
If ConType=6, then minimum value is set in the first element, List[0], of the List array; the maximum value is set in the second element, List[1], the step value is set in the third element, List[2], the default value is set in the fourth element, List[3], and the current value is set in the fifth element, List[4].

Regarding the values set into the List array

When CapNo refers to the compression method:
0: uncompressed, 1: PACKBITS, 2: GROUP3-1D, 3: GROUP3-1DEOL, 4: GROUP3-2D, 5: GROUP4, 6: JPEG, 7: LZW, 8: JBIG, 9:PNG, 10: RLE4, 11: RLE8, 12: BITFIELDS (1, 2, 3, 4, 5 are FAX[CCITT], 10, 11, and 12 are BMP)

When CapNo refers to PixelType:
0: Black and White (2 bit), 1: Grayscale, 2: RGB color, 3: Palette color
(Depending on the datasource, values can also range from 4 to 8)

When CapNo refers to Scan Units:
0: Inches, 1: Centimeters, 2: Pica, 3: Points, 4: Twips, 5: Pixels, 6: Millimeters

When CapNo refers to the Method of Transfer:
0: Native, 1: File, 2: Memory, 3: File2

When CapNo refers to the File Format:
0: TIFF, 1: PICT, 2: BMP, 3: XBM, 4: JFIF(JPEG), 5: FPX, 6: TIFF MULTI, 7: PNG, 8: SPIFF, 9: EXIF, 10: PDF, 11: JP2 (JPEG2000 Part1), 13: JPX(JPEG2000 Part2), 14: DEJAVU, 15: PDF/A (Version1), 16: PDF/A (Version2)

When CapNo refers to the Dropout Color:
0: Red, 1: Green, 2: Blue, 3: None, 4: WHite
(Depending on the datasource, values of 5 or 6 may also be set)

When CapNo refers to the Orientation of the paper:
0: 0 degrees (Portrait), 1: 90 degrees, 2: 180 degrees, 3: 270 degrees (Landscape)

When CapNo refers to Paper Size:
0: User defined size, 1: A4, 2: JIS B5, 3: US letter, 4: US legal, 5: A5, 6: ISO B4, 7: ISO B6, 9: US ledger, 10: US executive, 11: A3, 12: ISO B3, 13: A6, 14: C4, 15: C5, 16: C6, 17: 4A0, 18: 2A0, 19: A0, 20: A1, 21: A2, 22: A7, 23: A8, 24: A9, 25: A10, 26: ISO B0, 27: ISO B1, 28: ISO B2, 29: ISO B5, 30: ISO B7, 31: ISO B8, 32: ISO B9, 33: ISO B10, 34: JIS B0, 35: JIS B1, 36: JIS B2, 37: JIS B3, 38: JIS B4, 39: JIS B6, 40: JIS B7, 41: JIS B8, 42: JIS B9, 43: JIS B10, 44: C0, 45: C1, 46: C2, 47: C3, 48: C7, 49: C8, 50: C9, 51: C10, 52: US statement, 53: Business card, 54: Maximum size, 1000: Undefined

When CapNo refers to reduction of Color Depth:
0: Threshold, 1: HalfTone, 2: Custom HalfTone, 3: Diffusion, 4: Dynamic Threshold

When CapNo refers to Image Filter:
0: None, 1: Automatic, 2: LOWPASS, 3: BANDPASS, 4: HIGHPASS

When CapNo refers to Noise Filer:
0: None, 1: Automatic, 2: LONEPIXEL, 3: MAJORITYRULE

When CapNo refers to OverScan:
0: Uses the set scan size to scan
1: Considers the scan size setting and automatically scans
2: Uses the scan size setting as a base then increases the top and bottom dimensions to scan
3: Uses the scan size setting as a base then increases the left and right dimensions to scan
4: Uses the scan size setting as a base then increases the top, bottom, left, and right dimensions to scan

When CapNo refers to ImageMerge:
0: None (image are not merged)
1: Front image is on top, back image on bottom
2: Back image on top, front image on bottom
3: Front image on left, back image on right
4: Back image on left, front image on right

When CapNo refers to Scanning Speed:
For Epson scan drivers: 0 - For quality (Default); 1 - For speed
For Panasonic scan drivers: 0 - Slow (Default); 1 - Normal; 2 - Fast

When CapNo refers to Moire Filter:
Enabled for Epson, Canon DR, PFU, and Panasonic scan drivers.

For Epson Scan Drivers:
0: None
1: Standard (This can be used for general settings)
2: 85lpi (This can be used for Newspapers)
3: 133lpi (This can be used for Magazines and Catalogs)
4: 175lpi (This can be used for Pictures)

For Canon DR Scan Drivers
1: None
2: High scan speed
3: High scan quality

For PFU Scan Drivers
0: None
1: Moire Filter level 1
2: Moire Filter level 2
3: Moire Filter level 3
4: Moire Filter level 4

For Panasonic Scan Drivers
0: No Moire Filter
1: Moire Filter

When CapNo refers to Sharpness:
Enabled for certain Canon DR scanners, Epson scanners, Panasonic scanners, and PFU scanners

Canon DR scan driver (Edge Enhancement)
Values from 0 to 5:
0: uses the scan driver's default value and has the same effect as 3.
1: weakens edges.
5: strengthens edges.

Epson scan driver (Unsharp Mask)
0: None (Default)
1: Weak
2: Normal
3: Strong

Panasonic scan driver (Image Quality)
0: None
1: Smooth
2: Low
3: Standard
4: High
5: Automatic

PFU scan driver
0: None (Default)
1: Weak outline enhancement
2: Medium outline enhancement
3: Strong outline enhancement

When CapNo refers to Extended UI Mode:
Enabled for Epson scan drivers

0: Start up the UI mode that was last used
1: Start up the professional mode
2: Start up the automatic mode
3: Start up the home mode
4: Start up the automatic mode (with no error messages and supressed UI)
5: Start up office mode
7: Start up sheet feed only mode

When CapNo refers to Dynamic Threshold:
Enabled for Panasonic scan drivers

0: None
1: Bright
2: A little brighter
3: Standard
4: A little darker
5: Dark

When CapNo refers to Text Enhancement:
Enabled for Canon DR scan drivers and Epson scan drivers. For Canon DR drivers, PixelType must be 0 and BitDepthReduction must be 0. Canon DR drivers refer to this functionality as "text enhancement". Epson scan drivers refer to it as "character distinction". Text Enhancement is enabled when the UiMode=2

For Canon DR Scan Drivers
0: Text enhancement is not used (default)
1: Text enhancement is used
2: Advanced text enhancement is used
3: High speed text enhancement is used
4, 5: Advanced text enhancement II is used. (Value depends on the functions used)

For Epson Scan Drivers
0: Character distinction is not used. (default)
1: Standard character distinction is used
2: Strong character distinction is used

When CapNo refers to AutoBright, Brightness, Contrast, Gamma, Highlight, Shadow, XResolution, YResolution, Rotation, Threshold, XScaling, YScaling, JPEG Quality Coefficient, and SkipBlankPage then the value returned will be the possible setting value for that property.

Note: whe ConType=6, the result will be the same as that returned from the IKScanGetCapRange.

(*1) If the data source is compatible with TWAIN 2.0 or later, it will be a settable value, but otherwise it will be the current value.

Regarding the string value set in StringList

When CapNo refers to HalfTone, the name of the HalfTone is set.
When there is only one name "XXX,"
When there is more than one name "XXX,YYY, ,"
XXX and YYY represent the name of the HalfTone, the name are separated by a comma with a comma at the end.

[Differences from the ImageKit6]
CapNo referring to File Filter, Dropout Color, Image Filter, Noise Filter, JPEG Quality Coefficient, Scanning Speed, Moire Filter, Sharpness, Extended UI Mode, and Dynamic Threshold were all added with the ImageKit7.

[Differences from the ImageKit7]
CapNo referring to Rotation, OverScan, SkipBlankPage, Text Enhancement were added in the ImageKit8

[Differences from the ImageKit8]
CapNo referring to ImageMerge was added in the ImageKit10

[Differences from the ImageKit9]
CapNo referring to AutoBright was added in the ImageKit10


IKScanGetCapRange

This function retrieves the range of possible setting values for a specified functionality of the scan device

[C++Builder/Visual C++] BOOL IKScanGetCapRange(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD CapNo, WORD *ConType, PTR_IKSCAN_RANGE Value);
[Delphi] function IKScanGetCapRange(AppHandle, SrcHandle: THandle; ScanDsName: PChar; CapNo: Word; var ConType: Word; var Value: IKSCAN_RANGE): LongBool;
[Visual Basic] Function IKScanGetCapRange(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal CapNo As Integer, ConType As Integer, Value As IKSCAN_RANGE) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SrcHandle | The scan device handle retrieved by IKScanOpenDS or 0
ScanDsName | The datasource name (Required when SrcHandle is 0)
CapNo | The number for the retrieved functionality (hexadecimal) 0x1101 Brightness 0x1103 Contrast 0x1108 Gamma 0x110a Highlight 0x1113 Shadow 0x1118 Horizontal resolution 0x1119 Vertical resolution 0x1121 Rotation Angle 0x1123 Threshold 0x1124 Horizontal scaling 0x1125 Vertical scaling 0x1153 JPEG Quality Coefficient 0xf004 Sharpness 0xf00b SkipBlankPage 0xf00d Focus Position In Delphi, replace 0x with $. In Visual Basic, replace 0x with &H.
ConType | A variable that retrieves the type of value for the setting (i.e. whether it is an array, a list, a single value, etc)
Value | A structure containing the retrieved range of values

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

If using the value retrieved from IKScanOpenDS in SrcHandle, then no other application can use the opened datasource (scan device) until the datasource is closed. If SrcHandle is 0 and ScanDsName is blank then you must execute the IKScanSelect function. ("" or null means the datasource selected by IKScanSelect will be used) The retrieved range is returned in the Value structure member variables. For more information, please refer to IKSCAN_RANGE in the "Structure Definition and Explanation" section at the beginning of Ik10Scan.dll, Ik10ScanA.dll, Ik10Scan64.dll, Ik10Scan64A.dll

Regarding ConType values
(0: When False (0) is returned, 3: when an array is returned, 4 when a list is returned, 5: when a single value is returned, 6: when a range is returned)

When ConType=3 or 4, then the number of elements in the list is set into the Value.Max. Use this number and execute the IKScanGetCapEnum function.
When ConType=5, then the current value is set into Value.Current and the default value is set into Value.Default.
When ConType=6, then values are set into all the Value member variables

[Differences from the ImageKit6]
CapNo referring to JPEG Quality Coefficient was added with the ImageKit7.

[Differences from the ImageKit7]
CapNo referring to Rotation Angle, Sharpness, SkipBlankPage, Focus Position were added in the ImageKit8


IKScanGetDSInfo

This function retrieves information about the specified scan device

[C++Builder/Visual C++] BOOL IKScanGetDSInfo(HANDLE AppHandle, LPCSTR ScanDsName, PTR_IKSCAN_DATASOURCEINFO DS);
[Delphi] function IKScanGetDSInfo(AppHandle: THandle; ScanDsName: PChar; var DS: IKSCAN_DATASOURCEINFO): LongBool;
[Visual Basic] Function IKScanGetDSInfo(ByVal AppHandle As Long, ByVal ScanDsName As String, DS As KSCAN_DATASOURCEINFO) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
ScanDsName | The datasource (scan device) name
DS | A structure whose member variable contain the retrieved scan device information

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

If the ScanDSName is blank or NULL then the information on the datasource selected by the IKScanSelect function will be retrieved. TheDS is the structure (user defined type) whose members retrieve the scan device information. For details about IKSCAN_DATASOURCEINFO, please refer to the "Structure Definition and Explanation" section of Ik10Scan.dll, Ik10ScanA.dll, Ik10Scan64.dll, Ik10Scan64A.dll

[Differences from the ImageKit6]
Some of the member variables in IKSCAN_DATASOURCEINFO were changed from 4 byte type to 2 byte type.


IKScanGetMinimumSize

This function retrieves the smallest size that can be scanned with a given scan device

[C++Builder/Visual C++] BOOL IKScanGetMinimumSize(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD ScanMode, WORD UnitMode, float * Width, float * Height);
[Delphi] function IKScanGetMinimumSize(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; ScanMode, UnitMode: Word; var Width, Height: Single): LongBool;
[Visual Basic] Function IKScanGetMinimumSize(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal ScanMode As Integer, ByVal UnitMode As Integer, Width As Single, Height As Single) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SrcHandle | The scan device handle retrieved by IKScanOpenDS or 0
ScanDsName | The datasource name (Required when SrcHandle is0)
ScanMode | The scan mode (0: document plate (transmissive or reflective), 1: ADF single side (transmissive or reflective), 2: ADF double side (transmissive or reflective))
UnitMode | The scan units (0: inches, 1: centimeters, 2: pica, 3: points, 4: twips, 5: pixels, 6: millimeters)
Width | The minimum width of the scan
Height | The minimum height of the scan

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

If using the value retrieved from IKScanOpenDS in SrcHandle, then no other application can use the opened datasource (scan device) until the datasource is closed. If SrcHandle is 0 and ScanDsName is blank then you must execute the IKScanSelect function. ("" or null means the datasource selected by IKScanSelect will be used) Please set a value for the UnitMode parameter that is supported by the datasource. The Width and Height values depend on the ScanMode and UnitMode values. However if UnitMode is 5 (pixels) then the Width and Height values will also depend on the current resolution (DPI).

[Differences from the ImageKit7]
IKScanGetMinimumSizeEx was added in the ImageKit10.


IKScanGetMinimumSizeEx

This function retrieves the smallest size in pixels that can be scanned with a given scan device

[C++Builder/Visual C++] BOOL IKScanGetMinimumSizeEx(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD ScanMode, WORD UnitMode, int Xdpi, int Ydpi, float * Width, float * Height);
[Delphi] function IKScanGetMinimumSizeEx(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; ScanMode, UnitMode: Word; Xdpi, Ydpi: Integer; var Width, Height: Single): LongBool;
[Visual Basic] Function IKScanGetMinimumSizeEx(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal ScanMode As Integer, ByVal UnitMode As Integer, ByVal Xdpi As Long, ByVal Ydpi As Long, Width As Single, Height As Single) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SrcHandle | The scan device handle retrieved by IKScanOpenDS or 0
ScanDsName | The datasource name (Required when SrcHandle is 0)
ScanMode | The scan mode (0: document plate (transmissive or reflective), 1: ADF single side (transmissive or reflective), 2: ADF double side (transmissive or reflective))
UnitMode | The scan units (0: inches, 1: centimeters, 2: pica, 3: points, 4: twips, 5: pixels, 6: millimeters)
Xdpi | The horizontal resolution in DPI when the UnitMode is 5.
Ydpi | The vertical resolution in DPI when the UnitMode is 5.
Width | The minimum width of the scan
Height | The minimum height of the scan

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

If using the value retrieved from IKScanOpenDS in SrcHandle, then no other application can use the opened datasource (scan device) until the datasource is closed. If SrcHandle is 0 and ScanDsName is blank then you must execute the IKScanSelect function. ("" or null means the datasource selected by IKScanSelect will be used) Please set a value for the UnitMode parameter that is supported by the datasource. The Width and Height values depend on the ScanMode and UnitMode values. If UnitMode is 5 (pixels) then the Width and Height values will also depend on the values set in Xdpi and Ydpi.


IKScanGetPhysicalSize

This function retrieves the largest physical size that can be scanned with a given scan device

[C++Builder/Visual C++] BOOL IKScanGetPhysicalSize(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD ScanMode, WORD UnitMode, float *Width, float *Height);
[Delphi] function IKScanGetPhysicalSize(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; ScanMode, UnitMode: Word; var Width, Height: Single): LongBool;
[Visual Basic] Function IKScanGetPhysicalSize(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal ScanMode As Integer, ByVal UnitMode As Integer, Width As Single, Height As Single) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SrcHandle | The scan device handle retrieved by IKScanOpenDS or 0
ScanDsName | The datasource name (Required when SrcHandle is 0)
ScanMode | The scan mode (0: document plate (transmissive or reflective), 1: ADF single side (transmissive or reflective), 2: ADF double side (transmissive or reflective), 7: document plate (positive film, using film holder), 8: document plate (positive film, using film area guide))
UnitMode | The scan units (0: inches, 1: centimeters, 2: pica, 3: points, 4: twips, 5: pixels, 6: millimeters)
Width | The maximum physical width of the scan
Height | The maximum physical height of the scan

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

If using the value retrieved from IKScanOpenDS in SrcHandle, then no other application can use the opened datasource (scan device) until the datasource is closed. If SrcHandle is 0 and ScanDsName is blank then you must execute the IKScanSelect function. ("" or null means the datasource selected by IKScanSelect will be used) Please set a value for the UnitMode parameter that is supported by the datasource. The Width and Height values depend on the ScanMode and UnitMode values. However if UnitMode is 5 (pixels) then the Width and Height values will also depend on the current resolution (DPI).

[Differences from the ImageKit5]

Function Name Parameters
IK5ScanGetPhysicalSize: hWnd, ScanDsName, ScanMode, Width, Height
IKScanGetPhysicalSize: AppHandle, SrcHandle, ScanDsName, ScanMode, UnitMode, Width, Height

Since the ImageKit6, hWnd is passed by IKScaninitialize and the return value, AppHandle, is used..

[Differences from the ImageKit7]
IKScanGetPhysicalSizeEx was added in the ImageKit10.


IKScanGetPhysicalSizeEx

This function retrieves the largest physical size that can be scanned with a given scan device

[C++Builder/Visual C++] BOOL IKScanGetPhysicalSizeEx(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD ScanMode, WORD UnitMode, int Xdpi, int Ydpi, float * Width, float * Height);
[Delphi] function IKScanGetPhysicalSizeEx(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; ScanMode, UnitMode: Word; Xdpi, Ydpi: Integer; var Width, Height: Single): LongBool;
[Visual Basic] Function IKScanGetPhysicalSizeEx(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal ScanMode As Integer, ByVal UnitMode As Integer, ByVal Xdpi As Long, ByVal Ydpi As Long, Width As Single, Height As Single) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SrcHandle | The scan device handle retrieved by IKScanOpenDS or 0
ScanDsName | The datasource name (Required when SrcHandle is 0)
ScanMode | The scan mode (0: document plate (transmissive or reflective), 1: ADF single side (transmissive or reflective), 2: ADF double side (transmissive or reflective), 7: document plate (positive film, using film holder), 8: document plate (positive film, using film area guide))
UnitMode | The scan units (0: inches, 1: centimeters, 2: pica, 3: points, 4: twips, 5: pixels, 6: millimeters)
Xdpi | The horizontal resolution in DPI when the UnitMode is 5.
Ydpi | The vertical resolution in DPI when the UnitMode is 5.
Width | The maximum physical width of the scan
Height | The maximum physical height of the scan

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

If using the value retrieved from IKScanOpenDS in SrcHandle, then no other application can use the opened datasource (scan device) until the datasource is closed. If SrcHandle is 0 and ScanDsName is blank then you must execute the IKScanSelect function. ("" or null means the datasource selected by IKScanSelect will be used) Please set a value for the UnitMode parameter that is supported by the datasource. The Width and Height values depend on the ScanMode and UnitMode values. However if UnitMode is 5 (pixels) then the Width and Height values will also depend on the values set in Xdpi and Ydpi.

[Differences from the ImageKit5]

Function Name Parameters
IK5ScanGetPhysicalSize: hWnd, ScanDsName, ScanMode, Width, Height
IKScanGetPhysicalSize: AppHandle, SrcHandle, ScanDsName, ScanMode, UnitMode, Width, Height

Since the ImageKit6, hWnd is passed by IKScaninitialize and the return value, AppHandle, is used..


IKScanGetPixelType

This function retrieves the pixel type supported by the scan device

[C++Builder/Visual C++] DWORD IKScanGetPixelType(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD *List, WORD ListNum);
[Delphi] function IKScanGetPixeltype(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; var List: Word; ListNum: Word): DWORD;
[Visual Basic] Function IKScanGetPixeltype(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, List As Integer, ByVal ListNum As Integer) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SrcHandle | The scan device handle retrieved by IKScanOpenDS or 0
ScanDsName | The datasource name (Required when SrcHandle is 0)
List | An array containing the bit depths supported by the scan device In C++Builder and Visual C++, pass the pointer to the first element in the array. In Delphi, the arguments are returned in the first element of the array List[0]. In Visual Basic, the arguments are returned in the first element of the array List(0).
ListNum | The number of elements in the List array

Return Value

When List and ListNum are set
Returns the retrieved number of pixel types. 0 indicates that an error has occurred, please refer to the error status.

When List is NULL or ListNum is 0
Returns the necessary number of elements needed in the array to retrieve pixel types

Explanation

If using the value retrieved from IKScanOpenDS in SrcHandle, then no other application can use the opened datasource (scan device) until the datasource is closed. The values retrieved in the List array will range from 0 to 3 and can be set in the IKSCAN_EXEC member variable, PixelType. For more information about IKSCAN_EXEC, please refer to the "Structure Definitions and Explanation" in the Ik10Scan.dll, Ik10ScanA.dll, Ik10Scan64.dll, Ik10Scan64A.dll section. If SrcHandle is 0 and ScanDsName is blank then you must execute the IKScanSelect function. ("" or null means the datasource selected by IKScanSelect will be used)

This function has been maintained for compatibility with the ImageKit5. The IKScanGetCapEnum method can also retrieve the pixel types supported by a scan device.

[Differences from the ImageKit5]

>
Function Name Parameters
IK5ScanGetPixeltype: hWnd, ScanDsName, List, ListNum
IKScanGetPixelType: AppHandle, SrcHandle, ScanDsName, List, ListNum

The "T" in the PixelType parameter has been capitalized. Since the ImageKit6, hWnd is passed by IKScaninitialize and the return value, AppHandle, is used.


IKScanInitialize

This function starts the TWAIN process

[C++Builder/Visual C++] HANDLE IKScanInitialize(HWND hWnd, WORD MajorNum, WORD MinorNum, LPCSTR VersionInfo, LPCSTR Manufacturer, LPCSTR ProductFamily, LPCSTR ProductName);
[Delphi] function IKScanInitialize(hWnd: HWND; MajorNum, MinorNum: Word; VersionInfo, Manufacturer, ProductFamily, ProductName: PAnsiChar): THandle;
[Visual Basic] Function IKScanInitialize(ByVal HWND As Long, ByVal MajorNum As Integer, ByVal MinorNum As Integer, ByVal VersionInfo As String, ByVal Manufacturer As String, ByVal ProductFamily As String, ByVal ProductName As String) As Long

Parameters

Name | Explanation
hWnd | The form window handle
MajorNum | The major version number of the application (If the version is 1.00, then this value will be 1)
MinorNum | The minor version number of the application (If the version is 1.00, then this value will be 0)
VersionInfo | The application version information (up to 32 bytes)
Manufacturer | The name of the manufacturer of the application (up to 32 bytes)
ProductFamily | The application's product family name (up to 32 bytes)
ProductName | The application's product name (up to 32 bytes)

Return Value

Returns the application handle if successful. Returns 0 if unsuccessful

Explanation

The IKScanInitialize function starts the TWAIN process. When using TWAIN functions, the IKScanInitialize function must be executed. MajorNum, MinorNum, VersionInfo, Manufacturer, ProductFamily, and ProductName parameters are used the notify TWAIN of various information about the application.

The return value (the application handle) of the IKScanInitialize function is used by other scan functions.


IKScanIsCapSupported

This function confirms whether or not a functionality is supported by the scan device

[C++Builder/Visual C++] BOOL IKScanIsCapSupported(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD CapNo, int *Value);
[Delphi] function IKScanIsCapSupported(AppHandle, SrcHandle: THandle; ScanDsName: PAnsiChar; CapNo: Word; var Value: Integer): LongBool;
[Visual Basic] Function IKScanIsCapSupported(ByVal AppHandle As Long, ByVal SrcHandle As Long, ByVal ScanDsName As String, ByVal CapNo As Integer, Value As Long) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SrcHandle | The scan device handle retrieved by IKScanOpenDS or 0
ScanDsName | The datasource name (Required when SrcHandle is 0)
CapNo The number for the retrieved functionality (hexadecimal)
0x1002 Document feeder function
0x1003 A function that checks whether or not there is paper in the document feeder
0x100b Indicator
0x100e UI control function
0x100f A function that checks the device's operating state
0x1011 A function to transfer thumbnail images
0x1012 Duplex scanning with document feeder
0x1014 Displays UI that sets scan values only (not to scan)
0x1015 Retrieve or set scan values in the UI
0x1100 AutoBright
0x112d Undefined image size
0x112e A function that checks the number of images in a digital camera
0x1150 Auto border detection
0x1151 Deskew
0xf003 Maximum resolution when using the moire filter
0xf005 Rotate backside when using an ADF in duplex mode
0xf008 Auto detect BW/Color ratio
0xf009 Multistream
0xf00a Text orientation recognition or automatic rotation
0xf00c Punch hole removal
0xf00d Focus Postion
0xf00e Text Enhancement
0xf00f Border adjustment
0xf010 Gamma Adjustment

In Delphi, replace 0x with $. In Visual Basic, replace 0x with &H
Value | A variable containing the retrieved condtions for a functionality. See explanation, "Regarding the values returned in the Value parameter" below:

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

If using the value retrieved from IKScanOpenDS in SrcHandle, then no other application can use the opened datasource (scan device) until the datasource is closed. If SrcHandle is 0 and ScanDsName is blank then you must execute the IKScanSelect function. ("" or null means the datasource selected by IKScanSelect will be used)

Regarding the values returned in the Value parameter:

When CapNo refers to document feeder function, 0: document feeder not possible but document plate is possible, 1: document feeder is possible, 2: both document plate and document feeder are possible

When CapNo refers to the function that checks whether or not there is paper in the document feeder, 0: there is no paper, 1: there is paper.

When CapNo refers to indicator, 0: cannot use indicator, 1: can use indicator

When CapNo refers to UI control function, 0: must use manufacturer's UI only, 1: manufacturer's UI can be suppressed.

When CapNo refers to the function that checks the device's operating state, 0: Device does not respond, 1: Device is operating

When CapNo refers to the function that transfers thumbnail images, 0: cannot transfer thumbnails, 1: can transfer thumbnails

When CapNo refers to duplex scanning with the document feeder, 0: cannot scan both sides, 1: can scan both sides at once, 2: can scan both sides but takes two scans

When CapNo refers to displaying UI in order to set scan values, 0: cannot display UI in order to set scan values, 1: can display UI in order to set scan values

When CapNo refers to the function that retrieves values from UI or sets values to the UI, 0: cannot retrieve or set values in the UI, 1: can retrieve or set values in the UI

When CapNo indicates AutoBright, 0: automatic brightness adjustment is disabled, 1: automatic brightness adjustment is enabled.

When CapNo refers to the undefined size then in general, 0: undefined size cannot be used, 1: undefined size can be used.
However, with certain Epson scan drivers, the following values are set, 0: undefined size cannot be used, 1: possible only with document plate, 2: possible only with ADF, 3: possible with both document plate and ADF

When CapNo refers to how many images are in a digital camera, the returned number is the number of images.

When CapNo refers to border detection, 0: border detection is not possible, 1: border detection is possible

When CapNo refers to deskew, 0: cannot use deskew, 1: can use deskew, 2: can use deskew with smoothing.
2 is only available for certain Panasonic scan drivers.

When CapNo refers to the maximum resolution when using a moire filter, the value is that maximum resolution.
Available only for certain Epson scan drivers

When CapNo refers to RotateBack when using ADF in duplex mode, 0: rotating the back side is not possible, 1: rotating the back side is possible.
Available only for Canon DR scanner driver and certain Epson "Epson Scan" scan drivers.

When CapNo refers to automatically detecting ratio of BW/Color, 0: cannot automatically detect BW/Color, 1: can automatically detect BW/Color.
Available for certain Panasonic scan drivers, Canon DR scan drivers, Epson scan drivers, and PFU scan drivers.

When CapNo refers to multistream, 0: Multistream is not possible, 1: Multistream is possible. In this case, multistream means scanning a single document and retrieving 2 images of different pixel type.
Available only for certain Canon DR scan drivers, Panasonic scan drivers, Epson scan drivers, or PFU scan drivers.

When CapNo refers to Text orientation recognition or automatic rotation, 0: Orientation recognition or automatic rotation is not possible, 1: Orientation recognition or automatic rotation is possible.
Available only for certain Canon DR scan drivers or Panasonic scan drivers. Canon DR scan drivers use "text orientation recognition". Panasonic scan drivers use "document orientation adjustment". Scan drivers that support TWAIN specification's "automatic rotation" also use the CapNo.

When CapNo refers to Punch Hole Removal, 0: punch hole removal not possible, 1: punch hole removal possible.
Available only for certain Canon DR scan drivers, Epson scan drivers, Panasonic scan drivers, and PFU scan drivers.

When CapNo refers to Border (border adjustment), 0: Border correction not possible, 1: Border adjustment possible.
Available only for certain Epson scan drivers and Panasonic scan drivers.

When the CapNo refers to Gamma Adjustment, 0: gamma adjustment is not possible, 1: gamma adjustment is possible. Enabled for certain Epson scan drivers.

* If the return value of this method is False(0), then the Value parameter is not set

[Differences from ImageKit6]

CapNo referring to undefined image size, functions that checks the number of images in a digital camera, auto border detection, deskew, maximum resolution when using the moire filter, rotate backside when using an ADF in duplex mode, and auto detect BW/Color ratio were added with the ImageKit7

[Differences from ImageKit7]

CapNo referring to multistream, text orientation recognition or automatic rotation, punch hole removal were added with the ImageKit8. Also the value of 2 was added to the document feeder function.

[Differences from ImageKit8]

Border Adjustment and Gamma Adjustment values have been added to CapNo.

[Differences from ImageKit9]

Added AutoBright value to CapNo.


IKScanList

This function lists the scan devices

[C++Builder/Visual C++] BOOL IKScanList(HANDLE AppHandle, LPSTR List, short *SourceCount);
[Delphi] function IKScanList(AppHandle: THandle; List: PChar; var SourceCount: Smallint): LongBool;
[Visual Basic] Function IKScanList(ByVal AppHandle As Long, ByVal List As String, SourceCount As Integer) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
List | A parameter the contains the retrieved scan device list
SourceCount | The retrieved number of installed scan devices

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The IKScanList function lists the installed scan devices.

* Please make sure that List does not exceed the size

(1)C++Builder/Visual C++
char List[1024];

(2)Delphi
List: array[0..1023] of Char;

(3)Visual Basic
Dim List As String * 1024

If the return value is True (nonzero), then the List string will have the following syntax, "current device,xxxxx,xxxxx,xxxxx,...,". If no datasource is selected and the current device then the List string will start with a comma "," (Note the List string ends with a comma ",").

The SourceCount is the number of items in the List string minus the current device.

[Differences from the ImageKit5]

Function Name Parameters
IK5ScanList: hWnd, List
IKScanList: AppHandle, List, SourceCount

Since the ImageKit6, the hWnd is passed by IKScanInitialize and the return value is used by AppHandle


IKScanListLen

This function retrieves the length of the scan device list

[C++Builder/Visual C++] int IKScanListLen(HANDLE AppHandle);
[Delphi] function IKScanListLen(AppHandle: THandle): Integer;
[Visual Basic] Function IKScanListLen(ByVal AppHandle As Long) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize

Return Value

Returns the length of the datasource (scan device) list if successful. Returns 0 if unsuccessful.

Explanation

The IKScanListLen function retrieves the length of the datasource (scan device) list.

[Differences from the ImageKit5]

Function Name Parameters
IK5ScanListLen: hWnd, List
IKScanListLen: AppHandle

Since the ImageKit6, the hWnd is passed by IKScanInitialize and the return value is used by AppHandle


IKScanLoadTwain

This function loads the TWAIN DLL.

[C++Builder/Visual C++] BOOL IKScanLoadTwain(LPCSTR FileName);
[Delphi] function IKScanLoadTwain(FileName: PAnsiChar): LongBool;
[Visual Basic] Function IKScanLoadTwain(ByVal FileName As String) As Long

Parameters

Name | Explanation
FileName | The full path to the TWAIN DLL

Return Value

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

Explanation

The IKScanLoadTwain function loads the TWAIN DLL.

When using the 32 bit Twain_32.dll (In Windows Folder) or the 64 bit TWAINDSM.dll (In Windows\System32 Folder) it is not necessary to use this function to load the TWAIN DLL. The ImageKit will do that internally. However, if you are using the 32 bit DLL TWAINDSM.dll, then you must load that dll using this function.

After using IKScanLoadTwain, be sure to use IKScanInitialize.

You must always use IKScanLoadTwain and IKScanFreeTwain in tandem, however before executing IKScanFreeTwain, be sure to execute IKScanTerminate. For example,

Execute these functions is the following sequence:

IKScanLoadTwain

IKScanInitialize

......... 'other scan functions
.........
.........
IKScanTerminate

IKScanFreeTwain


IKScanOpenDS

This function opens the scan device

[C++Builder/Visual C++] HANDLE IKScanOpenDS(HANDLE AppHandle, LPCSTR ScanDsName);
[Delphi] function IKScanOpenDS(AppHandle: THandle; ScanDsName: PChar ): THandle;
[Visual Basic] Function IKScanOpenDS(ByVal AppHandle As Long, ByVal ScanDsName As String) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
ScanDsName | The name of the open scan device

Return Value

Returns the datasource handle if successful. Returns 0 if unsuccessful.

Explanation

The IKScanOpenDS function opens the datasource set in the ScanDsName parameter.

If the ScanDsName parameter is blank, please execute the IKScanSelect function prior to executing the IKScanOpenDS function. (When the ScanDsName parameter is blank or null, the datasource is selected by the IKScanSelect function).

Note: If a datasource (scan device) is opened by executing IKScanOpenDS then no other applications can access that datasource until it is closed using IKScanCloseDS.


IKScanSelect

This function selects the scan device

[C++Builder/Visual C++] BOOL IKScanSelect(HANDLE AppHandle, PTR_IKSCAN_DATASOURCEINFO SelectDS);
[Delphi] function IKScanSelect(AppHandle: THandle; var SelectDS: IKSCAN_DATASOURCEINFO): LongBool;
[Visual Basic] Function IKScanSelect(ByVal AppHandle As Long, SelectDS As IKSCAN_DATASOURCEINFO) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize
SelectDS | A structure whose member variables retrieve the scan datasource information

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKScanSelect function selects the scan device. When this function is executed, the installed TWAIN drivers are listed in a dialog box and can be selected. If successful, information about the scan device is set in the SelectDS. For details about IKSCAN_DATASOURCEINFO structure, please refer to the definition of the structure in the Ik10Scan.dll, Ik10ScanA.dll, Ik10Scan64.dll, Ik10Scan64A.dll section.

[Differences from the ImageKit5]

Function Name Parameters
IK5ScanSelect: hWnd
IKScanSelect: AppHandle, SelectDS

Since the ImageKit6, the hWnd is passed by IKScanInitialize and the return value is used by AppHandle


IKScanTerminate

This function ends the TWAIN process

[C++Builder/Visual C++] BOOL IKScanTerminate(HANDLE AppHandle);
[Delphi] function IKScanTerminate(AppHandle: THandle): LongBool;
[Visual Basic] Function IKScanTerminate(ByVal AppHandle As Long) As Long

Parameters

Name | Explanation
AppHandle | The application handle retrieved by IKScanInitialize

Return Value

Returns True (nonzero) when successful, returns False (0) when not successful.

Explanation

The IKScanTerminate function ends the TWAIN process. This function must be used in conjunction with the IKScanInitialize function. If an invalid value is set into the AppHandle parameter and error will occur.


Ik10VertCom.dll, Ik10VertComA.dll, Ik10VertCom64.dll, Ik10VertCom64A.dll

The Ik10VertCom.dll, Ik10VertComA.dll, Ik10VertCom64.dll, and Ik10VertCom64A.dll provide basic functions for processing vector images

Ik10VertCom.dll, Ik10VertComA.dll, Ik10VertCom64.dll, Ik10VertCom64A.dll Functions:

Function Name | Explanation
IKCreateVectImage | Creates a new vector image of type EMF
IKCreateVectImageEx | Creates a new vector image or the type specified
IKDrawVectObject | Draws the vector image to the device context
IKVectorGdipEnd | Closes the GDI+ process
IKVectorGdipStart | Starts the GDI+ process
IKVectorToRaster | Converts a vector image to a raster image


IKCreateVectImage

This function creates an EMF vector image. To specify another type of vector image, please see the IKCreateVectImageEx function

[C++Builder/Visual C++] HANDLE IKCreateVectImage(long Width, long Height, long Xdpi, long Ydpi);
[Delphi] function IKCreateVectImage(Width, Height, Xdpi, Ydpi: Longint): THandle;
[Visual Basic] Function IKCreateVectImage(ByVal Width As Long, ByVal Height As Long, ByVal Xdpi As Long, ByVal Ydpi As Long) As Long

Parameters

Name | Explanation
Width | The width of the created image (in pixels)
Height | The height of the created image (in pixels)
Xdpi | The number of pixels in one horizontal inch of the created image
Ydpi | The number of pixels in one vertical inch of the created image

Return Value

Returns the vector image handle if successful. Returns False (0) if unsuccessful.

Explanation

The IKCreateVectImage function creates an EMF vector image. To specify another type of vector image, please see the IKCreateVectImageEx function


IKCreateVectImageEx

ImageKit10 Ik10VectCom.dll

IKCreateVectImage

This function creates a vector image of the type specified.

[C++Builder/Visual C++] HANDLE IKCreateVectImageEx(long Type, long Width, long Height, long Xdpi, long Ydpi);
[Delphi] function IKCreateVectImageEx(Type, Width, Height, Xdpi, Ydpi: Longint): THandle;
[Visual Basic] Function IKCreateVectImageEx(ByVal Type As Long, ByVal Width As Long, ByVal Height As Long, ByVal Xdpi As Long, ByVal Ydpi As Long) As Long

Parameters

Name | Explanation
Type | The vector image type (0: WMF, 1: EMF, 2: DXF, 3: SVG, 4: SXF)
Width | The width of the created image (in pixels)
Height | The height of the created image (in pixels)
Xdpi | The number of pixels in one horizontal inch of the created image
Ydpi | The number of pixels in one vertical inch of the created image

Return Value

Returns the vector image handle if successful. Returns False (0) if unsuccessful.

Explanation

The IKCreateVectImageEx function creates a vector image of the type specified by the Type parameter. Also see the IKCreateVectImage function.


IKDrawVectObject

This function draws the vector image to the device context

[C++Builder/Visual C++] BOOL IKDrawVectObject(HDC hDC, HANDLE hMbh, int DstOrgX, int DstOrgY, int SrcOrgX, int SrcOrgY, double XScale, double YScale, BOOL Black);
[Delphi] function IKDrawVectObject(hDC: HDC; hMbh: THandle; DstOrgX, DstOrgY, SrcOrgX, SrcOrgY: Integer; XScale, YScale: Double; Black: LonBool): LongBool;
[Visual Basic] Function IKDrawVectObject(ByVal hDC As HDC, ByVal hMbh As Long, ByVal DstOrgX As Long, ByVal DstOrgY Long, ByVal SrcOrgX As Long, ByVal SrcOrgY As Long, ByVal XScale As Double, ByVal YScale As Double, ByVal Black As Long) As Long

Parameters

Name | Explanation
hDC | The device context in which the vector image is displayed (screen or printer).
hMbh | The image handle of the vector image
DstOrgX | The X coordinate of the point in the device context where the top-left corner of the vector image will be drawn.
DstOrgY | The Y coordinate of the point in the device context where the top-left corner of the vector image will be drawn.
SrcOrgX | The X coordinate of the top-left corner of the source vector image.
SrcOrgY | The Y coordinate of the top-left corner of the source vector image.
XScale | The scale in the X direction (Actual size is 1.0)
YScale | The scale in the Y direction (Actual size is 1.0)
Black | Reverses black and white in DXF images. [True (nonzero) : Reverses color, False (0): does not reverse color].

Return Value

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

Explanation

The IKDrawVectObject function draws the vector image to the device context. DstOrgX, DstOrgY, SrcOrgX, and SrcOrgY are given in pixel units. To display the whole hMbh image, set SrcOrgX and SrcOrgY to 0. When the hMbh image is a DXF image then Black is enabled.

Note: To execute this function, you must first execute the FunctionIkVectorGdipStart function.


IKVectorGdipEnd

This procedure closes the GDI+ process

[C++Builder/Visual C++] void IKVectorGdipEnd(ULONG_PTR token);
[Delphi] procedure IKVectorGdipEnd(token: DWORD);
[Visual Basic] Sub IKVectorGdipEnd(ByVal token As Long)

Parameters

Name | Explanation
token | The token retrieved by IKVectorGdipStart

Return Value

None

Explanation

The IKVectorGdipEnd procedure closes the GDI+ process. This is used with the IKDrawVectObject and IKVectorToRaster functions or when the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll is used to load or or save a vector image.


IKVectorGdipStart

This function starts the GDI+ process

[C++Builder/Visual C++] ULONG_PTR IKVectorGdipStart(void);
[Delphi] function IKVectorGdipStart(): DWORD;
[Visual Basic] Function IKVectorGdipStart() As Long

Parameters

None

Return Value

Returns a token if successful. If unsuccessful, returns 0.

Explanation

The IKVectorGdipEnd procedure starts the GDI+ process. This function must be used with the IKDrawVectObject and IKVectorToRaster functions or when the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll is used to load or or save a vector image.


IKVectorToRaster

This function converts a vector image to a raster image

[C++Builder/Visual C++] HANDLE IKVectorToRaster(HANDLE hMbh, short BitCount, BOOL Black, BYTE BackRed, BYTE BackGre, BYTE BackBlu);
[Delphi] function IKVectorToRaster(hMbh: THandle; BitCount: Smallint; Black: LongBool; BackRed, BackGre, BackBlu: Byte): THandle;
[Visual Basic] Function IKVectorToRaster(ByVal hMbh As Long, ByVal BitCount As Integer, ByVal Black As Long, ByVal BackRed As Byte, ByVal BackGre As Byte, ByVal BackBlu As Byte) As Long

Parameters

Name | Explanation
hMbh | The image handle of the vector image
BitCount | The bit count of the raster image after conversion (1, 4, 8, 16, 24, 32)
Black | Reverses black and white in DXF images. [True (nonzero) : Reverses color, False (0): does not reverse color]
BackRed | Background color (red value)
BackGre | Background color (green value)
BackBlu | Background color (blue value)

Return Value

Returns the raster image handle if successful, otherwise returns False (0)

Explanation

The IKVectorToRaster function converts a vector image to a raster image. If the hMbh parameter refers to a DXF image, then the Black parameter is enabled.

Note: To execute this function, you must first execute the FunctionIkVectorGdipStart function.

Differences from the ImageKit6

In the ImageKit6 is function was called IKVectToDib


LastWriteTimeMinute (ImageKit Control/File Property)

ImageKit10 ActiveX

LastWriteTimeMinute (ImageKit Control/ File Property)

This property refers to the minute when the file was last modified. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastWriteTimeMinute [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastWriteTimeMinute()
[VB.NET] imagekitcontrolname.File.LastWriteTimeMinute[ = Short ]
[C#.NET] imagekitcontrolname.File.LastWriteTimeMinute[ = short ]

Reference

The minute when the file was last modified

Explanation

The LastWriteTimeMinute property refers to the month when the file was last modified. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.


LastWriteTimeMonth (ImageKit Control/File Property)

ImageKit10 ActiveX

LastWriteTimeMonth (ImageKit Control/ File Property)

This property refers to the month when the file was last modified. Retrieved after executing the GetImagefileType method.

[Visual Basic] imagekitcontrolname.File.LastWriteTimeMonth [ = Integer ]
[Visual C++] [ short = ]imagekitcontrolname.GetFile().GetLastWriteTimeMonth()
[VB.NET] imagekitcontrolname.File.LastWriteTimeMonth[ = Short ]
[C#.NET] imagekitcontrolname.File.LastWriteTimeMonth[ = short ]

Reference

The month when the file was last modified

Explanation

The LastWriteTimeMonth property refers to the month when the file was last modified. This value is retrieved after executing the GetImagefileType method. If the GetImagefileTypeMem method is executed, 0 will be returned.

Setting this value

This value cannot be set.

Retrieving this value

This value can be retrieved at run-time.