LPARAMETERS cNameImagen
thisform.text1.Value=cNameImagen
DECLARE INTEGER TWAIN_SelectImageSource IN 'Eztw32.DLL' INTEGER hWnd
DECLARE INTEGER TWAIN_GetSourceList IN 'Eztw32.DLL'
DECLARE INTEGER TWAIN_GetNextSourceName IN 'Eztw32.DLL' STRING @cSourceName
DECLARE INTEGER TWAIN_OpenSource IN 'Eztw32.DLL' STRING cSourceName
DECLARE INTEGER TWAIN_AcquireNative IN 'Eztw32.DLL' INTEGER nAppWind, INTEGER nPixelTypes
DECLARE INTEGER TWAIN_WriteNativeToFilename IN 'Eztw32.DLL' INTEGER nDIB, STRING cFilename
DECLARE INTEGER TWAIN_FreeNative IN 'Eztw32.DLL' INTEGER nDIB
DECLARE INTEGER TWAIN_SetMultiTransfer IN 'Eztw32.DLL' INTEGER nFlag
LOCAL lnImageHandle, lnReply
lnReply=-1
lcfile=ALLTRIM(thisform.text1.Value )
* Captura la imágen
lnImageHandle = TWAIN_AcquireNative(0,0)
IF lnImageHandle>0
* copia la imagen a un archivo bmp
lnReply = TWAIN_WriteNativeToFilename(lnImageHandle,"myscanner.bmp")
*/ahora lo recupero para salvarlo en jpg
local mybitmap as xfcbitmap
&& create a bitmap object
&& save the bitmap in different formats
* mybitmap.save("mypng.png", _screen.System.DRAWING.imaging.imageformat.png)
* mybitmap.save("mybmp.bmp", _screen.System.DRAWING.imaging.imageformat.bmp)
* mybitmap.save("mytiff.tif", _screen.System.DRAWING.imaging.imageformat.tiff)
mybitmap.save("myscanner.jpg", _screen.System.DRAWING.imaging.imageformat.jpeg)
ENDIF
* Libera la memoria del manejador de la imágen
TWAIN_FreeNative(lnImageHandle)
* Chequear errores
IF lnReply = 0
ELSE
*MESSAGEBOX("No se pudo digitalizar la imagen deseada",64,ctitlemessagebox,2000)
ENDIF
thisform.Release
Y necesitas esta dll eztw32.dll que debes poner en la carpeta de tu aplicación.