https://bbs.csdn.net/topics/380057186 使用Eztw32.dll函数库,常用函数如下:1.显示设备列表对话框,选择您的设备后打开 extern "C" __declspec(dllexport) long __stdcall TWAIN_SelectImageSource(HANDLE hd);//参数为窗口句柄 2.打开缺省的设备,不显示设备列表对话框 extern "C" __declspec(dllexport) bool __stdcall TWAIN_OpenDefaultSource(); 3.将图像扫描到剪贴板,您可以在程序中将剪贴板中的程序复制出来,或显示或保存 extern "C" __declspec(dllexport) long __stdcall TWAIN_AcquireToClipboard(HANDLE hd,char *a); 4.将扫描仪中的图片保存为文件,(参数1:为窗口句柄;参数2:保存文件名) extern "C" __declspec(dllexport) int __stdcall TWAIN_AcquireToFilename(HWND hwndApp,char* Filename); 5.扫描仪表状态,返回表示获取图片成功 extern "C" __declspec(dllexport) int __stdcall TWAIN_State(); 请先用1或2打开设备,程序在关闭前,仅需打开一次.然后用3或4获取图片 void __fastcall TForm1::Button1Click(TObject *Sender) { TWAIN_SelectImageSource(this->Handle);//选择设备 } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender)//读出图片,并显示 { TWAIN_AcquireToClipboard(this->Handle,NULL); TClipboard *pCB=new TClipboard; //Image1->Picture->LoadFromClipboardFormat(CF_DIB,pCB->GetAsHandle(CF_DIB),0); if (pCB->HasFormat(CF_BITMAP)) { Image1->Picture->Assign(pCB); } } |
|