Ⅰ 掃描儀不能用,掃描時電腦提示:「無法打開TWAIN源
掃描儀不能用,掃描時電腦提示:「無法打開TWAIN源是設置錯誤造成的,解決方法為:
1、雙擊安裝應用程序Uniora Web TWAIN4.2.1.exe,開始進入安裝向導。
Ⅱ 為什麼掃描儀運行時提示TWAIN.DLL錯誤
但是在控制面板中的掃描儀和照相機選項里是空的,沒發現新安裝的掃描儀。奇怪的是,在PhotoShop中可以調用MiraScan v3.42設備,只不過掃描時提示:軟體調用TWAIN.DLL文件錯誤。這是為什麼?難道Windows XP已經不兼容並口掃描儀了嗎? 答:事實上你的驅動程序已經安裝成功,只不過Windows XP似乎歧視並口掃描儀,必須打開控制面板中的掃描儀和照相機選項,雙擊添加設備,系統將運行設備添加向導,選擇掃描儀或數碼相機的對話框,然後在廠商列表裡選擇EPPSCANER進行安裝(因為掃描儀的介面是EPP介面)。設備添加完成後,你可以在掃描儀和照相機里找到掃描儀的名稱。
Ⅲ 如何用Twain.dll調用掃描儀
在利用Delphi開發信息管理系統時,常常要處理圖象,這也是信息管理系統發展的必然趨勢。怎樣在Delphi中通過掃描儀獲得所需的圖象信息呢?不外乎有三種基本的方法:
通過圖象處理軟體,比如說Photoshop等,通過它們的掃描圖象的功能,加工成一定格式的圖象後再在自己的系統中利用; 通過掃描儀介面Twain.DLL 。該介面是在安裝掃描儀時提供的,它實際上是一個Plugin插件,它通過一系列函數來控制掃描儀; 通過構件技術來控制掃描儀。
利用第一種方法能減少編程的復雜度,但是系統的集成度不高,用戶使用上也不方便;第二種方法能在驅動程序級直接控制掃描儀,能在編程上提供最大的靈活性和可控性;第三種方法能充分利用Delphi的可視化構件技術,安全、靈活、自由地利用掃描儀。其實第三種方法也是建立在掃描儀介面Twain.DLL之上的。本文論述的方法就採用第三種。
Windows9X在其附件中提供了「映象」可選件,該附件是採用OCX構件來控制掃描儀的,共有imgEdit、imgAnntool、imgScan、imgAdmin 四個,有這四個構件基本上就能完全控制掃描儀。在Delphi中的用法如下: 在Windows9x中選擇安裝「映象」。(在控制面板中選擇「添加/刪除程序」,再選擇「安裝Windows」,點擊「附件」復選框,然後從「詳細資料」按鈕中可以找到「映象」) 啟動Delphi,選擇「Component」菜單項下的「Import ActiveX Control」,這時可以看到列表中有「Wang 圖象編輯控制、Wang 圖象掃描控制、Wang 圖象管理控制、Wang 圖象縮略圖控制」,選中這四項,然後點擊「Install」按鈕,這時在構件面板上的ActiveX舌標下就可以看到這四個構件的圖標。
ImgScan 的主要屬性:FileType:圖象的文件類型(該構件支持三種:TIFF,BMP,AWD);
ScanTo:返回或設置被掃描圖象的目的;可取值 含義
0 (預設) 顯示被掃描的圖象.
1 顯示被掃描的圖象並寫入一個文件.
2 把圖? 入一個文件
3 以模板方式把圖象寫入文件並顯示.
4 以模板方式把圖象寫入文件
5 傳真被掃描的圖象 注意:如果取預設值0,
必須和 Wang ImgEdit 構件配合使用。
DestImageControl:Wang ImgEdit構件名;
Zoom:圖象的放縮比例ImgScan 的主要方法:OpenScanner :打開掃描儀;
CloseScanner :關閉掃描儀;
StartScan : 開始掃描;
StopScan : 停止掃描
ImgEdit 的屬性主要是控制掃描圖象的解析度、圖象的寬高、是否允許對圖象進行局部選 擇等;其方法主要有拷貝、剪切圖象到粘貼板,從粘貼板復制圖象,旋轉、放縮、 鏡象圖象;列印、保存、刷新圖象等。
關於上述四個OCX構件的詳細使用說明可在Delphi中查看其自帶的幫助系統。 下面是使用這兩個構件的一些例子: procere Tscanf.N1Click(Sender: TObject);
begin
ImgScan1.ShowSelectScanner;
//選擇系統中已安裝的掃描儀
end;procere Tscanf.N2Click(Sender: TObject);
begin
imgedit1.zoom:=100; //設置圖象的放縮因子
if not imgscan1.ScannerAvailable then
//如果選擇的掃描儀不可用
imgscan1.OpenScanner;//打開掃描儀
imgscan1.StartScan; //開始掃描圖象
imgscan1.CloseScanner; //關閉掃描儀
end;
procere Tscanf.N8Click(Sender: TObject);
begin
if (imgedit1.IsClipboardDataAvailable
and imgedit1.ImageDisplayed ) then
imgedit1.ClipboardPaste(selleft,seltop);
//從剪貼板粘貼圖象,其參數為Imgedit的顯示區域的起始坐標
end;procere Tscanf.N1801Click(Sender: TObject);
begin
if imgedit1.ImageDisplayed then
imgedit1.Flip; //鏡象圖象
end;procere Tscanf.N901Click(Sender: TObject);
begin
if imgedit1.ImageDisplayed then
imgedit1.RotateRight //向右旋轉圖象
end;
procere Tscanf.N6Click(Sender: TObject);
begin
imgedit1.DrawSelectionRect(selleft,
seltop,selwidth,selheight);//進行圖象局部選擇
imgedit1.ClipboardCut(selleft,seltop,
selwidth,selheight);//剪切所選區域
end;
注意:在DELPHI中使用Imgedit構件的拷貝和剪切功能時,會出現以下問題:
1、 如果把整幅圖象都選中,沒有任何問題; 2、 如果選擇了局部區域,則拷貝和剪切的區域會發生漂移; 3、 如果DELPHI做的是MS SQL後端資料庫的客戶端界面,那麼在把圖象內容寫入資料庫的圖象欄位中時,BDE(資料庫引擎)會報錯。這是DELPHI3。0和4。0的BUG,4。0的升級包可以解決這個問題。 至於第二個問題,可這樣解決:在Imgedit的onSelectionRectDrawn事件中寫一段代碼,把選擇區域的邊界值保存到四個全局變數中,在拷貝和剪切之前用先前保存的變數再進行一次選擇即可(當然,這一切都在後台進行的,見前面的例子)。 開發環境:DELPHI4。0,HP ScanJet 4P掃描儀;