ImageKit.NET2: Frequently Asked Questions
Below are a few of the most frequently asked questions by users of the ImageKit.NET2. Click on the question number to jump to the answer.
No. | Question | Date |
23 | Q. When the ImageKit Control on my form has focus, the form's KeyDown and KeyPress events do not fire. What can I do? |
2013/11/26 |
22 | Q. Why do I get an error on my 64 bit OS when I set Visual Studio's solution platform to (x64) and build my application? |
2013/08/29 |
21 | Q. When I install the ImageKit.NET2, I check the box "Register in the Visual Studio 20XX Toolbox" but after installation, the ImageKit.NET2 isn't displayed in the toolbox.
Why? |
2012/01/31 |
20 | Q. Is it possible to use code to retrieve information about an
annotation object and to edit that annotation object? I can right click on an
annotation object and select properties to bring up the dialog box with that
information but I would like to do this with code. Is that possible? |
2011/12/02 |
19 | Q. When I install the ImageKit.NET2 in VisualStudio2010 and set the
target .NET Framework to 3.5, the ImageKit control is not displayed in the
VS2010 Toolbox. Can I use the ImageKit.NET2 in VS2010 with Framework3.5? |
2012/12/12 Updated |
18 | Q. When I try to run an application containing the ImageKit.NET2 on
an environment that is not connected to the internet, it can take a long time
for the application to start up. Why? Is there anything I can do about it? |
2013/03/05 |
17 | Q. How do I convert an image's height or width from pixels to inches or centimeters | 2009/08/20 |
16 | Q. Can an application that uses TWAIN run on a 64 bit OS? | 2009/06/03 |
15 | Q. When I run my program in Visual Studio in debug mode, the ImageKit.NET Effect or Scan functions are much much slower than they are when running the EXE outside of Visual Studio. What can I do to make my program run faster when I am debugging? | 2009/06/03 |
14 | Q. How do I create a mirror image or flip an image? | 2009/06/03 |
13 | Q. With the scan driver's UI suppressed, how can I scan multiple areas of the document? | 2009/06/03 |
12 | Q. How can I use the scanner's automatic paper detection functions when using my own custom built scan interface (When the scan driver's UI is suppressed) ? | 2009/06/03 |
11 | Q. How can I scan only one part of the paper when using my own custom built scan interface (When the scan driver's UI is suppressed) ? | 2009/06/03 |
10 | Q. I know that the Scan control supports standard TWAIN capability but what about support for independent manufacturer's custom capability? | 2011/04/27 Updated |
9 | Q. In a new project, I placed the controls on the form but when I build the project, I get an error!! | 2009/06/03 |
8 | Q. How do I change the resolution property value of a raster image? | 2009/06/03 |
7 | Q. How do I create a multipage tiff image using the ImageKit.NET2? | 2011/08/29 Updated |
6 | Q. In the ImageKit.NET2 (WinForm) Thumbnail control, how is the size of a thumbnail image determined? | 2009/06/03 |
5 | Q. When I drag a file into the Thumbnail Control (WinForm), how can I retrieve the filename and path? | 2009/06/03 |
4 | Q. I want to use the ImageKit.NET2 Effect and Scan classes without using the component. Is that possible? | 2009/06/03 |
3 | Q. Does the ImageKit.NET2 support ClickOnce deployment? | 2009/06/03 |
2 | Q. I installed the ImageKit.NET2 two weeks ago and it doesn't work anymore. | 2009/06/03 |
1 | Q. When I install or uninstall the ImageKit.NET2 in Windows Vista, I am unable to do so and I get a message that says to control the support administrator or package vendor. HELP! | 2009/06/03 |
No. | Question | Date |
Answer | ||
23 | Q. When the ImageKit Control on my form has focus, the form's KeyDown and KeyPress events do not fire. What can I do? | 2013/11/26 |
A. This issue is not confined to the ImageKit Control. Other controls like Button Controls have a similar issue. In order to resolve the problem set the Form's KeyPreview property to True. Now even when a control has focus, the Form's KeyDown and KeyPress events will fire. However, the above will not work for the arrow, tab, page up, or page down keys. In order to get these keys to generate KeyDown and KeyPress events you will need to override the Form Class ProcessDialogKey method and add some code. Below is an example that displays a messagebox when the left arrow and tab keys are pressed. VB.NET: <System.Security.Permissions.UIPermission( _ System.Security.Permissions.SecurityAction.LinkDemand, _ Window:=System.Security.Permissions.UIPermissionWindow.AllWindows)> _ Protected Overrides Function ProcessDialogKey( ByVal keyData As Keys) As Boolean 'Check to see if the left arrow key is pressed If (keyData And Keys.KeyCode) = Keys.Left Then MessageBox.Show("Left Arrow Key Is Pressed") Return True 'Check to see if the Tab key is pressed ElseIf (keyData And Keys.KeyCode) = Keys.Tab Then MessageBox.Show("Tab Key Is Pressed") Return True End If Return MyBase.ProcessDialogKey(keyData) End Function C# : [System.Security.Permissions.UIPermission( System.Security.Permissions.SecurityAction.LinkDemand, Window = System.Security.Permissions.UIPermissionWindow.AllWindows)] protected override bool ProcessDialogKey(Keys keyData) { //Check to see if the left arrow key is pressed if ((keyData & Keys.KeyCode) == Keys.Left) { MessageBox.Show("Left Arrow Key Is Pressed"); return true; } //Check to see if the Tab key is pressed else if ((keyData & Keys.KeyCode) == Keys.Tab) { MessageBox.Show("Tab Key Is Pressed"); return true; } return base.ProcessDialogKey(keyData); } |
||
22 | Q. Why do I get an error on my 64 bit OS when I set Visual Studio's solution platform to (x64) and build my application? | 2013/08/29 |
A. The error is related to the .NET Framework License Compiler (LC.exe). The ImageKit.NET2 assemblies work in both the 32bit and 64 bit environments but you must use the 32bit version of LC.exe. If you build your application with the 64bit LC.exe, you'll get a license compiler error. The 64bit LC.exe is used under the following conditions: your machine is a 64bit operating system; your development environment has .NET Framework 4.5 installed; you are using Visual Studio 2010 or 2012; and your building your application with a target platform of (x64). When all of these conditions are met, the 64bit version LC.exe will be used by default. To change this and use the 32bit LC.exe, you will need to open your .csproj file or your .vbproj file and under the <project group> headings, add the <DisableOutOfProcTaskHost> tag with a value of 1, which means "use the 32bit LC.exe". i.e. <PropertyGroup> <DisableOutOfProcTaskHost>1</DisableOutOfProcTaskHost> |
||
21 | Q. When I install the ImageKit.NET2, I check the box "Register in the Visual Studio 20XX Toolbox" but after installation, the ImageKit.NET2 isn't displayed in the toolbox. Why | 2012/01/31 |
A. During installation, if you selected the "install for all users" option on the "select installation folder screen", then when other users than the user that installed the ImageKit.NET2 login and use Visual Studio, the ImageKit.NET2 will not appear in the toolbox. Of course the ImageKit.NET2 can be used by this user but it must be manually added to the toolbox. | ||
20 | Q. Is it possible to use code to retrieve information about an annotation object and to edit that annotation object? I can right click on an annotation object and select properties to bring up the dialog box with that information but I would like to do this with code. Is that possible? | 2011/12/02 |
A. Yes, this is possible. It is possible to retrieve information about an annotation object by selecting that object and checking the ImageKit.Edit.SelectedObject property. The object can be edited by using the ImageKit.Edit.SetSelectedObject property. The following code example shows you how to select an object, retrieve its information, then change the object properties: VB.NET: For i As Integer = 1 To imageKit1.Edit.NumberOfObjects imageKit1.Edit.SelectObject(i) If imageKit1.Edit.SelectedObjectKind = Newtone.ImageKit.Win.KindOfEdit.Line Then imageKit1.Edit.SetSelectedObjectColors(Color.Blue, imageKit1.Edit.BackColor) End If imageKit1.Edit.DeselectObjects() Next C#: for (int i = 1; i < = imageKit1.Edit.NumberOfObjects; i++) { imageKit1.Edit.SelectObject(i); if (imageKit1.Edit.SelectedObjectKind == KindOfEdit.Line) imageKit1.Edit.SetSelectedObjectColors(Color.Blue, imageKit1.Edit.BackColor); imageKit1.Edit.DeselectObjects(); } |
||
19 | Q. When I install the ImageKit.NET2 in VisualStudio2010 and set the target .NET Framework to 3.5, the ImageKit control is not displayed in the VS2010 Toolbox. Can I use the ImageKit.NET2 in VS2010 with Framework3.5? | 2012/12/12 Updated |
A. Yes you can. From ImageKit.NET2 version 2.0.1.10024, the installer includes all Visual Studio versions. Please use the latest ImageKit.NET2 installer | ||
18 | Q. When I try to run an application containing the ImageKit.NET2 on
an environment that is not connected to the internet, it can take a long time
for the application to start up. Why? Is there anything I can do about it? |
2013/03/05 |
A. The ImageKit.NET2 assemblies are digitally signed. To validate an application using a digitally signed assembly, a PC may try to download the CRL (certificate revocation list). If the PC is not connected to the internet, the application will not start up until after the attempt to download the CRL has timed out. To avoid this problem you can set the PC (that is not connected to the internet)
so that it will not download the CRL in the following way: Another way to avoid this problem for PCs (that are not connected to the internet) and have .NET Framework 2.0 Service Pack 1 or above, you can set the following in the application's exe.config:
<configuration> From 2013/03/05, we have made unsigned dll assemblies available. |
||
17 | Q. How do I convert an image's height or width from pixels to inches or centimeters | 2009/08/20 |
A. Please refer to the following example. When using an image set in the Image property: In VB.NET: In C#: |
||
16 | Q. Can an application that uses TWAIN run on a 64 bit OS? | 2009/06/03 |
A. Yes, but it has to run as a 32 bit application. Also, the target platform
must be (x86). If the application is built with a target platform of (x64) or
(Any CPU), then the TWAIN application will not run. |
||
15 | Q. When I run my program in Visual Studio in debug mode, the ImageKit.NET Effect or Scan functions are much much slower than they are when running the EXE outside of Visual Studio. What can I do to make my program run faster when I am debugging? | 2009/06/03 |
A. You will need to disable your Managed Debug Assistant (MDA). For details,
please refer to: |
||
14 | Q. How do I create a mirror image or flip an image? | 2009/06/03 |
A. Use the Effect interface's Rotation method and set the angle parameter to 0.
To create a mirror image, set the xTurn parameter to True. To flip the image,
set the yTurn parameter to True. |
||
13 | Q. With the scan driver's UI suppressed, how can I scan multiple areas of the document? | 2009/06/03 |
A. It is not possible to scan multiple areas simultaneously. For that reason, you must execute multiple scans to scan different areas of the document. See example code below: To perform multiple scans of the document plate: In VB.NET: If
ImageKit1.Scan.Initialize(Me.Handle, 1, 0, "1.00", "NEWTONE Corp.",
"ImageKit", "ImageKit.NET Scan Sample") = False Then Exit Sub In C#: if
(imageKit1.Scan.Initialize(this.Handle, 1, 0, "1.00", "NEWTONE Corp.",
"ImageKit", "ImageKit.NET Scan Sample") == false) return; Be sure to any necessary codein the AfterScan event.
|
||
12 | Q. How can I use the scanner's automatic paper detection functions when using my own custom built scan interface (When the scan driver's UI is suppressed) ? | 2009/06/03 |
A. Confirm that your datasource supports automatic paper detection by using the
IsCapabilitySupported method. If your datasource supports automatic paper
detection then set the PaperSize property to UndefinedSize and set the
BorderDetection property to True. Note that there are some datasources that
work regardless of what value is set in the BorderDetection property. |
||
11 | Q. How can I scan only one part of the paper when using my own custom built scan interface (When the scan driver's UI is suppressed) ? | 2009/06/03 |
A. |
||
10 | Q. I know that the Scan control supports standard TWAIN capability but what about support for independent manufacturer's custom capability? | 2011/04/27 Updated |
A. The ImageKit.NET2 Scan control supports the custom capabilities of 3 scanner manufacturers; Canon, Epson, and Panasonic. Below is a list of the custom capabilites: Canon (DR Scanner): Epson: Panasonic: PFU Fujitsu: |
||
9 | Q. In a new project, I placed the controls on the form but when I build the project, I get an error!! | 2009/06/03 |
A. In your project, please make sure that all of the necessary ImageKit.NET2 assemblies are properly referenced. Listed below is the control name and the assemblies that must be referenced. WinForm WebForm |
||
8 | Q. How do I change the resolution property value of a raster image? | 2011/08/29 Updated |
A. The following code will change the resolution property value of
the image set in the Image property to 300 dpi In VB.NET: Dim bmp As System.Drawing.Bitmap = ImageKit1.Image.Clone() bmp.SetResolution(300, 300) ImageKit1.Image = bmp.Clone() In C#: System.Drawing.Bitmap bmp = (System.Drawing.Bitmap)imageKit1.Image.Clone(); bmp.SetResolution(300, 300); imageKit1.Image = (System.Drawing.Image)bmp.Clone(); The above code will merely set the value in the resolution property of the image. In order to actually save the image at the new resolution value you will need to do this.... In VB.NET: Dim bmp As New System.Drawing.Bitmap(ImageKit1.Image.Width, ImageKit1.Image.Height) bmp.SetResolution(300, 300) Dim g As System.Drawing.Graphics = Graphics.FromImage(bmp) g.DrawImage(imageKit1.Image, 0, 0, ImageKit1.Image.Width, ImageKit1.Image.Height) g.Dispose() ImageKit1.Image = bmp ImageKit1.File.FileName = ・・・ ImageKit1.File.SaveImageToFile(SaveFileType....., Nothing) bmp.Dispose() In C#: System.Drawing.Bitmap bmp = new Bitmap(imageKit1.Image.Width, imageKit1.Image.Height); bmp.SetResolution(300, 300); Graphics g = System.Drawing.Graphics.FromImage(bmp); g.DrawImage(imageKit1.Image, 0, 0, imageKit1.Image.Width, imageKit1.Image.Height); g.Dispose(); imageKit1.Image = bmp imageKit1.File.FileName = ・・・; imageKit1.File.SaveImageToFile(SaveFileType....., null); bmp.Dispose(); |
||
7 | Q. How do I create a multipage tiff image using the ImageKit.NET2? | N/A |
A. Please refer to the following examples: 1. To save images retrieved from scanners or digital cameras... In VB.NET: Dim Ret As Boolean ImageKit1.File.FileName = "abc.tif" ImageKit1.File.TiffAppend = True 'enable multipage tiff ImageKit1.Scan.Transfer = Newtone.ImageKit.ScanTransfer.Memory 'or Newtone.ImageKit.ScanTransfer.Native Ret = ImageKit1.Scan.Execute() 'execute the scan ImageKit1.File.CloseMultiTiff() 'close multipage tiff file. Be sure to execute this after the File.SaveImageToFile method has been executed. 'In the AfterScan event: Private Sub ImageKit1_AfterScan(ByVal sender As Object, ByVal e As Newtone.ImageKit.AfterScanEventArgs) Handles ImageKit1.AfterScan ImageKit1.File.SaveImageToFile(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, e.Bitmap1) End Sub In C#: bool Ret; imageKit1.File.FileName = "abc.tif"; imageKit1.File.TiffAppend = true; //enable multipage tiff imageKit1.Scan.Transfer = Newtone.ImageKit.ScanTransfer.Memory //or Newtone.ImageKit.ScanTransfer.Native Ret = imageKit1.Scan.Execute(); //execute the scan imageKit1.File.CloseMultiTiff(); //close multipage tiff file.Be sure to execute this after the File.SaveImageToFile method has been executed. //In the AfterScan event: private void imageKit1_AfterScan(object sender, Newtone.ImageKit.AfterScanEventArgs e) { imageKit1.File.SaveImageToFile(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, e.Bitmap1); } 2. To save mulitple image files into one multipage file... In VB.NET: Dim I As Integer ImageKit2.File.FileName = "abc.tif" ImageKit2.File.TiffAppend = True 'enable multipage tiff ImageKit1.LayerNumber = -1 ImageKit1.File.LoadPage = 0 'load and save images 001.jpg ... 005.jpg into one file For I = 1 To 5 ImageKit1.File.FileName = I.ToString("d03") + ".jpg" 'set the file name ImageKit1.File.LoadImageFromFile(Newtone.ImageKit.LoadFileType.Load) ImageKit2.File.SaveImageToFile(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, ImageKit1.Image) Next I ImageKit2.File.CloseMultiTiff() 'close multipage tiff file. Be sure to execute this after the File.SaveImageToFile method has been executed. In C#: int i; imageKit2.File.FileName = "abc.tif"; imageKit2.File.TiffAppend = true; //enable multipage tiff imageKit1.LayerNumber = -1; imageKit1.File.LoadPage = 0; //load and save images 001.jpg ... 005.jpg into one file for (i = 1; i < = 5; i++) { imageKit1.File.FileName = i.ToString("d03") + ".jpg"; //set the file name imageKit1.File.LoadImageFromFile(Newtone.ImageKit.LoadFileType.Load); imageKit2.File.SaveImageToFile(Newtone.ImageKit.SaveFileType.SaveTIFFNoncompressed, imageKit1.Image); } imageKit2.File.CloseMultiTiff(); 'close multipage tiff file.Be sure to execute this after the File.SaveImageToFile method has been executed. |
||
6 | Q. In the ImageKit.NET2 (WinForm) Thumbnail control, how is the size of a thumbnail image determined? | 2009/06/03 |
A. The total display area of the Thumbnail control is divided by the
number of rows and number of columns to get size of an individual thumbnail
cell (minus border width, cell spacing, etc). The display area within this
thumbnail cell will have a width of 80% of the thumbnail cell's width and a
height of 80% of the thumbnail cell's height. The thumbnail image will be
scaled to fit within this display area and centered within the thumbnail cell.
This is the maximum size of the thumbnail image. To adjust the thumbnail image
size (up to this maximum size), use the ImageSize property. |
||
5 | Q. When I drag a file into the Thumbnail Control (WinForm), how can I retrieve the filename and path? | 2009/06/03 |
A. Use the Thumbnail control's DragDrop event: In VB.NET: Private Sub Thumbnail1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Thumbnail1.DragDrop Dim FileName As String() = DirectCast(e.Data.GetData(DataFormats.FileDrop), String()) End Sub In C#: private void thumbnail1_Private Sub Thumbnail1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) { string[] FileName = (string [])e.Data.GetData(DataFormats.FileDrop); } |
||
4 | Q. I want to use the ImageKit.NET2 Effect and Scan classes without using the component. Is that possible? | 2009/06/03 |
A. Yes, the ImageKit.NET2 classes can be used. Please refer to the
ImageKit.NET2 Class Library Reference for details. |
||
3 | Q. Does the ImageKit.NET2 support ClickOnce deployment? | 2009/06/03 |
A. Yes, the ImageKit.NET2 supports ClickOnce deployment. |
||
2 | Q. I installed the ImageKit.NET2 two weeks ago and it doesn't work anymore. | 2009/06/03 |
A. Please confirm that your license has been activated. For details, please
refer to the file "License Activation.pdf" in the "Activation" folder under the
"Tool" folder in the directory where you installed the ImageKit.NET2. |
||
1 | Q. When I install or uninstall the ImageKit.NET2 in Windows Vista, I am unable to do so and I get a message that says to control the support administrator or package vendor. HELP! | 2009/06/03 |
A. In Windows Vista, do the following: Go to the Control Panel and
select "Classic View". Click on "User Accounts". Click "Turn User Account
Control on or off". Then uncheck the box "Use User Account Control (UAC) to
help protect your computer". Click the "OK" button. After that, try installing
or uninstalling the ImageKit.NET2 again. |