网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.VisualBasic编程基础--应用程序的.
.固定长度字符串数组:赋值快,释.
.VisualBasic可以产生四角形以外其.
.页面锁定的锁定方案--多客户环境.
.Text转换为AccessMDB.
.如何对字符串进行加密解密.
.加强客户端约束增强数据库完整性.
.VisualBasic控件结构概述.
.浅谈Excel的VB编程.
.用VB实现队列播放MP3.
.用VB进行移位操作.
.用VB编写DirectX7.0游戏(上).
.查找替换所选字符.
.VB的API编程精粹(一).
.减少DoEvents语句的数量.
.用VB获取桌面图象.
.VB网络篇游戏编程技巧指南.
.设置对VisualBasic数据库连接的动.
.VB入门之“HelloWorld”.
.在VB中显示动画鼠标图标.

VB中位图旋转的实现

发表日期:2006-2-27


在VISUALBASIC中没有什么命令或函数能够实现将一个位图旋转一个角度后显示出来,但我们可以用画点的方式,将一个图画盒中的位图中的像素点旋转一个角度后画入另一个图画盒中,当源图画盒中的像素都被画到目标图画盒中时,也就完成了位图的旋转。这里主要用到了VISUALBASIC中的两个方法:POINT方法和PSET方法。POINT方法的作用是从源图画盒中提取一个像素点的颜色值;而PSET方法的作用是按照旋转后的坐标和相应像素点的颜色值在目标图画盒中画点。显然这个方法的速度不会太快,因而适用于较小的图片。

下面介绍一下实现方法:进入VISUALBASIC中,建立一个新的窗体。在窗体中加入两个图画盒控件(Picture1和Picture2),设置它们的Name属性为PicSource和PicTarget,并为PicSource图画盒的Picture属性设置一幅位图。再在窗体中加入一个按钮(CommandRotorate),设置它的Caption属性为“旋转”。然后加入以下代码:
OptionExplicit
ConstPi=3.14
PrivateSubCommandRototate_Click()
DimxAsInteger,yAsInteger
DimX1AsInteger,Y1AsInteger
DimX2AsDouble,Y2AsDouble
DimX3AsDouble,Y3AsDouble
DimJiaoDuAsDouble
DimHuDuAsDouble
JiaoDu=45'角度
HuDu=JiaoDu*Pi/180'弧度
PicSource.ScaleMode=vbPixels
PicTarget.ScaleMode=vbPixels
Forx=0ToPicTarget.ScaleWidth
X1=x-PicTarget.ScaleWidth\2
Fory=0ToPicTarget.ScaleHeight
Y1=y-PicTarget.ScaleHeight\2
X2=X1*Cos(-HuDu) Y1*Sin(-HuDu)
Y2=Y1*Cos(-HuDu)-X1*Sin(-HuDu)
X3=X2 PicSource.ScaleWidth\2
Y3=Y2 PicSource.ScaleHeight\2
IfX3>0AndX3<PicSource.ScaleWidth-1AndY3>0AndY3<
PicSource.ScaleHeight-1Then
PicTarget.PSet(x,y),PicSource.Point(X3,Y3)
EndIf
Nexty
Nextx
EndSub
运行后,按下“旋转”按钮,可以见到源图画盒中的位图旋转45度后进入到目标图画盒中。如果要改变旋转的角度,只需将JiaoDu变量设置为相应值即可。->

上一篇:VB中随机图像的魅力 人气:3759
下一篇:VisualBasic设计图形浏览器示例 人气:3141
浏览全部Visual Basic的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐