VFP控制扫描仪

扫描仪跟高拍仪一样,也是有控件的。就是柯达出品的扫描控件。扫描仪都能用,像那种带网络的复印机,可以通过网络扫描,效果也是ok。


柯达扫描控件

优点:非常实用的控件,可以完成图像扫描、编辑、批注的功能。

缺点:控件比较老,扫描的文档为BMP格式,文件巨大。

今天我们就来搞定这个缺点,让扫描控件更好用。


一、 安装控件

我把相关的文件上传到腾讯云了,下载链接

https://share.weiyun.com/lzkLnmqT

解压之后有个DLL目录,双击其中的注册控件.bat


二、 VFP使用

  1. VFP表单中拖入柯达扫描控件,Name改为OleScan

sssssssss.png, Aug 2021

2.表单中添加一个控件Caption设为扫描,添加Click事件代码如下

If !Thisform.OleScan.ScannerAvailable()    =Messagebox("没有检测到扫描仪驱动程序",0+64,"信息")    ReturnEndifThisform.OleScan.Image="c:\temp\xx"  &&归档的文件名Thisform.OleScan.FileType=3  && 3-Bitmap Image (BMP) BMP位图文件Thisform.OleScan.pageoption=6 &&Overwrite All Pages 覆盖所有页(覆盖文件)Thisform.OleScan.Scanto=2  && 只归档,意思是只保存*oImgscan.Scroll=.T.Thisform.OleScan.StartScan  &&开始扫描,扫描If Thisform.OleScan.StatusCode=0    Thisform.olescan.CloseScanner    Thisform.Refresh()Endif

要注意的地方scanto参数归档的意思是保存,如果配置成只显示,需要配合柯达编辑控件来实现显示,编辑,保存等操作。


3.测试一下效果  

sssss2.png, Aug 2021

扫描之后,便会在C:\TEMP生成一个xx.bmp文件。


4 因为BMP文件巨大,这里给大家一个另存的函数,方便好用。

Function saveimage2(openfile As String,savefile As String)
lqEncoderClsID_BMP=0h00F47C55041AD3119A730000F81EF32E &&BMP lqEncoderClsID_JPG=0h01F47C55041AD3119A730000F81EF32E &&JPG lqEncoderClsID_GIF=0h02F47C55041AD3119A730000F81EF32E &&GIF lqEncoderClsID_TIF=0h05F47C55041AD3119A730000F81EF32E &&TIF lqEncoderClsID_PNG=0h06F47C55041AD3119A730000F81EF32E &&PNG Declare Long GdipLoadImageFromFile In GDIPlus.Dll String cFile, Long @ nativeImage Declare Long GdipSaveImageToFile In GDIPlus.Dll Long nativeImage, String cFile, ; String EncoderClsID, String EncoderParameters Declare Long GdipDisposeImage In GDIPlus.Dll Long nativeImage lcInputFile=Strconv(openfile+Chr(0),5) lcOutputFile=Strconv(savefile+Chr(0),5) lnImage=0 GdipLoadImageFromFile(lcInputFile,@lnImage) GdipSaveImageToFile(lnImage, lcOutputFile, Evaluate('lqEncoderClsID_'+Upper(Justext(savefile))), Null) GdipDisposeImage(lnImage) Erase &openfileEndfunc


调用方法:

saveimage2("xx.bmp","xx.jpg")  &&支持BMP ,JPG ,GIF,TIF ,PNG格式。

You may also like

  • gggggggggg1.png, Aug 2021 VFP连接高拍仪
  • 三分钟配置FRP内网穿透,外网访问SQL不用愁
  • 一些有用的VFP网站地址合集
  • VFP与sql server用作网络版程序
  • VFP9 连接mysql代码示例
  • Visual FoxPro 6.0~9.0解决方案与范例大全写作原稿及光盘下载 转Linux社区
  • vfplogo.jpg, Feb 2020 还记得那年的vfp吗,今天win7安装vfp9.0 sp2