Using the Fast TWAIN Feature (Visual FoxPro 6)
Take the following steps to add some code that acquires the images using Fast Twain:
1. |
Start with the project you created in Acquiring an Image (Visual FoxPro 6). |
2. |
Add an option group with 2 radio buttons to form1 and change its name to optTransMode. Set the buttons' captions to "Native Mode" and "Memory Mode", respectively. |
3. |
Change the code of the form's Init procedure to be as follows: |
#DEFINE L_SUPPORT_DOCUMENT 0
&& Unlock Document support.
&& Note that this is a sample key, which will not work in your toolkit.
oRasterTwain.UnlockSupport(L_SUPPORT_DOCUMENT, "DocKey")
oRasterTwain.InitSession(ThisForm.RasterView1.Window)
TheForm = ThisForm
oRasterTwain.EnableMethodErrors = .F.
ThisForm.optTransMode.Value = 2 &&Memory
4. |
Add a check box to form1 and name it as follows: |
|
|
Name |
Caption |
|
chkUseBufferSize |
Use Buffer Size |
5. |
Add one button to form1 and name it as follows: |
|
|
Name |
Caption |
|
FastAcquire |
Fast Acquire |
6. |
Add two text boxes and name them as follows: |
txtBufferSize
txtFName
7. |
Code the Fast Acquire button Click procedure as follows: |
#define L_LTWAIN_BUFFER_MODE 2
#define L_LTWAIN_NATIVE_MODE 4
#define FILE_CCITT_GROUP4 29
#define FILE_TIF 3
#define L_LTWAIN_SHOW_USER_INTERFACE 1
#define L_LTWAIN_USE_THREAD_MODE 8
If ThisForm.optTransMode.Value = 2 Then &&Memory
oRasterTwain.FastTransferMode = L_LTWAIN_BUFFER_MODE
oRasterTwain.FastFormat = FILE_CCITT_GROUP4
Else
oRasterTwain.FastTransferMode = L_LTWAIN_NATIVE_MODE
oRasterTwain.FastFormat = FILE_TIF
EndIf
oRasterTwain.FastBitsPerPixel = 1
oRasterTwain.FastUsePreferredBufferSize = ThisForm.chkUseBufferSize.Value
oRasterTwain.FastBufferSize = Val(ThisForm.txtBufferSize.Text)
nRet = oRasterTwain.AcquireMulti(ThisForm.txtFName.Text, BitOR(L_LTWAIN_SHOW_USER_INTERFACE, L_LTWAIN_USE_THREAD_MODE), .T.)
If nRet = 0 Then
MessageBox("Fast Scanning process done successfully...")
Else
MessageBox("The AcquireMulti method failed, Error = " + Str(nRet))
EndIf
8. |
Save your project and run the PRG program to test it. |