1.0.0.0__EZTW32.zip (eztw32.dll)
eztw1.zip (프로그램소스)
C++빌더에서 스캐너를 사용할 수 있는 Twain라이브러리와 사용법입니다.
아래와 같이 사용하세요.void __fastcall TForm1::Button1Click(TObject *Sender)
{
int (__stdcall* TWAIN_Acquire)(HWND hwnd, Cardinal pixmask);
int (__stdcall* TWAIN_Select)(HWND hwnd);
int (__stdcall* TWAIN_Load)();
int (__stdcall* TWAIN_Unload)();
HINSTANCE hinst;
hinst = LoadLibrary("eztw32.dll");
TWAIN_Acquire = (int (__stdcall*)(HWND hwnd, Cardinal pixmask))GetProcAddress(hinst,"TWAIN_AcquireToClipboard");
TWAIN_Select = (int (__stdcall*)(HWND hwnd))GetProcAddress(hinst,"TWAIN_SelectImageSource");
TWAIN_Load = (int (__stdcall*)())GetProcAddress(hinst,"TWAIN_LoadSourceManager");
TWAIN_Unload = (int (__stdcall*)())GetProcAddress(hinst,"TWAIN_UnloadSourceManager");
Graphics::TBitmap *Bmp = new Graphics::TBitmap();
TClipboard *pCB = Clipboard();
// 비트맵 생성.
try
{
// 소스 선택창을 띄우고...
TWAIN_Select(Handle);
// 트와인 소스를 메모리로 올린다.
if (TWAIN_Load >0)
{
// 엑콰이어된 이미지를 클립보드로 이미지를 보내고,
if (TWAIN_Acquire(Handle,0)>0)
{
// 클립보드의 이미지를 비트맵으로 옮긴다.
Bmp->LoadFromClipboardFormat(
CF_BITMAP,
pCB->GetAsHandle(CF_BITMAP), 0);
}
// 클립보드를 비우고,
pCB->Clear();
// 트와인 소스 매니저를 언로드.
TWAIN_Unload();
// 이미지에 비트맵을 Assgn한다.
Image1->Picture->Bitmap->Assign(Bmp);
delete Bmp;
}
}
catch(...)
{
//비트맵해제.delete Bmp;
}
FreeLibrary(hinst);
}
'델파이 > 프로그래밍 Tip' 카테고리의 다른 글
델파이 네트워크 카드의 ipaddress, subnetmast, defaultgateway 가져오기 (0) | 2013.06.05 |
---|---|
델파이 폼을 바탕화면으로... (0) | 2011.02.28 |
TWAIN 표준 이용하기 (0) | 2011.02.08 |
듀얼 모니터에서 두번째 모니터에 폼을 띄우기 (0) | 2011.02.07 |
TExcelApplication 을 이용한 엑셀파일 열기 (0) | 2010.12.02 |