VisualBasic中PaintPicture图形常见的使用方法

VisualBasic中PaintPicture图形常见的使用方法,第1张

VisualBasic中PaintPicture图形常见的使用方法,第2张

VB提供了一个完善的绘图方法,可以在窗体或图形框中绘制各种图形,包括一个方便的图像处理命令:PaintPicture。该命令的作用类似于WINDOWS API函数BitBlt,但由于不需要API函数解释,有其独特的功能,所以更加方便,可以用来完成很多特殊的图像处理工作。

一、语法格式:

绘画图片Pic,destX,destY,destWidth,destHeight,scrX,scrY,scrWidth,scrHeight

其中Pic:是图片对象,如图形框图片等。;

x,desty:目标图像位置;

DestWidth,destHeight:目标图像大小;

x,scry:原始图像的裁剪坐标;

ScrWidth,scrHeight:原始图像的裁剪大小;

从上面的格式可以看出,该命令的作用是将一个源图像资源任意复制到指定区域,通过改变参数destWidth和destHeight的值,还可以改变复制图像的大小来放大或缩小图像显示,甚至可以将这两个属性设置为负值,使目标图像可以水平翻转,实现具有特殊效果的图像显示。

二、应用实例

1.壁纸的生产

所谓壁纸,就是在一个区域内连续显示一幅小尺寸的图像,形成有规律的重复图像,也叫图像的平铺显示。使用“PaintPicture”命令可以方便地做到这一点,即多次连续复制一个固定的图像资源到窗口;在复制过程中,必须精确计算下一幅图像的起始位置;在显示过程中可以采用两种方法。第一种方法可以将源图像资源即图形框的AutoSize属性设置为true,在显示过程中根据源图像的实际大小进行复制,这是正常的图像平铺显示;另一种方法是将AutoSize属性设置为false,然后改变图形框的大小,或者直接修改目标图像的大小,从而放大或缩小图像的平铺显示。有关详细信息,请参见Command1_Click()事件中的代码。

2.随机图像显示

随机图像在某些场合有特殊的魅力,比如在某个区域的随机位置连续显示一个固定的图像,可以获得特殊的屏幕效果。在具体操作中需要用到VB的内部函数RND,它可以生成一个0到1之间的随机数。通过该随机数,可以确定显示图像的位置,即destX和destY参数,从而可以在随机位置显示图像。根据这一原理,还可以随机生成图像大小等其他参数,以产生其他效果。具体操作方法参见Command2_Click()事件中的代码。

3.透镜转出效应

镜头推送效果其实就是图像的放大或者缩小。要使用“PaintPicture”命令实现此功能,只需更改destWidth和destHeight的参数。在具体操作过程中,你需要保持图像的中心点不变,在放大或缩小图像的同时改变图像的初始坐标。该命令的图像显示速度不低于API函数的BitBlt命令,图像放大或缩小过程中基本没有抖动。具体操作方法参见Command3_Click()事件中的代码。

4.拖尾效应的形成

这种效果的形成基本类似于图像放大的过程,不同的是不需要保持中心点不变。在图像放大的过程中,图像的初始位置在一个方向上逐渐变化,初始图像大小设置为0,这样当图像放大到一定位置时,后面就会留下一个五彩斑斓的拖尾效果。具体操作方法参见Command4_Click()事件中的代码。

三、演示程序

本文中的程序充分展示了上述各种图像的特殊处理效果。编程需要在form 1表单中放置两个图形框Picture1和Picture2,并且有五个命令按钮Command1-Command5。之后,在相应的事件中填入下面的代码。运行程序后,按下按钮1-4即可演示上述四种图像处理效果。按“退出”按钮结束程序。上述方法和程序已在WINDOWS95系统和VB4.0环境下调试成功。

图像平铺显示

私有子命令1_Click()

Dim numm为整数

图片1。AutoSize = True

roww = Int(Form1。宽度/图片1。宽度)+ 1

coll = Int(Form1。高度/图片1。高度)+ 1

对于i = 0到roww

对于j = 0至coll

表格1。绘画图片图片1。图片,j *图片1。宽度,I *图片1。高度,图片1。宽度,图片1。高度

numm = numm + 1

1.表格1。Caption = "使用的图像数量:"+Str$(numm)

下一个j

接下来我

图片1。可见= 0

末端接头

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VisualBasic中PaintPicture图形常见的使用方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情