Image processing made easy!

ImageKit6: Frequently Asked Questions

Below are a few of the most frequently asked questions by users of the ImageKit6. Click on the question number to jump to the answer.

No. Question Date
35 Q. How do I create a multipage tiff file? 09/29/2006
34 Q. What determines the size of a thumbnail image in the Thumbnail Control? 09/29/2006
33 Q. In the Thumbnail Control, if I use Exif image files can the Exif thumbnail image be used? 08/22/2006
32 Q. In the development environment, everything is working fine but when I deploy I can't use certain image files. Why? 08/22/2006
31 Q. Is it possible to execute a Editing Toolbar Popup Menu command using code? 09/20/2005
30 Q. How do I draw an ampersand (&) on an image using the Print Control's IKDrawText method? When I try, I get an underbar (_). 08/05/2005
29 Q. I want to edit a vector image without using the vector image-editing toolbar. Is this possible? 03/23/2005
28 Q. In the Load event or the On Create event, when the ShowToolBar method is used to display the image-editing toolbar, if the form is displayed as modal, the toolbar's buttons cannot be clicked. What should I do? 02/09/2005
27 Q. When I draw text or other items to the raster image layer's image handle, why isn't the text displayed by the Display Control? 11/23/2004
26 Q. Does the ImageKit6 support WindowsXP Service Pack 2 or Windows Server 2003? 10/01/2004
25 Q. I would like to be able to use code to select or de-select an image that is being displayed in the Thumbnail Control. Is this possible? 03/30/2004
24 Q. When I open the VisualC#.NET 2002 sample project in Visual C#.NET 2003 and build them, an error is generated! 03/30/2004
23 Q. How do I retrieve the total number of images that are being displayed in the Thumbnail Control? 03/10/2004
22 Q. How can I get the Print dialog to initially display the settings that I saved in using the Print Control's SetPrint Method (Print DLL's IKSetPrint Function)? 01/30/2004
21 Q. Why aren't the arrow keys enabled when I set the Thumbnail Control's EnableArrowKeys property to True? 01/26/2004
20 Q. How can I tell if a particular file is supported by the ImageKit6 Lite? 12/09/2003
19 Q. When I use the ImageKit6 ActiveX Controls, are the DLL files necessary? 12/09/2003
18 Q. How can I open or save a file directly without using the Open (or Save) file dialog? 10/10/2003
17 Q. In Delphi, I get an access violation when I execute the IKJpegExifInfo function of the IK6File.dll. 09/30/2003
16 Q. I have made a client-side web application that downloads the ImageKit6 functionality via CAB file. I want to make sure that the latest CAB file is downloaded to the client when the web application is accessed. How can I do this? 07/29/2003
15 Q. When using Delphi or C++Builder and scanning with the manufacturer's user interface displayed, when I scan or use scan preview, depending on the scanner or version of the scan driver a "floating point error" is generated. N/A
14 Q. When the Thumbnail Control's Style property is 2 (custom), the background black color is not transparent. N/A
13 Q. When I select the stamp on the Display Control's image editing toolbar, the area covered by the stamp image is either solid black or not correctly displayed. What can I do? N/A
12 Q. Using the Scan Control (or Ik6Scan.dll commands) is there a way for me to click the shutter on my digital camera? N/A
11 Q. I would like to print an image so that it takes up all of the printing area for a given paper size. N/A
10 Q. I am using a film scanner and my program should be scanning multiple images but I am only able to scan one image at a time. Why? N/A
9 Q. When I try to save an image in JPEG format, the image doesn't save. Why? N/A
8 Q. In VB, when I use the DLL commands IKDrawText or IKTextOut to draw text, the commands don't work. N/A
7 Q. When I try to retrieve images from a scanner, digital camera, or other TWAIN device and the UI (user interface) is displayed, if I close the application without closing the UI, then the TWAIN scanner or digital camera doesn't work properly. N/A
6 Q. When I use Windows95 or NT4.0, I get an error. N/A
5 Q. How can I output to the VB Printer object? N/A
4 Q. When I try to use the ImageKit6 ActiveX Control in C++Builder6, I get a compile error! N/A
3 Q. I would like to move the ImageKit6 image handle to or retrieve it from the VB PictureBox or Delphi/C++Builder TBitmap. N/A
2 Q. Is it possible to custom the Display Control's image editing toolbars? N/A
1 Q. When I try to run one of the DLL sample programs I get an execution error. Why? N/A

 

No. Question Date
  Answer  
35 Q. How do I create a multipage tiff file? 09/29/2006
  A. Please consider the following example

1. When saving images that have been retrieved from a scanner or digitial camera:
Dim Ret As Boolean
IkFile1.FileName = "abc.tif"
'The file name
IkFile1.TiffAppend = True 'Needed to create a multipage tiff file

IkScan1.TransferMode = ikScanMemory 'or ikScanNative
Ret = IkScan1.ScanExec(...) 'scanning

'scanned image data is returned in this event
Private Sub IkScan1_AfterScan(ByVal DibHandle As Long, ByVal OrgHandle As Long, ByVal ImageCount As Long, ByVal BitOrder As Integer)
     IkFile1.ImgHandle = DibHandle
     IkFile1.SaveFile ikSaveTIFFNoncompressed
End Sub


2. To save mulitiple single image files into one multipage tiff file:
Dim I As Integer
IkFile2.FileName = "abc.tif"
'The filename
IkFile2.TiffAppend = True 'Needed to create a multipage tiff

IkFile1.LoadPage = 0

'Loop through the images 001.jpg to 005.jpg and save in a multipage tiff
For I = 1 To 5
     IkFile1.FileName = Format$(I, "000") & ".jpg"
'The filename
     IkFile1.LoadFile (ikLoad)

     IkFile2.ImgHandle = IkFile1.ImgHandle
     IkFile2.SaveFile ikSaveTIFFNoncompressed
Next I
 
34 Q. What determines the size of a thumbnail image in the Thumbnail Control? 09/29/2006
  A. The size of a thumbnail image is mostly determined by the available display area within a thumbnail cell and the Thumbnail Control's ImageSize property. The thumbnail cell's size is determined by the number of rows and columns within the Thumbnail Control and the GapSize property. Once an individual cell's size is determined, the ImageSize property sets the maximum allowable size for thumbnail images within each cell.  
33 Q. In the Thumbnail Control, if I use Exif image files can the Exif thumbnail image be used? 08/22/2006
  A. If the value of the ImageSize property is less than the Exif thumbnail image's height and width, then the Exif thumbnail image will be used.  
32 Q. In the development environment, everything is working fine but when I deploy I can't use certain image files. Why? 08/22/2006
  A. When you deploy, make sure that the ImageKit6 dll pertaining to the format is copied to the deployment machine. For example Ik6Png.dll is needed to load and save Png images with the ImageKit6.

1. When using the ImageKit6 ActiveX version: Check to make sure that the appropriate Ik6***.dll is copied to the same folder as the OCX.
2. When using the ImageKit6 DLL version: Check to make sure that the appropriate Ik6***.dll is copied to the folder containing the EXE file or is in a valid path.
 
31 Q. Is it possible to execute a Editing Toolbar Popup Menu command using code? 09/20/2005
  A. Unfortunately, because the Editing Toolbar Popup Menu commands are not public, it is not possible to execute them using code.  
30 Q. How do I draw an ampersand (&) on an image using the Print Control's IKDrawText method? When I try, I get an underbar (_). 08/05/2005
  A. Because the ampersand (&) signifies a shortcut key, you must escape it by entering a double ampersand (&&). Also, please use the module released on 2005/08/05.  
29 Q. I want to edit a vector image without using the vector image-editing toolbar. Is this possible? 03/23/2005
  A. Because the drawing commands for vector images are not public, it is not possible to directly edit vector images using code.  
28 Q. In the Load event or the On Create event, when the ShowToolBar method is used to display the image-editing toolbar, if the form is displayed as modal, the toolbar's buttons cannot be clicked. What should I do? 02/09/2005
  A. If the form that holds the Display Control is displayed as modal then you will need to display the image-editing toolbar after the form has been displayed.  
27 Q. When I draw text or other items to the raster image layer's image handle, why isn't the text displayed by the Display Control? 11/30/2004
  A. When using raster image layers, you pass the image handle to the Raster.ImgHandle property. Internally, the ImageKit6 creates a copy of the original image and sets transparency to the copied image. If you call the TextOut method after setting the image handle into the Raster.ImgHandle property, the Print Control draws the text to the original image and not the the copied image used by the raster image layer. For that reason you need to draw to the image handle before passing the image handle into the Raster.ImgHandle property.

Example Code:
Visual Basic
Dim ImgHandle As Long
Dim Ret As Boolean

ImgHandle = IkFile1.ImgHandle
If ImgHandle = 0 Then Exit Sub

IkPrint1.ClearProperty
IkPrint1.FontName = "MS PGothic"
IkPrint1.TextForeColor = RGB(255, 0, 0)
IkPrint1.FontSize = 10
IkPrint1.FontBold = True
IkPrint1.FontItalic = True
IkPrint1.Transparent = True
IkPrint1.Text = "Text"
Ret = IkPrint1.TextOut(ImgHandle, 20, 20, ikMemoryHandle)

IkDisp1.Raster(0).EnableTrans = True
IkDisp1.Raster(0).TransBlue = 255
IkDisp1.Raster(0).TransGreen = 255
IkDisp1.Raster(0).TransRed = 255
IkDisp1.Raster(0).ShowInDisp = True
IkDisp1.Raster(0).ImgHandle = ImgHande
'the image containing the text
IkDisp1.Refresh
 
26 Q. Does the ImageKit6 support WindowsXP Service Pack 2 or Windows Server 2003? 10/01/2004
  A. There was a problem with the FTP and HTTP commands but that has been corrected as of the update of 09/13/2004.
The ImageKit6 fully supports Windows Server 2003.
 
25 Q. I would like to be able to use code to select or de-select an image that is being displayed in the Thumbnail Control. Is this possible? 03/30/2004
  A. These methods have been added to the update modules for the ImageKit6 from 2004/03/30.
To select an image in the Thumbnail Control use the SelectImage method
To deselect an image use the DeSelectImage method
 
24 Q. When I open the VisualC#.NET 2002 sample project in Visual C#.NET 2003 and build them, an error is generated! 03/30/2004
  A. You can download the new Visual C#.NET 2003 sample programs from our website at (Newest ImageKit6 OCX / DLL Download)

Or you can convert the Visual C#.NET 2002 samples to 2003 by doing the following:
1. Open the sample project, convert the project to 2003 format and CLOSE THE PROJECT.
2. Reopen the project and build it.
 
23 Q. How do I retrieve the total number of images that are being displayed in the Thumbnail Control? 03/10/2004
  A. You can use the ShowThumbImage event's MaxImage parameter.  
22 Q. How can I get the Print dialog to initially display the settings that I saved in using the Print Control's SetPrint Method (Print DLL's IKSetPrint Function)? 01/30/2004
  A. Please refer to the code below:

ActiveX Example:
Visual Basic
Dim Ret As Boolean

IkPrint1.PrinterName = ""
IkPrint1.PrintFileName = "C:\Ik6\IkPrn.Ik"
Ret = IkPrint1.GetDevModeHandle
If Ret = False Then Exit Sub
IkPrint1.GetDevModeInfo
' Set the Options and PrintRange properties here if necessary
Ret = IkPrint1.PrintDlg
IkPrint1.ReleaseDevModeHandle
If Ret = False Then Exit Sub
'Your printing code will go here

DLL Example:
Visual Basic
Dim hDC As Long
Dim DevMode As Long
Dim IkPrnDlg As IKPRINT_DIALOG

DevMode = IKGetDevModeHandle("", "C:\Ik6\IkPrn.Ik")
If DevMode = 0 Then Exit Sub

' Set the IkPrnDlg's Options and PrintRange here if necessary
hDC = IKPrintDlg(Form1.hWnd, DevMode, IkPrnDlg)
IKReleaseDevModeHandle DevMode
If hDC = 0 Then Exit Sub

'Your printing code will go here

Delphi
DC: HDC;
DevMode: THandle;
IkPrnDlg: IKPRINT_DIALOG;

DevMode := IKGetDevModeHandle('', 'C:\Ik6\IkPrn.Ik');
if DevMode = 0 then Exit;
FillChar(IkPrnDlg, SizeOf(IkPrnDlg), 0);

//Set the IkPrnDlg's Options and PrintRange here if necessary
DC := IKPrintDlg(Form1.Handle, DevMode, IkPrnDlg);
IKReleaseDevModeHandle(DevMode);
if DC = 0 then Exit;

//Your printing code will go here

C++Builder/Visual C++
HDC hDC;
HANDLE DevMod;
IKPRINT_DIALOG IkPrnDlg;

DevMode = IKGetDevModeHandle("", "C:\\Ik6\\IkPrn.Ik");
if (!DevMode) return;
memset(&IkPrnDlg, 0, sizeof(IkPrnDlg));

//Set the IkPrnDlg's Options and PrintRange here if necessary
//In Visual C++, the Form1->Handle is m_hWnd

hDC = IKPrintDlg(Form1->Handle, DevMode, &IkPrnDlg);
IKReleaseDevModeHandle(DevMode);
if (!hDC) return;

//Your printing code will go here
 
21 Q. Why aren't the arrow keys enabled when I set the Thumbnail Control's EnableArrowKeys property to True? 01/26/2004
  A. Please confirm that the Thumbnail Control has focus by using the mouse to click on a thumbnail image frame. Please note that in some developer containers the arrow keys are not enabled even if the Thumbnail Control has focus. If that is the case, please download the maintenance release after 01/26/2004  
20 Q. How can I tell if a particular file is supported by the ImageKit6? 12/09/2003
  A. Execute the File Control's GetImagefileType method and then refer to value returned in the FileType property. If the image file format is not supported by the ImageKit6, a 0 will be returned in the FileType property. (For the DLL version, execute IKFileType then refer to FileType in the IKFILE_INFO structure variable.)  
19 Q. When I use the ImageKit6 ActiveX Controls, are the DLL files necessary? 12/09/2003
  A. Yes they are necessary. If the DLL file does not exist, the method will not execute.For a list of the necessary DLL files, please refer to the ImageKit6 Help file in the section called "Distributing applications that use the ImageKit6".  
18 Q. How can I open or save a file directly without using the Open (or Save) file dialog? 10/10/2003
  A. Set the file name and path in the File Control's FileName property then execute the LoadFile method (or the SaveFile method). When using the DLL version, use the Ik6File.dll load or save function and set the file name and path in the appropriate parameter.  
17 Q. In Delphi, I get an access violation when I execute the IKJpegExifInfo function of the IK6File.dll 09/30/2003
  A. There is a mistake in the ImageKit6.pas. Before the ExifInfo parameter of the IKJpegExifInfo function, please add "var". (For ImageKit6.pas with a timestamp prior to 2003/01/24)
[Correct Descriptor]
TDIKJpegExifInfo = function(FileName: PChar; var ExifInfo: EXIF_INFO): LongBool; stdcall;
 
16 Q. I have made a client-side web application that downloads the ImageKit6 functionality via CAB file. I want to make sure that the latest CAB file is downloaded to the client when the web application is accessed. How can I do this? 07/29/2003
  A. In your web application where you specify the URL for the cab file, set the version number of the ImgKit6.ocx file like this:

codeBase="http://myserver/IK6Web/Imgkit6.cab#version=1,1,0,18"
 
15 Q. When using Delphi or C++Builder and scanning with the manufacturer's user interface displayed, when I scan or use scan preview, depending on the scanner or version of the scan driver a "floating point error" is generated. N/A
  A. For people using Visual Basic and Visual C++, please confirm whether or not the same thing occures when using the Scan sample program that is included with the ImageKit6. If the same error is not generated using the sample program, then the cause is most likely with the TWAIN device driver. Please install the newest driver for that particular scan device.

If you are still having the same problems then please test with the FPU Exception disabled.

Example (Delphi):
var
  Saved8087CW: Word;

  Saved8087CW := Default8087CW;
  Set8087CW($133f);
  IkScan1.ScanExec(...);
  Set8087CW( Saved8080CW);
 
14 Q. When the Thumbnail Control's Style property is 2 (custom), the background black color is not transparent. N/A
  A.This occurs when using VisualStudio.NET
Instead of using the PictureDown and PictureUp properties, please use the PictureDownFile and PictureUpFile properties.
 
13 Q. When I select the stamp on the Display Control's image editing toolbar, the area covered by the stamp image is either solid black or not correctly displayed. What can I do? N/A
  A.The procedure depends on your operating system.

Windows95/98/Me
This occurs if the stamp image is Black and White (1-bit color). Please convert the image to 4-bit color or more.

WindowsNT4.0/2000/XP
This occurs when the stamp image is Black and White (1-bit color) and the StampTransBlue, StampTransGreen, and StampTransRed properties are set to nonzero. Please set the StampTransBlue, StampTransGreen, and StampTransRed properties to 0.
 
12 Q. Using the Scan Control (or Ik6Scan.dll commands) is there a way for me to click the shutter on my digital camera? N/A
  A. No there is not. The Scan Control can only be used to retrieve the images, via TWAIN, that have already been taken by the digital camera.  
11 Q. I would like to print an image so that it takes up all of the printing area for a given paper size. N/A
  A. Retrieve the available printing area using GetPaperSize and then use ImageOut to output it.

ActiveX Example (VB):
Dim Ret As Boolean
Dim Left As Long
Dim Top As Long
Dim Right As Long
Dim Bottom As Long
Dim Width As Long
Dim Height As Long

'Retrieves paper size or available printing area
Ret = IkPrint1.GetPaperSize(.hDC, Left, Top, Right, Bottom, Width, Height, ikPrinter)
'Fill the printing area and print
Ret = IkPrint1.ImageOut(hDC, ImgHandle, 0, 0, Right - Left, Bottom - Top, False, True, ikPrinter)

DLL Example (VB):
Dim Ret As Long
Dim Rect1 As IKRECT
Dim Rect2 As IKRECT
Dim Width As Long
Dim Height As Long

'Retrieves paper size or available printing area
Ret = IKGetPaperSize(.hDC, Rect1, Width, Height, 1)
'Fill the printing area and print
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)
 
10 Q. I am using a film scanner and my program should be scanning multiple images but I am only able to scan one image at a time. Why? N/A
  A. Windows is probably trying to produce a message. Set the UiMode to 0 and then in the Scan Control event force Windows to complete the entire event. (For example: In VB use the DoEvents command)  
9 Q. When I try to save an image in JPEG format, the image doesn't save. Why? N/A
  A. JPEG format supports 8-bit grayscale or 24-bit color only. If you want to save other types of images as JPEG, you will first need to convert the image to those bitcounts. For more information please refer to the ImageKit6 Lite help file.  
8 Q. In VB, when I use the DLL commands IKDrawText or IKTextOut to draw text, the commands don't work. N/A
  A. Please put Chr$(0) at the end of the IKPRINT_TEXTINFO structure FontName member variable.
For example:
Dim TextInfo As IKPRINT_TEXTINFO
  TextInfo.FontName = "Arial" & Chr$(0)
 
7 Q. When I try to retrieve images from a scanner, digital camera, or other TWAIN device and the UI (user interface) is displayed, if I close the application without closing the UI, then the TWAIN scanner or digital camera doesn't work properly. N/A
  A. If the application is closed before the ScanExec method (or IkScanExec command) has finished executing, important TWAIN processes are not able to complete. Because of this it is important not to allow the application to close before this method (or command) executes completely.  
6 Q. When I use Windows95 or NT4.0, I get an error. N/A
  A. Please try installing Internet Explorer 4.0 or higher.  
5 Q. How can I output to the VB Printer object? N/A
  A. To output to the VB Printer object, it is necessary to notify VB that the printer is open before executing an ImageKit6 method (or DLL command)

For ActiveX:
Printer.Print " " 'Notifies VB that we are printing
Ret = IkPrint1.ImageOut(Printer.hDC, ImgHandle, 100, 100, 1000, 1000, False, False, 1)
Printer.NewPage
Printer.EndDoc


For DLL:
Printer.Print " " 'Notifies VB that we are printing
Ret = IKImageOut(Printer.hDC, ImgHandle, Rect, False, False, 1)
Printer.NewPage
Printer.EndDoc
 
4 Q. When I try to use the ImageKit6 ActiveX Control in C++Builder6, I get a compile error! N/A
  A. The ImageKit6 does not support C++Builder6.  
3 Q. I would like to move the ImageKit6 image handle (raster image) to or retrieve it from the VB PictureBox or Delphi/C++Builder TBitmap. N/A
  A. There are several ways to do this.
From the ImageKit6 to the PictureBox
Use the Common Control Picture property
Use the clipboard
Pass the file to a file format that both objects can load

From the ImageKit6 to the TBitmap
Use the Common Control BitmapFromDib method
(In DLL version, use IKBitmapFromDib command)
Use the clipboard
Pass the file to a file format that TBitmap can load
From the TBitmap to the ImageKit6
Use the Common Control DibFromBitmap method
(In DLL version, use IKDibFromBitmap command)
Use the clipboard
Pass the file to a file format that the ImageKit6 can load
 
2 Q. Is it possible to custom the Display Control's image editing toolbars? N/A
  A.No it is not possible.  
1 Q. When I try to run one of the DLL sample programs I get an execution error. Why? N/A
  A. You need to copy the ImageKit6 DLL files into the same directory as the sample program or into a directory with a valid path. The ImageKit6 DLL files can be found in the "ImageKit6\Product\System" folder under the directory where the ImageKit6 was installed.