Delphi编程实现3D图形修饰技术

Delphi编程实现3D图形修饰技术,第1张

Delphi编程实现3D图形修饰技术,第2张

讨论了用Delphi修改图形界面的技术,给出了窗口渐变背景、3D边框和3D边框的实现源代码,以及一个软件界面实例。

作为一个程序员,在开发程序的时候,每个人都希望自己的程序界面漂亮,与众不同,有自己的鲜明特色,这就需要美化自己的界面。一般的方法是用图形工具制作一个图形界面,然后通过简单的编程就可以得到一个理想的效果。很多可以改变界面皮肤的程序,大多是基于这种思维
;但是程序员一般不精通平面制作工具,不方便请外面的美工来做。其实一般的3D效果,我们自己也可以通过程序来做。

实现3D效果的编程方法

为了改变计算机早期文字界面的单一状态,各大软件公司进行了不懈的努力,相继推出了图形处理的工业标准OpenGL和微软开发的Direct3D。至于一些公司用的3D技术,更是数不胜数。而本文提出的方法并不需要上面那些大公司的技术,只需要利用Delphi的基本功能,就可以达到比较逼真的3D效果。

我曾经做过一个点歌的卡拉ok电脑程序。点歌有很多种方式。其中一种是传统的点歌方式,需要在屏幕上画一个点歌的键盘,用鼠标点击键盘(触摸触摸屏时用手触摸)输入歌曲代码。


图中除了迎客松的图片,其他如背景、铜柱框架、3D键盘等。都是由程序实现的。下面,我简单说明一下实现方案。上图中界面的完整实现,请参考本文所附的源程序。

在给出方案之前,先说一下技术思路。Delphi中的一些对象具有Canvas属性。它本身就是一个对象,它有很多属性和方法。这里只是本文中使用的几个例子。

画布。brush . Style:= bs clear;//设置画刷风格
canvas.pen.color: = RGB (R,G,B);//设置画笔颜色
canvas . pen . style:= PS solid;//设置画刷风格
canvas . pen . width:= 1;//将画笔宽度
程序移动设置为(x,y:整数);
//将画笔移动到坐标(X,Y)作为绘制的起点
程序Lineto (x,Y:integer);
//从当前位置到坐标(X,Y)画一条直线
程序Roundrect (x1,y1,x2,y2,x3,y3:整数);
//根据给定的参数绘制圆角矩形。X3和Y3用于确定四舍五入的大小。
下面是制作3D效果的子程序:

1.背景制作子程序

这个程序是用来画背景的,只要给定不同颜色的RGB值,就可以画出不同的背景。下面的子程序都是使用对象的Canvas画布,按照一定的算法生成效果。

过程draw_bk(发送方:TFormr,G,B:整数);
var i,j,k:整数;
begin
with Sender do
begin
canvas . pen . style:= PS solid;
canvas . pen . width:= 1;
k:=(B div 3)* 2;
for i:=0到480 do
begin
if I if j > B then j:= B;
Canvas.pen.color:=rgb(R,G,B-j);
canvas.moveTo(0,I);
canvas.lineTo(640,I);
end;
end;
end;

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Delphi编程实现3D图形修饰技术

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情