twain
Publicado por sstool (2 intervenciones) el 05/07/2001 01:24:24
como puedo invocar el controlador twain desde C++ y que me vuelque la imagen donde yo quiera?
Valora esta pregunta


0
#include <twain.h>
TW_IDENTITY twIdentity;
TW_UINT16 twResult;
twResult = TWAIN_EasyDSM_Entry(&twIdentity, NULL, DG_CONTROL, DAT_PARENT, MSG_OPENDSM, (TW_MEMREF)&hWnd);
TW_UINT16 twResult;
twResult = TWAIN_EasyDSM_Entry(&twIdentity, NULL, DG_CONTROL, DAT_IDENTITY, MSG_USERSELECT, (TW_MEMREF)NULL);
TW_USERINTERFACE twUI;
TW_UINT16 twResult;
twUI.ShowUI = TRUE; // Mostrar la interfaz de usuario del controlador TWAIN
twUI.ModalUI = TRUE; // Bloquear la interfaz de usuario hasta que se complete el escaneo
twResult = TWAIN_EasyDSM_Entry(&twIdentity, NULL, DG_CONTROL, DAT_USERINTERFACE, MSG_ENABLEDS, (TW_MEMREF)&twUI);
TW_IMAGEINFO twImageInfo;
TW_UINT16 twResult;
twResult = TWAIN_EasyDSM_Entry(&twIdentity, NULL, DG_IMAGE, DAT_IMAGEINFO, MSG_GET, (TW_MEMREF)&twImageInfo);
// Abre un archivo para escritura binaria
std::ofstream outputFile("ruta/del/archivo/imagen.jpg", std::ios::binary);
// Escribe los datos de la imagen en el archivo
outputFile.write(reinterpret_cast<const char*>(twImageInfo.Memory.Pointer), twImageInfo.Memory.Length);
// Cierra el archivo
outputFile.close();