For the above scenario apart from converting bitonal, is there any any other better way to reduce the image's memory size but still maintains the quality in order to do the OCR
Call Imaging1.FxBlackNWhiteT ()
Imaging1.ConvertTo1BppFast()Is there any method like ConvertTo1Bpp which converts to bitonal but the option of passing the ImageId rather than working on the native images.
NativeImage = Imaging1.GetnativeImage()
Imaging1.SetNativeImage(ImageID)
Imaging1.ConvertTo1Bpp()
...
Imaging1.CloseImage(ImageID)
Imaging1.SetnativeImage(NativeImage)#GdTwain Log Start. Version: 440
RC: TWRC_XFERDONE
CC: TWCC_SUCCESS
State: 6
-------------------
#GdTwain Log Stop.
#GdTwain Log Start. Version: 440
RC: TWRC_XFERDONE
CC: TWCC_SUCCESS
State: 3
-------------------
#GdTwain Log Stop.#GdTwain Log Start. Version: 601
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 1
-------------------
Start: OpenSourceManager.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 1
-------------------
DSM library loaded: C:\WINDOWS\TWAIN_32.DLL
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 1
-------------------
Entry point of the DSM found.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 1
-------------------
End: OpenSourceManager.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 3
-------------------
Start: CloseSourceManager.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 3
-------------------
End: CloseSourceManager.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 2
-------------------
Start: UnloadSourceManager.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 2
-------------------
End: UnloadSourceManager.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 1
-------------------
Start: OpenSourceManager.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 1
-------------------
DSM library loaded: C:\WINDOWS\TWAIN_32.DLL
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 1
-------------------
Entry point of the DSM found.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 1
-------------------
End: OpenSourceManager.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 3
-------------------
Start: OpenDefaultSource.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 3
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
Start: SetAutoFeed.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_FAILURE CC: TWCC_CAPBADOPERATION
-------------------
CAP_AUTOFEED. Result for Set False.
RC: TWRC_FAILURE
CC: TWCC_CAPBADOPERATION
State: 4
-------------------
End: SetAutoFeed.
RC: TWRC_FAILURE
CC: TWCC_CAPBADOPERATION
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
Start: SetXferMech.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
End: SetXferMech.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
End: OpenDefaultSource.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_FAILURE CC: TWCC_CAPUNSUPPORTED
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_FAILURE CC: TWCC_CAPUNSUPPORTED
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_GETCURRENT ->RC: TWRC_FAILURE CC: TWCC_CAPUNSUPPORTED
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_FAILURE CC: TWCC_CAPUNSUPPORTED
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
Start: SetAutoFeed.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
CAP_FEEDERENABLED. Result for Set True.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_FAILURE CC: TWCC_CAPBADOPERATION
-------------------
CAP_AUTOFEED. Result for Set True.
RC: TWRC_FAILURE
CC: TWCC_CAPBADOPERATION
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
End: SetAutoFeed.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
Start: SetAutoFeed.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
CAP_FEEDERENABLED. Result for Set True.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_FAILURE CC: TWCC_CAPBADOPERATION
-------------------
CAP_AUTOFEED. Result for Set True.
RC: TWRC_FAILURE
CC: TWCC_CAPBADOPERATION
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
End: SetAutoFeed.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
Start: AcquireNative.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
Source: Kodak Scanner: i200
Manufacturer: Eastman Kodak Company
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_GETCURRENT ->RC: TWRC_SUCCESS
-------------------
Start: WaitForXfer.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_GETCURRENT ->RC: TWRC_SUCCESS
-------------------
Start: SetXferMech.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_SET ->RC: TWRC_SUCCESS
-------------------
End: SetXferMech.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
Start: EnableSource.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_USERINTERFACE - MSG: MSG_ENABLEDS ->RC: TWRC_SUCCESS
-------------------
End: EnableSource.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 5
-------------------
ModalEventLoop: Direct transfer.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 6
-------------------
Start: DoOneTransfer.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 6
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_GETCURRENT ->RC: TWRC_SUCCESS
-------------------
Start: NativeXferHandler.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 6
-------------------
::DS operation. DG: DG_IMAGE - DAT: DAT_IMAGENATIVEXFER - MSG: MSG_GET ->RC: TWRC_FAILURE CC: TWCC_SEQERROR
-------------------
DS - DG_IMAGE/DAT_IMAGENATIVEXFER: Transfer Fail. Insufficient memory ?
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 6
-------------------
End: NativeXferHandler.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_CAPABILITY - MSG: MSG_GETCURRENT ->RC: TWRC_FAILURE CC: TWCC_CAPUNSUPPORTED
-------------------
::DS operation. DG: DG_IMAGE - DAT: DAT_EXTIMAGEINFO - MSG: MSG_GET ->RC: TWRC_FAILURE CC: TWCC_SEQERROR
-------------------
Start: EndXfer.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_PENDINGXFERS - MSG: MSG_ENDXFER ->RC: TWRC_FAILURE CC: TWCC_SEQERROR
-------------------
End: EndXfer.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
End: DoOneTransfer.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
End: ModalEventLoop.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
End: WaitForXfer.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
AcquireNative: Transfer failed or cancelled.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
Start: EndXfer.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_PENDINGXFERS - MSG: MSG_ENDXFER ->RC: TWRC_FAILURE CC: TWCC_SEQERROR
-------------------
End: EndXfer.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
End: AcquireNative.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
Start: EndXfer.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_PENDINGXFERS - MSG: MSG_ENDXFER ->RC: TWRC_FAILURE CC: TWCC_SEQERROR
-------------------
End: EndXfer.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
Start: CloseSourceForce.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_PENDINGXFERS - MSG: MSG_ENDXFER ->RC: TWRC_FAILURE CC: TWCC_SEQERROR
-------------------
Result CloseSourceForce: DG_CONTROL - DAT_PENDINGXFERS - MSG_ENDXFER.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_PENDINGXFERS - MSG: MSG_RESET ->RC: TWRC_FAILURE CC: TWCC_SEQERROR
-------------------
Result CloseSourceForce: DG_CONTROL - DAT_PENDINGXFERS - MSG_RESET.
RC: TWRC_FAILURE
CC: TWCC_SEQERROR
State: 7
-------------------
::DS operation. DG: DG_CONTROL - DAT: DAT_USERINTERFACE - MSG: MSG_DISABLEDS ->RC: TWRC_SUCCESS
-------------------
Result CloseSourceForce: DG_CONTROL - DAT_USERINTERFACE - MSG_DISABLEDS.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 4
-------------------
Result CloseSourceForce: DG_CONTROL - DAT_IDENTITY - MSG_CLOSEDS.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 3
-------------------
End: CloseSourceForce.
RC: TWRC_SUCCESS
CC: TWCC_SUCCESS
State: 3
-------------------Private Sub Command1_Click()
'Here we will scan in a 1bpp ccitt4 & 200 DPI multipage tif file
Dim nImageCount As Long
Dim nImageID As Long
If Imaging1.TwainOpenDefaultSource() Then
nImageCount = 0
InitScanConfig
Imaging1.TwainSetAutoFeed (True) 'Set AutoFeed Enabled
Imaging1.TwainSetAutoScan (True) 'To achieve the maximum scanning rate
Imaging1.TwainSetCurrentResolution (200)
Imaging1.TwainSetCurrentPixelType (TWPT_BW) 'BW
Imaging1.TwainSetCurrentBitDepth (1) ' 1 bpp
Imaging1.TwainSetHideUI (False) ' comment from Tim: will not work if set to True
'While Imaging1.CreateImageFromTwain(Me.hWnd) <> 0
While Imaging1.TwainAcquireToGdPictureImage(Me.hWnd) <> 0 'comment from Tim: return 0 if Hide UI
nImageID = Imaging1.GetNativeImage
nImageCount = nImageCount + 1
Call ApplyImageFilters(nImageID)
If chkPreview.Value = 1 Then Call DisplayNativeImage
If nImageCount = 1 Then
Call Imaging1.TiffSaveAsNativeMultiPage(App.Path & "\multipage.tif", 4)
Else
Imaging1.TiffAddToNativeMultiPage (nImageID)
Imaging1.CloseImage (nImageID)
End If
Wend
Imaging1.TiffCloseNativeMultiPage
Imaging1.TwainCloseSource
MsgBox "Done !"
Else
MsgBox "can't open default source, twain state is: " & Trim(Str(Imaging1.TwainGetState))
End If
End SubReturn to GdPicture [Pro] ActiveX
Users browsing this forum: No registered users and 1 guest