数据库操作,界面处理再也没有比VB更快的开发工具了,当然工程师们有了自己的类库和模块
以后C++同样也可以很快,但是对于新手以致普通程序员,这些只是传说,VB6给程序员提供了
一种快速的编程通道,毫不费力的开发出Windows程序的框架来.
在应用软件开发取得效率霸主的同时,对编程细节的隐藏使得VB6受到控件功能的强烈限制,
代码的执行速度,使大型3D游戏和大量数据处理对VB6来说,只是一种传说和对岸的美景...
Image控件和Picture控件,VB图形处理的主要控件,Picture具有hWnd等窗口具有的属性
可以作为容器,可以执行DC的操作,Image则可以显示部分透明的GIF图片.
然而欲望刺激需求,使得需求永远超越了供给:VB对所有图形的处理都是转化为位图形式的,
Image中的GIF和背景的融合程度让人着火,另外一个就是GIF动态图片,VB中无法直接实现
的功能,此外PNG等游戏常用格式,VB里也是空白..
惨剧啊!就这么完了吗?不!任何支持二进制操作的程序语言都能实现其他任何语言的功能:
二进制,最底层程序状态是一种语言在程序长河上的一叶小舟,下面就让我们谈谈,VB该怎么
实现GIF动画:
很多人都选择了WebBrowser控件,这个控件是在程序中嵌入网页用的,比如游戏登录器那里
显示官网等等,不过显示效果有限,像有些人想做聊天的软件,图文混排就成了大大的麻烦了.
WebBrowser1.Document.open
WebBrowser1.Document.writeln"<HTML>"
WebBrowser1.Document.writeln"<HEAD>"
WebBrowser1.Document.writeln"<TITLE>"
WebBrowser1.Document.writeln"</TITLE>"
WebBrowser1.Document.writeln"</HEAD>"
WebBrowser1.Document.writeln"<BODYscroll="&VBA.Chr&"no"&VBA.Chr&"oncontextmenu=self.event.returnValue=false>"
WebBrowser1.Document.writeln"<divstyle="&VBA.Chr&"position:absolute;left:0;top:0"&VBA.Chr&">"
WebBrowser1.Document.writeln"<IMGSRC="&VBA.Chr&strPath&VBA.Chr&"BORDER="&VBA.Chr&"0"&VBA.Chr&">"
WebBrowser1.Document.writeln"</div>"
WebBrowser1.Document.writeln"</BODY>"
WebBrowser1.Document.writeln"</HTML>"
strPath 是本地GIF文件路径或者网络图片路径
我们可以看到,WebBrowser装载的是html语言,当然还有其他方法如
WebBrowser1.Navigate App.Path & "/1.GIF"
这种简单,但是没有图文混排什么的
AniGIF控件
不过似乎这控件要很多麻烦的东西才可以用,用法就简单多了
AniGIF1.FileName = "..."
AniGIF1.ReadGIF ( "...")
AniGIF1.Play
再有一种就是基于VB自己的,也就是这样才像程序设计的样子:
Image+Timer
把GIF分割出很多张图片(一帧一帧提取),可以用其他工具,生成一个Image控件数组
载入各个帧,显示一帧后改变Timer的Interval值,其实GIF的播放也就是这个过程
然而有个问题就是VB处理后的GIF仍然是BMP,无法完美的融合到背景,所以代码暂时也就不发出来了
我在设计一种更有效的方法:C/C++来协助VB处理,生成一个模块发布给大家
使用时只需要传递hWnd或者hDC 以及坐标位置就可以了
敬请期待,嘿嘿!