VB中PaintPicture图形方法地使用.docx

上传人:b****5 文档编号:5692125 上传时间:2022-12-31 格式:DOCX 页数:5 大小:16.80KB
下载 相关 举报
VB中PaintPicture图形方法地使用.docx_第1页
第1页 / 共5页
VB中PaintPicture图形方法地使用.docx_第2页
第2页 / 共5页
VB中PaintPicture图形方法地使用.docx_第3页
第3页 / 共5页
VB中PaintPicture图形方法地使用.docx_第4页
第4页 / 共5页
VB中PaintPicture图形方法地使用.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VB中PaintPicture图形方法地使用.docx

《VB中PaintPicture图形方法地使用.docx》由会员分享,可在线阅读,更多相关《VB中PaintPicture图形方法地使用.docx(5页珍藏版)》请在冰豆网上搜索。

VB中PaintPicture图形方法地使用.docx

VB中PaintPicture图形方法地使用

 VB中PaintPicture图形方法的使用

(1)

出处:

eNet学院

责任编辑:

zwg

[01-12-1318:

17]

作者:

enet

  在VB中提供了完善的做图方法,可以在窗体或图形框中绘制各种图形,其中提供了一个方便的图像处理命令即:

PaintPicture,此命令的功能与WINDOWSAPI函数BitBlt类似,但由于不用做API函数说明,并且有它独特的功能,所以更有它的方便之处,使用它可以完成很多图像的特殊处理工作。

一、语法格式:

  PaintPicturePic,destX,destY,destWidth,destHeight,scrX,scrY,scrWidth,scrHeight

  其中Pic:

为图片对象,如图形框Picture等;

  destX,destY:

目标图像位置;

  destWidth,destHeight:

目标图像尺寸;

  scrX,scrY:

原图像的裁剪坐标;

  scrWidth,scrHeight:

原图像的裁剪尺寸;

  从以上格式可以看出,此命令的功能就是把一个源图像资源任意复制到指定的区域,并且通过改变参数destWidth与destHeight值,还可以改变复制后的图像的尺寸,实现放大或缩小图像显示,甚至可以置这两个属性为负值,这样可使目标图像在水平方向翻转,实现特殊效果的图像显示。

  二、应用举例

  1.墙纸的制作

  所谓的墙纸,就是用一个小尺寸的图像连续在一个区域显示,形成规则的重复图像,也称为图像的平铺显示,利用“PaintPicture"命令可以方便的完成此工作,即用一个固定的图像资源多次连续复制到窗口中;复制过程中必须准确计算下一图像的起始位置;显示过程中可采取两种方法,第一种方法可置源图像资源即图形框的AutoSize属性为真,并且显示过程中按源图像的实际尺寸复制,这是正常的图像平铺显示;还有一种方法就是通过置AutoSize属性为假,然后改变图形框的尺寸,或者直接修改目标图像的尺寸,这样可实现放大或缩小图像的平铺显示。

具体作方法请见Command1_Click()事件中的代码。

 2.随机图像显示

  随机图像在一定场合具有特殊的魅力,比如把一个固定的图像连续的在某一区域中的随机位置显示,这样即可得到一种特殊的屏幕效果,具体操作时需要使用VB的内部函数RND,此函数可产生0-1之间的随机数,通过此随机数确定显示的图像的位置即destX与destY参数,这样即可使图像在随机位置显示,通过此原理也可以使图像的尺寸等其它参数随机产生,以产生其它效果的随机图像效果。

具体操作方法请见Command2_Click()事件中的代码。

  3.镜头推出效果

  镜头推出效果实际上就是图像的放大或缩小显示,利用“PaintPicture"命令实现此功能,只需要改变destWidth及destHeight参数即可,具体操作时需要注意保持图像的中心点不变,在图像的放大或缩小过程中同时改变图像的起始坐标。

此命令的图像显示速度不低于API函数的BitBlt命令,图像放大或缩小过程中基本没有抖动的感觉。

具体操作方法请见Command3_Click()事件中的代码。

  4.拖尾效果的形成

  此效果的形成与图像的放大过程基本相似,区别在于无需保持中心点不变,而在图像的放大过程中,向一个方向逐渐改变图像的起始位置,并且起始的图像尺寸置为0,这样当图像放大显示到一定位置时,其后面就留下了多彩的拖尾效果。

具体操作方法请见Command4_Click()事件中的代码。

三、演示程序

  文后的程序完整的演示了上述各种图像的特殊处理效果,编程需要在From1窗体中安放两个图形框Picture1及Picture2,还有五个命令按钮Command1-Command5,之后把下述代码填入相应的事件中,运行程序后通过按钮1-4即可演示上述的四种图像处理效果,按"退出"按钮则结束程序。

以上方法及程序在WINDOWS95系统、VB4.0环境下调试通过。

  ’图像平铺显示

  PrivateSubCommand1_Click()

  DimnummAsInteger

  Picture1.AutoSize=True

  roww=Int(Form1.Width/Picture1.Width)+1

  coll=Int(Form1.Height/Picture1.Height)+1

  Fori=0Toroww

  Forj=0Tocoll

  Form1.PaintPicturePicture1.Picture,j*Picture1.Width,i*Picture1.Height,Picture1.Width,Picture1.Height

  numm=numm+1

  Form1.Caption="使用图像个数:

"+Str$(numm)

  Nextj

  Nexti

  Picture1.Visible=0

  EndSub

  ’随机图像显示

  PrivateSubCommand2_Click()

  Picture1.AutoSize=True

  Do

  xx=Rnd*Picture2.Width

  yy=Rnd*Picture2.Height

  Picture2.PaintPicturePicture1.Picture,xx,yy,Picture1.Width,Picture1.Height

  DoEvents

  Loop

  EndSub

 ’镜头推出效果

  PrivateSubCommand3_Click()

  Picture2.Cls

  Picture1.AutoSize=False

  Picture1.Width=0

  Picture1.Height=0

  Fori=0To2000Step2

  roww=(Picture2.Width-Picture1.Width)/2-i/2

  coll=(Picture2.Height-Picture1.Height)/2-i/2

  Picture2.PaintPicturePicture1.Picture,roww,coll,Picture1.Width+i,Picture1.Height+i

  DoEvents

  Nexti

  Fori=2000To0Step-2

  roww=(Picture2.Width-Picture1.Width)/2-i/2

  coll=(Picture2.Height-Picture1.Height)/2-i/2

  Picture2.PaintPicturePicture1.Picture,roww,coll,Picture1.

  Width+i,Picture1.Height+i

  DoEvents

  Nexti

  Picture1.AutoSize=True

  EndSub

 ’拖尾效果

  PrivateSubCommand4_Click()

  Picture2.Cls

  Picture1.AutoSize=False

  Picture1.Width=0

  Picture1.Height=0

  Fori=0To2000Step2

  stepp=i/2

  Picture2.PaintPicturePicture1.Picture,stepp,stepp,Picture1.Width+i,Picture1.Height+i

  DoEvents

  Nexti

  Picture1.AutoSize=True

  EndSub

  ’结束按钮

  PrivateSubCommand5_Click()

  End

  EndSub

  ’准备工作

  PrivateSubForm_Load()

  Picture1.Picture=LoadPicture("d:

\windows\256color.bmp")

  Command1.Caption="图像平铺"

  Command2.Caption="随机显示"

  Command3.Caption="镜头伸缩"

  Command4.Caption="拖尾效果"

  Command5.Caption="退出"

  EndSub

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1