有扫描仪编程经验的朋友吗?请进!!有用delphitwain、ImageEn2控件的吗?高分求援!!在线等....

zdjxqx00 2004-11-11 09:32:07
如何控制扫描仪? 扫描?图片保存?图像反转?扫描色彩?扫描边界?多页扫描? (不用自带的ImgScan等四个)
我已看了不少贴子,也下载了delphitwain、ImageEn2控件,可还是不会用,帮助文档是西文的?有应用的原码吗?能解决的就送分了!!!
...全文
282 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Myattachment 2005-05-17
  • 打赏
  • 举报
回复
成功了!
naner_china 2005-01-14
  • 打赏
  • 举报
回复
If not Assigned(frmSaveDlg) Then
frmSaveDlg:=TFrmSaveDlg.Create(Application);
If frmSaveDlg.ShowModal=mrCancel Then Exit;

{开始扫描各步骤}
Application.ProcessMessages;
ImgScan1.ScanTo:=1;
ImgScan1.DestImageControl:='ImgEdit1';

报错
"文件名不存在"
naner_china 2005-01-14
  • 打赏
  • 举报
回复
好象有问题,能不能详细点
ksaiy 2004-11-12
  • 打赏
  • 举报
回复
其实ImageEn自己包括DEMO了。下载下来以后直接就可以用了

http://www.delphibox.com/article.asp?articleid=1058
「已注销」 2004-11-11
  • 打赏
  • 举报
回复
我这里有个ImageEn的例子,你可以看看,应该是很容易理解的
http://qr51888.51.net/imageen.rar
zdjxqx00 2004-11-11
  • 打赏
  • 举报
回复
to :ksaiy(消失在人海-喜欢昆明的花)

谢了!我先按你的办法试一下!
ksaiy 2004-11-11
  • 打赏
  • 举报
回复
上面是使用COM实现扫描功能,首先点菜单 Project|Import Type library 然后引入Kodak Image Scan Control。
ksaiy 2004-11-11
  • 打赏
  • 举报
回复
procedure TfrmScan.btnBeginScanClick(Sender: TObject);
var
tmpJPEG:TJPEGImage;
tmpIniFile: TIniFile;
begin
{弹出保存文件窗体}
If not Assigned(frmSaveDlg) Then
frmSaveDlg:=TFrmSaveDlg.Create(Application);
If frmSaveDlg.ShowModal=mrCancel Then Exit;

{开始扫描各步骤}
Application.ProcessMessages;
ImgScan1.ScanTo:=1;
ImgScan1.DestImageControl:='ImgEdit1';
Try
If Not ImgScan1.ScannerAvailable then
ImgScan1.OpenScanner;
Except
MessageBox(Handle,'扫描仪没准备好','警告',MB_OK+MB_ICONWARNING);
Exit;
End;
Try
//开始扫描
ImgScan1.StartScan;
ImgScan1.CloseScanner;

If FileExists(ImgScan1.Image) Then Begin
//显示图像
Image1.Picture.LoadFromFile(ImgScan1.Image);
//删除过渡文件
DeleteFile(ImgScan1.Image);
//转换成JPG格式
tmpJPEG:=TJPEGImage.Create;
tmpJPEG.Assign(Image1.Picture.Bitmap);
{设置压缩率}
tmpIniFile:= TIniFile.Create(ExtractFilePath(Application.ExeName)+'..\Setup.ini');
tmpJPEG.CompressionQuality:=tmpIniFile.ReadInteger('扫描图片','压缩率',65);
tmpIniFile.Free;
//保存成JPG文件
tmpJPEG.SaveToFile(Copy(ImgScan1.Image,1,Length(ImgScan1.Image)-4)+'.jpg');
End;
Finally
End;
End;

//选择扫描仪
procedure TfrmScan.btnSelBtnClick(Sender: TObject);
begin
Application.ProcessMessages;
ImgScan1.ShowSelectScanner;
end;

//显示选中图片
procedure TfrmScan.ShellListView1Change(Sender: TObject; Item: TListItem;
Change: TItemChange);
begin
If Not Assigned(ShellListView1.Selected) Then Exit;
Try
Image1.Picture.LoadFromFile(ShellListView1.Folders[ShellListView1.Selected.index].PathName);
Except

End;
end;

//放大图像
procedure TfrmScan.Image1Click(Sender: TObject);
begin
If Not Assigned(Image1.Picture.Graphic) Then Begin
MessageBox(Handle,'无图像显示,请选择受理编号!','注意',MB_OK+MB_ICONWARNING);
Exit;
End;
If Not Assigned(frmZoomOut) Then
frmZoomOut:=TFrmZoomOut.Create(Self);
frmZoomOut.Image1.Picture.Bitmap.Assign(Self.Image1.Picture.Graphic);
frmZoomOut.ShowModal;
end;

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧