打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
裁剪图片的VFP库
userphoto

2014.04.09

关注

一个裁剪图片的VFP库,找了你好久了

2011-04-28 21:04:57
分类:
vfp MyImg.Fll图像处理函数库
2009-09-07 21:38
 
* MyImg.fll
* 主要功能:抓屏、裁剪、缩放、旋转、格式转换、生成到变量、复制到剪贴板

* 作者:木瓜:

* 2007-06-28

* 调用顺序:ImgOpen()   -->   其它函数 -->ImgClose() ,发生错误时,使用ImgGetLastError读取错误


#define _FROM_SCREEN         1

#define _FROM_CLIPBORD         2


#define _IMG_BMP             1

#define _IMG_GIF             2

#define _IMG_JPG             3

#define _IMG_PNG             4

#define _IMG_TIF             5



Clear 

Set Library To myImg


* 1. 打开图像 屏幕、剪贴板

hImg = ImgOpen(_FROM_SCREEN)        &&打开屏幕

* hImg = ImgOpen(_FROM_CLIPBORD)     &&打开剪切板

* hImg = ImgOpen( cFileName )         &&打开图像

If hImg==""

    MessageBox(ImgGetLastError(),"打开图像失败!")

    Return 

EndIf 

ImgSave(hImg,"1原始图.bmp",_IMG_BMP)



* 2. 取得图像大小

"宽度:",ImgGetWidth(hImg)

"高度:",ImgGetHeight(hImg)



* 3. 裁剪 ImgCrop(参数:句柄,左,上,宽,高)

If not ImgCrop(hImg,10,10,500,300) &&(从(10,10)坐标开始,生成一个宽500,高300的图像 

    MessageBox(ImgGetLastError(hImg),"裁剪失败!")

EndIf 

ImgSave(hImg,"3裁剪后.bmp",1)


* 4. 缩放 ImgZoom(句柄,新宽度,新高度)


If not ImgZoom(hImg,400,400)  &&缩放到400×400的图像

    MessageBox(ImgGetLastError(hImg),"缩放失败!")

EndIf 

ImgSave(hImg,"4缩放后.bmp",1)


* 5.旋转 ImgRotate(句柄,角度)

If not imgRotate(hImg,90)

    MessageBox(ImgGetLastError(hImg),"旋转失败!")

EndIf 

ImgSave(hImg,"5旋转后.bmp",1)


* 6.格式转换

If not ImgSave(hImg,"6格式转换.png",_IMG_PNG)  &&第二个参数为文件名,第三个为图片类型

    MessageBox(ImgGetLastError(hImg),"格式转换失败!")

EndIf 


* 7. 如果要转JPG,可以设jpg的品质 1-100

ImgSetJpegQuality(hImg,70)    &&设置jpg的品质

If not ImgSave(hImg,"7格式转换.jpg",_IMG_JPG)

    MessageBox(ImgGetLastError(hImg),"另存为失败!")

EndIf 


* 8. 复制到剪贴版

If ImgCopyToClipbord(hImg) 

    MessageBox("已复制到剪贴板,可以打开画图程序粘贴")

Else

    MessageBox(ImgGetLastError(hImg),"复制到剪贴板失败!") 

EndIf 


* 9.直接取得图像内容到变量(返回的是一个变量,可直接存入数据库)

vImgSrc = ImgGetPtr(hImg,_IMG_GIF)  &&获取Gif格式的图像内容

StrToFile(vImgSrc,"9使用内存变量.gif")


* 10.关闭图像

ImgClose(hImg)


* 11.从内存变量中创建 ( vImgSrc是前面生成的,也可以用FileToStr取得

hImg2=ImgOpen(vImgSrc,_IMG_GIF)

If hImg2==""

    MessageBox(ImgGetLastError(hImg),"从变量打开图像失败!")

    Return 

EndIf 


*   12.与Vfp9的PictureVal结合使用,ImgGetPtr()的返回值可直接赋给PictureVal

If Val(_vfp.Version) >=9  

    Local oForm as Form 

     oForm=CreateObject("form")

     oForm.AddObject("image","image")

    With oForm.image as Image 

         .Visible=.t.

         .PictureVal = ImgGetPtr(hImg2,_IMG_TIF)  && 把格式转为tif,赋给image控件的PictureVal

    EndWith 

     oForm.Show(1)

EndIf 



ImgClose(hImg2)



Set Library To 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何在VFP中随机抽取表的N个记录
vfp直接读取EXCEL文件的示例
VFP常用命令详解
编程入门网-vfp中级教程 第十三课 网络版软件初步
按键精灵 TXT文件用法大全 (源码) (免费!)
VFP设计窗口登录
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服