扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:csdn 来源:csdn 2007年9月14日
关键字:
在本页阅读全文(共19页)
作为一个程序员,在开发程序的时候,都希望自己程序的界面美观一些,与众不同一些,有自己鲜明的特色,这需要美化自己的界面。一般的方法是用图形工具制作一个图形界面,再经过简单的编程便可获得一个理想的效果,很多能够界面换肤的程序大多也基于这种思想;但程序员一般不精通图形制作工具,请外面的美工来做也不方便,其实对一般的3D效果,我们自己也可用程序做。
编程方式实现3D效果的方法
为了改变电脑早期时候的文字界面的单一状况,各大软件公司都作出了不懈努力,先后推出了作为图形处理工业标准的OpenGL和微软研发的Direct3D,至于一些公司自用的3D技术更是不计其数。但本文提出的方法不需要上面大公司的技术,纯粹用Delphi的基本函数来实现比较逼真的3D效果。
我以前作过一个卡拉OK电脑点歌程序,点歌方式有多种,其中有一种传统的点歌方式叫编码点歌,它需要在屏幕上画一个点歌键盘,用鼠标点击键盘(触摸屏时用手触摸)输入歌曲编码,其界面如下图所示:
上图中除了迎客松的图片外,其它如背景、铜柱边框、3D键盘等都是由程序实现的,下面我对实现程序予以简单说明,上图界面的完整实现请看本文附带的源程序。
在给出程序之前先说一下技术思想,Delphi中有些对象具有画布属性Canvas,它本身也是一个对象,它具有很多属性和方法,这里只列出本文用到的几个。
|
下面给出3D效果制作子程序:
1、背景制作子程序
本段程序是用来画背景,只要给出不同的颜色RGB值就能画出不同的背景。下面的子程序都是利用对象的画布Canvas并按一定的算法来生成效果。
|
2、边框周围铜柱子程序
本段程序是用来画窗口周围的铜柱,只要给出不同的颜色RGB值就能画出不同颜色的柱子。
|
3、中间铜柱子程序
本段程序是用来画窗口中间的铜柱,只要给出不同的颜色RGB值就能画出不同颜色的柱子。
|
4、3D框制作子程序
本段程序是用来画控件周围的边框,使该控件看起来有立体感,只要给出不同的颜色RGB值就能画出不同颜色的边框,ww是立体景深。
|
利用以上子程序就可实现一些3D效果,实现的算法就是利用循环语句作画,至于语句为什么要这样写,这是我通过多次试验调试出来的,正因为如此该算法不可能很完善,您可以对此改进作出更完美的效果。
最后,利用上面提供的子程序就可完成上图所示的界面编制,其程序代码如下:
|
本文带有源程序,该程序在Delphi 6.0下调试通过,无需扩展控件支持,纯软件方式实现,在界面设计上具有很大的灵活性,与图片界面相比有其方便性,并且制作出来的界面有自己鲜明的特色。
结束语
本文阐述了不借助OpenGL和Direct3D图形库自己编程实现3D效果的方法,给出了实现一个键盘界面的完整源代码。在工作中究竟使用什么来实现3D和其它效果,要看工作性质而定,例如开发图形效果表现丰富的游戏软件,就要用到OpenGL或Direct3D技术,至于一些行业应用和工具软件一般使用手工编程改善一下界面效果即可,就像上面的代码,将比使用图形库的程序大大节省资源,而且易维护、易管理、兼容性也好。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者