首页 >> 读书频道 >> 电脑 >> API实现完美的图片出现效果二
 
· API实现完美的图片出现
· 第14章 XSL变换
· 实现平面工具栏上
· 用API制作图形窗体
· 本章小结
· VB托盘程序详解中
· 有声样式单
· VB托盘程序详解上
· SENDMESSAGE函
· 计数器和自动编号
· 向控件发送系统热键
· SENDMESSAGE函
 
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

API实现完美的图片出现效果二


查看有无更新版本

关键字:VB 2006-9-18

 

§3 用BitBlt函数实现各种各样的图片出现效果

实现髦滞计鱿中Ч幕驹硎牵荷柚昧礁鐾计騊icture1和Picture2,在Picture1中装入要显示的图片,(可以在窗体设计时就装好,也可以在程序运行过程中装入。)将Picture1中的图片以各种方法拷贝到Picture2中,从而实现各种各样的图片出现效果。

先在Picture1中装入待显示的图片,并设置Picture1的属性为AutoRedraw=True,Visible=False, 设置Picture2的属性为AutoRedraw=False,Visible=True,设置Form的属性为ScaleMode=3。

一、从上到下效果

将Picture1从形式上分为很多小块

如图所示,要将Picture1中的图片拷贝到Picture2中,首先将Picture1从形式上划分为很多小块a1、a2、a3、…,每块宽度为。

然后利用BitBlt函数先将Picture1中的a1块拷贝到Picture2中的相同位置,等待片刻,再拷贝a2块、a3块、…直到。如果将取得足够小,则人眼看到 Picture2中的图片就是以从上到下的效果出现的。其程序如下:

Picture2.Cls

nHeight = 3‘小块的高度,即

Stripes = Picture1.Height / nHeight‘总共的小块数目n个

P2 = nHeight

P1 = Picture1.Width

For I = 0 To Picture1.Height Step nHeight

p3 = I

r% = BitBlt(Form1.Picture2.hDC, 0, p3, P1, P2, Form1.Picture1.hDC, 0, p3, &HCC0020)

For j = 1 To 8000 注释:‘等待片刻,图片从上到下出现的时间可以由此调节

Next

Next 


明白了以上制作原理以后,图片从下到上、从做到右、从右到左出现的效果也就可以实现了。
二、开门效果

开门效果的制作也是先将Picture1从形式上划分为很多小块a1、a2、a3、…,每块宽度为。

然后利用BitBlt函数先将Picture1中的a0块拷贝到Picture2中的相同位置,等待片刻,再拷贝a1块、a2块、…直到。如果将取得足够小,则人眼看到 Picture2中的图片就是以开门的效果出现的。其程序如下:

Picture2.Cls

nWidth = 3‘小块的宽度,即

Stripes = Picture1.Width / nWidth‘总共的小块数目n个

P2 = Picture1.Height

P1 = nWidth

For I = Picture1.Width / 2 + nWidth To 0 Step -nWidth

p3 = I

p4 = Picture1.Width - I

r% = BitBlt(Form1.Picture2.hDC, p3, 0, P1, P2, Form1.Picture1.hDC, p3, 0, &HCC0020)

r% = BitBlt(Form1.Picture2.hDC, p4, 0, P1, P2, Form1.Picture1.hDC, p4, 0, &HCC0020)

For j = 1 To 8000‘等待片刻,图片开门效果出现的时间可以由此调节

Next

Next 


根据同样的方法可以制作“上下开门”、“左右关门”、“上下关门”、“从中间向四周扩大”、“从四周向中间缩小”等效果。

三、百叶窗效果

分成几个大块,每个大块分成很多个小块

如图所示,要将Picture1中的图片拷贝到Picture2中,首先将Picture1从形式上划分为很多宽度为的大块,然后再将每一块进一步划分为宽度为的若干小块。

然后利用BitBlt函数先将Picture1中的a1块拷贝到Picture2中的相同位置,再拷贝b1块、c1块、…5却蹋倏奖碼2块、b2块、c2块、…。如果将取得足够小,则人眼看到 Picture2中的图片就是以百叶窗的效果出现的。其程序如下:

Picture2.Cls

nWidth = 3

mWidth = 18 

Stripes = Picture1.Width / nWidth

P2 = Picture1.Height

P1 = nWidth

For j = 0 To mWidth Step nWidth

For I = 0 To Picture1.Width + nWidth Step mWidth

p3 = I + j

r% = BitBlt(Form1.Picture2.hDC, p3, 0, P1, P2, Form1.Picture1.hDC, p3, 0, &HCC0020)

Next

For k = 1 To 200000 

Next

Next 


根据同样的道理,可以制作上下百叶窗效果。

API实现完美的图片出现效果二

[ 1 ]
API实现完美的图片出现效果二 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑