国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

在Delphi中控制掃描儀

在Delphi中控制掃描儀

更新時(shí)間:2022-05-10 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

---- 在利用Delphi開(kāi)發(fā)信息管理系統(tǒng)時(shí),常常要處理圖象,這也是信息管理系統(tǒng)發(fā)展的必然趨勢(shì)。怎樣在Delphi中通過(guò)掃描儀獲得所需的圖象信息呢?不外乎有三種基本的方法:
通過(guò)圖象處理軟件,比如說(shuō)Photoshop等,通過(guò)它們的掃描圖象的功能,加工成一定格式的圖象后再在自己的系統(tǒng)中利用;

通過(guò)掃描儀接口Twain.DLL 。該接口是在安裝掃描儀時(shí)提供的,它實(shí)際上是一個(gè)Plugin插件,它通過(guò)一系列函數(shù)來(lái)控制掃描儀;

通過(guò)構(gòu)件技術(shù)來(lái)控制掃描儀。
---- 利用第一種方法能減少編程的復(fù)雜度,但是系統(tǒng)的集成度不高,用戶(hù)使用上也不方便;第二種方法能在驅(qū)動(dòng)程序級(jí)直接控制掃描儀,能
在編程上提供最大的靈活性和可控性;第三種方法能充分利用Delphi的可視化構(gòu)件技術(shù),安全、靈活、自由地利用掃描儀。其實(shí)第三種方法也
是建立在掃描儀接口Twain.DLL之上的。本文論述的方法就采用第三種。

---- Windows9X在其附件中提供了“映象”可選件,該附件是采用OCX構(gòu)件來(lái)控制掃描儀的,共有imgEdit、imgAnntool、imgScan、imgAdmin 四個(gè),有這四個(gè)構(gòu)件基本上就能完全控制掃描儀。在Delphi中的用法如下: 在Windows9x中選擇安裝“映象”。(在控制面板中選擇“添加/刪除程序”,再選擇“安裝Windows”,點(diǎn)擊“附件”復(fù)選框,然后從“詳細(xì)資料”按鈕中可以找到“映象”)

啟動(dòng)Delphi,選擇“Component”菜單項(xiàng)下的“Import ActiveX Control”,
這時(shí)可以看到列表中有“Wang 圖象編輯控制、Wang 圖象掃描控制、Wang
圖象管理控制、Wang 圖象縮略圖控制”,選中這四項(xiàng),然后點(diǎn)擊“Install”
按鈕,這時(shí)在構(gòu)件面板上的ActiveX舌標(biāo)下就可以看到這四個(gè)構(gòu)件的圖標(biāo)。
---- ImgScan 的主要屬性:FileType:圖象的文件類(lèi)型(該構(gòu)件支持三
種:TIFF,BMP,AWD);

ScanTo:返回或設(shè)置被掃描圖象的目的;
可取值 含義
0 (缺省) 顯示被掃描的圖象.
1 顯示被掃描的圖象并寫(xiě)入一個(gè)文件.
2 把圖象寫(xiě)入一個(gè)文件
3 以模板方式把圖象寫(xiě)入文件并顯示.
4 . 以模板方式把圖象寫(xiě)入文件
5 傳真被掃描的圖象
注意:如果取缺省值0,
必須和 Wang ImgEdit 構(gòu)件配合使用。
DestImageControl:Wang ImgEdit構(gòu)件名;
Zoom:圖象的放縮比例

ImgScan 的主要方法:OpenScanner :打開(kāi)掃描儀;
CloseScanner :關(guān)閉掃描儀;
StartScan : 開(kāi)始掃描;
StopScan : 停止掃描


---- ImgEdit 的屬性主要是控制掃描圖象的分辨率、圖象的寬高、是否
允許對(duì)圖象進(jìn)行局部選 擇等;其方法主要有拷貝、剪切圖象到粘貼板,
從粘貼板復(fù)制圖象,旋轉(zhuǎn)、放縮、 鏡象圖象;打印、保存、刷新圖象等。
---- 關(guān)于上述四個(gè)OCX構(gòu)件的詳細(xì)使用說(shuō)明可在Delphi中查看其自帶的
幫助系統(tǒng)。
---- 下面是使用這兩個(gè)構(gòu)件的一些例子:

procedure Tscanf.N1Click(Sender: TObject);
begin
ImgScan1.ShowSelectScanner;
file://選擇系統(tǒng)中已安裝的掃描儀
end;

procedure Tscanf.N2Click(Sender: TObject);
begin
imgedit1.zoom:=100; file://設(shè)置圖象的放縮因子
if not imgscan1.ScannerAvailable then
file://如果選擇的掃描儀不可用
imgscan1.OpenScanner;//打開(kāi)掃描儀
imgscan1.StartScan; file://開(kāi)始掃描圖象
imgscan1.CloseScanner; file://關(guān)閉掃描儀
end;


procedure Tscanf.N8Click(Sender: TObject);
begin
if (imgedit1.IsClipboardDataAvailable
and imgedit1.ImageDisplayed ) then
imgedit1.ClipboardPaste(selleft,seltop);
file://從剪貼板粘貼圖象,其參數(shù)為Imgedit的顯示區(qū)域的起始坐標(biāo)
end;

procedure Tscanf.N1801Click(Sender: TObject);
begin
if imgedit1.ImageDisplayed then
imgedit1.Flip; file://鏡象圖象
end;

procedure Tscanf.N901Click(Sender: TObject);
begin
if imgedit1.ImageDisplayed then
imgedit1.RotateRight file://向右旋轉(zhuǎn)圖象
end;
procedure Tscanf.N6Click(Sender: TObject);
begin
imgedit1.DrawSelectionRect(selleft,
seltop,selwidth,selheight);//進(jìn)行圖象局部選擇
imgedit1.ClipboardCut(selleft,seltop,
selwidth,selheight);//剪切所選區(qū)域
end;


---- 注意:在DELPHI中使用Imgedit構(gòu)件的拷貝和剪切功能時(shí),會(huì)出現(xiàn)
以下問(wèn)題:
---- 1、 如果把整幅圖象都選中,沒(méi)有任何問(wèn)題;
---- 2、 如果選擇了局部區(qū)域,則拷貝和剪切的區(qū)域會(huì)發(fā)生漂移;
---- 3、 如果DELPHI做的是MS SQL后端數(shù)據(jù)庫(kù)的客戶(hù)端界面,那么在把
圖象內(nèi)容寫(xiě)入數(shù)據(jù)庫(kù)的圖象字段中時(shí),BDE(數(shù)據(jù)庫(kù)引擎)會(huì)報(bào)錯(cuò)。這是
DELPHI3。0和4。0的BUG,4。0的升級(jí)包可以解決這個(gè)問(wèn)題。
---- 至于第二個(gè)問(wèn)題,可這樣解決:在Imgedit的onSelectionRectDrawn
事件中寫(xiě)一段代碼,把選擇區(qū)域的邊界值保存到四個(gè)全局變量中,在拷貝
和剪切之前用先前保存的變量再進(jìn)行一次選擇即可(當(dāng)然,這一切都在后
臺(tái)進(jìn)行的,見(jiàn)前面的例子)。
---- 開(kāi)發(fā)環(huán)境:DELPHI4。0,HP ScanJet 4P掃描儀;

---- 附源代碼。
unit scanu;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, Menus, ScanLib_TLB, ExtCtrls, AxCtrls,
OleCtrls, ImgeditLib_TLB;

type
Tscanf = class(TForm)
MainMenu1: TMainMenu;
F1: TMenuItem;
N15: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N16: TMenuItem;
N11: TMenuItem;
N5: TMenuItem;
C1: TMenuItem;
N4: TMenuItem;
E1: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N3: TMenuItem;
N10: TMenuItem;
N9: TMenuItem;
N1801: TMenuItem;
N901: TMenuItem;
N902: TMenuItem;
H1: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
ImgEdit1: TImgEdit;
Bevel1: TBevel;
ImgScan1: TImgScan;
Bevel2: TBevel;
procedure N4Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure C1Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N1801Click(Sender: TObject);
procedure N901Click(Sender: TObject);
procedure N902Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure ImgEdit1SelectionRectDrawn(Sender: TObject; Left,Top,
Width, Height: Integer);
procedure N11Click(Sender: TObject);
private
{ Private declarations }
public
selleft,seltop,selwidth,selheight:integer;
{ Public declarations }
end;
var
scanf: Tscanf;

implementation

{$R *.DFM}

procedure Tscanf.N4Click(Sender: TObject);
begin
imgedit1.ClearDisplay;
close;
end;

procedure Tscanf.N1Click(Sender: TObject);
begin
ImgScan1.ShowSelectScanner;
end;

procedure Tscanf.N2Click(Sender: TObject);
begin
imgedit1.zoom:=100;
if not imgscan1.ScannerAvailable then
imgscan1.OpenScanner;
imgscan1.StartScan;
imgscan1.CloseScanner;
end;

procedure Tscanf.C1Click(Sender: TObject);
begin
if imgedit1.ImageDisplayed then
begin
imgedit1.ClearDisplay;
imgedit1.zoom:=100;
end;
end;

procedure Tscanf.N8Click(Sender: TObject);
begin
if (imgedit1.IsClipboardDataAvailable and imgedit1.ImageDisplayed )
then
imgedit1.ClipboardPaste(selleft,seltop);
end;

procedure Tscanf.N1801Click(Sender: TObject);
begin
if imgedit1.ImageDisplayed then
imgedit1.Flip;
end;

procedure Tscanf.N901Click(Sender: TObject);
begin
if imgedit1.ImageDisplayed then
imgedit1.RotateRight
end;

procedure Tscanf.N902Click(Sender: TObject);
begin
if imgedit1.ImageDisplayed then
imgedit1.RotateLeft;
end;

procedure Tscanf.N6Click(Sender: TObject);
begin
imgedit1.DrawSelectionRect(selleft,seltop,selwidth,selheight);
imgedit1.ClipboardCut(selleft,seltop,selwidth,selheight);
end;

procedure Tscanf.N7Click(Sender: TObject);
begin
imgedit1.DrawSelectionRect(selleft,seltop,selwidth,selheight);
imgedit1.ClipboardCopy(selleft,seltop,selwidth,selheight);
end;

procedure Tscanf.ImgEdit1SelectionRectDrawn(Sender: TObject; Left,
Top, Width, Height: Integer);
begin
if ((width=0) and (height=0))then
begin
n3.Enabled:=false;
n6.Enabled:=false;
n7.Enabled:=false;
selleft:=left;
seltop:=top;
selwidth:=width;
selheight:=height;
end
else begin
n6.Enabled:=true;
n7.Enabled:=true;
selleft:=left;
seltop:=top;
selwidth:=width;
selheight:=height;
end;
end;

procedure Tscanf.N11Click(Sender: TObject);
begin
if not imgedit1.IsClipboardDataAvailable then
if imgedit1.imagedisplayed then
imgedit1.ClipboardCopy(0,0,imgedit1.Width,imgedit1.Height);
end;
end.

溫馨提示:喜歡本站的話(huà),請(qǐng)收藏一下本站!

本類(lèi)教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        国产电影一区二区三区| 91视视频在线观看入口直接观看www| 欧美性猛交一区二区三区精品| 国产一区在线观看麻豆| 视频在线观看91| 亚洲午夜久久久| 亚洲视频一二三区| 成人欧美一区二区三区小说| 中文子幕无线码一区tr| 国产欧美综合在线观看第十页| 欧美精品一区二区三区蜜桃视频 | 成人免费毛片a| 国产制服丝袜一区| 国产在线不卡一区| 国产麻豆一精品一av一免费| 国产乱子轮精品视频| 激情综合网天天干| 国产不卡视频一区| 91在线视频免费观看| 99综合影院在线| 色综合色综合色综合色综合色综合| 99re热视频精品| 欧美日韩一区二区三区视频| 欧美美女直播网站| 欧美变态tickle挠乳网站| 精品福利一二区| 久久先锋影音av| 亚洲欧洲国产日本综合| 亚洲裸体xxx| 亚洲1区2区3区视频| 久久国产人妖系列| av高清久久久| 91精品国产综合久久久久久久| 日韩欧美国产不卡| 日本一区二区成人在线| 一卡二卡欧美日韩| 久久99精品久久只有精品| 波多野结衣的一区二区三区| 欧美影院一区二区三区| 欧美大片免费久久精品三p | 国产精品视频第一区| 综合电影一区二区三区| 亚洲电影在线免费观看| 老司机精品视频线观看86| 国产v日产∨综合v精品视频| 欧洲精品在线观看| 日韩精品一区二区三区四区视频| 中文字幕一区二区不卡| 麻豆成人综合网| 波多野结衣欧美| 日韩视频免费观看高清在线视频| 国产色一区二区| 午夜精品免费在线| 成人毛片在线观看| 欧美大黄免费观看| 亚洲在线中文字幕| 成人免费视频播放| 2024国产精品| 日本大胆欧美人术艺术动态| av在线不卡免费看| 精品久久久久久久人人人人传媒| 亚洲精品欧美激情| 国产成人在线视频网址| 91精品国模一区二区三区| 亚洲精品国产a| 成人精品高清在线| 久久久久成人黄色影片| 蜜臀a∨国产成人精品| 欧美日本视频在线| 亚洲一区二区在线观看视频| 亚洲综合精品久久| 成人性生交大片免费看视频在线| 欧美丰满少妇xxxxx高潮对白| 国产精品久久久久桃色tv| 久久国产精品第一页| 欧洲亚洲精品在线| 亚洲青青青在线视频| 成人18视频在线播放| 久久丝袜美腿综合| 国产一区二区三区在线看麻豆| 天堂在线亚洲视频| 色欧美日韩亚洲| 中文字幕中文在线不卡住| 国产一区二区三区四区在线观看 | 一级日本不卡的影视| 亚洲一区二区在线免费观看视频 | 欧美中文字幕亚洲一区二区va在线| 国产精品国模大尺度视频| 国产一区二区三区香蕉| 精品久久国产字幕高潮| 蜜臀久久99精品久久久久久9| 欧美日韩小视频| 天天影视网天天综合色在线播放| 欧美日韩精品高清| 日韩电影网1区2区| 日韩精品中文字幕一区| 久久av老司机精品网站导航| 在线影视一区二区三区| 亚洲国产精品一区二区久久恐怖片 | 亚洲男同1069视频| 亚洲综合丝袜美腿| 欧美高清视频www夜色资源网| 免费一级片91| 精品国产一区二区三区不卡| 久久精品国产**网站演员| 久久久亚洲精品一区二区三区| 国产成人无遮挡在线视频| 国产女人aaa级久久久级| 日韩一区在线看| www.激情成人| 亚洲丰满少妇videoshd| 91精品国产91热久久久做人人| 久久国产夜色精品鲁鲁99| 日本一区二区电影| 欧美性生活影院| 精品一区二区三区不卡 | 亚洲视频一二三| 欧美日韩亚洲综合在线| 激情综合网av| 成人免费一区二区三区视频| 欧美视频在线观看一区二区| 精品无人码麻豆乱码1区2区| 国产精品天天摸av网| 在线一区二区视频| 精品一区二区三区香蕉蜜桃| 国产精品天干天干在线综合| 在线中文字幕一区| 国产一区二区三区国产| 一区二区三区在线影院| 久久亚洲二区三区| 欧美日韩精品免费| 成人在线视频一区| www..com久久爱| 秋霞国产午夜精品免费视频| 久久精品欧美一区二区三区麻豆| 91在线观看一区二区| 日本aⅴ精品一区二区三区 | 亚洲图片欧美激情| 精品免费国产一区二区三区四区| 91丝袜美腿高跟国产极品老师 | 精品福利一二区| 欧美日韩国产小视频| 国产91综合网| 久久国产三级精品| 亚洲成人777| 最新久久zyz资源站| 久久综合九色综合97_久久久| 欧美专区亚洲专区| 99久久精品国产一区| 国内精品伊人久久久久影院对白| 亚洲午夜在线观看视频在线| 国产精品国产三级国产普通话蜜臀 | 亚洲视频一二三区| 国产色综合久久| 精品噜噜噜噜久久久久久久久试看| 91久久久免费一区二区| 不卡视频免费播放| 国产露脸91国语对白| 乱中年女人伦av一区二区| 亚洲国产成人91porn| √…a在线天堂一区| 国产麻豆91精品| 亚洲图片欧美色图| 亚洲精品日产精品乱码不卡| 国产精品网站在线观看| 国产婷婷精品av在线| 久久综合九色综合欧美就去吻| 日韩一区二区影院| 日韩一级大片在线观看| 欧美剧情电影在线观看完整版免费励志电影| 99久久免费精品高清特色大片| 国产福利一区在线观看| 国产盗摄女厕一区二区三区| 国产精品影视在线| 国产91清纯白嫩初高中在线观看| 国产一区中文字幕| 成人av在线观| 91免费看`日韩一区二区| 91麻豆国产福利精品| 欧美无砖专区一中文字| 欧美精品久久久久久久多人混战| 欧美丰满嫩嫩电影| 在线成人午夜影院| 欧美电影免费观看高清完整版在线观看| 日韩一区和二区| 2023国产精品自拍| 亚洲欧洲另类国产综合| 一区二区三区电影在线播| 日韩精品视频网站| 精东粉嫩av免费一区二区三区| 精品无人码麻豆乱码1区2区| 国产成人福利片| 日本韩国欧美在线| 日韩欧美国产一区在线观看| 久久众筹精品私拍模特| 亚洲婷婷国产精品电影人久久| 色综合天天综合狠狠| 欧美日韩夫妻久久| 久久综合九色欧美综合狠狠 | 成人综合婷婷国产精品久久蜜臀|