Teechart图表应用技术详解—第二章之Teechart组件的应用实例:三维画板、工具和TeeOpenGL
Steema公司和慧都科技针对中国市场联合推出中文版TeeChart for .NET图表控件,一共汉化2000个词条(17000个单词),汉化文档35000个单词,包括控件设计时与运行时的界面汉化以及控件使用向导文档的汉化,总汉化90%以上!
TeeChart for .NET中文版让您在使用和学习上没有任何语言障碍,至少可以节省30%的开发时间。TeeChart for .NET中文版具有易上手,使用方便,稳定性好,性价比高,价格优惠等优势,并且针对Web应用提供无限制服务器分发授权方式,非常有利于产品集成。
Teechart组件的应用实例
Steema为了充分发挥TeeChart页图表组件的功能,将图表编辑器的选项卡进行了拆分,构成独立的可视或非可视组件,由程序设计员根据用户的功能要求进行重新组合,以满足用户需要。
三维画板、工具和TeeOpenGL
演示:Daw3D、 TeeCommander和TeeOpenGL组件。
功能:Draw3D是能够绘制具有3D功能的画板,可以在其上进行2D和3D几何图形、线条、文字的绘制以及位图显示与背景设置等功能。在TeeCommander组件的支持下,可以实现打印、拷贝、导出、放大、旋转等操作,与TeeOpnGL组件结合可实现OpenGL三维图形的绘制。
设计:
Draw3D组件的三维画布 Canvas: TVanvas3D,提供了丰富的2D、3D几何图形、线段、文字的图形绘制,下列代码完成有关图形的绘制:
var MyBit:TBitmap; begin with Draw3D1 do begin MyBit:=tbITMAP.Create; MyBit.LoadFromFile('Background. bmp); Canvas.Draw(7, 7, Mybit); Canvas.Pen.Style:= psDashDot; if CheckBox3.Checked then //根据检查框状态确定是否绘制坐标轴 begin Canvas.MoveTo3D(251,10,0); Canvas.lineTo3D(251,273,0); //纵坐标 Canvas.MoveTo3D(10, 141, -100); Canvas.LineTo3D(493, 141, 100); //横坐标(左下,右上) Canvas.MoveTo3D(10, 141, 100); Canvas.LineTo3D(493, 141, -100); //横坐标(左上、右下) end; Canvas.Pen.Color:=clGreen; Canvas.Brush.Color:=RGB(125, 128,128); Canvas.Pie3D(100,200,60,15,30,100,15,90,CheckBox1.Checked,true); //圆饼 Canvas.Brush.Color:=RGB(125, 120, 128); Canvas.Pyramid(true,300,50,400, 100,0,50,CheckBox1.Checked); Canvas.Brush.Color:=RGB(255,0,0); Canvas.Sphere(Draw3D1.ChartXCenter+150,Draw3D1.ChartYcenter+80,0, 50); //球体 Canvas.Cube(250, 270, 40,90,0,10,CheckBox1.Checked); //立方体 Canvas.Brush.Color:=RGB(0,128,0); Canvas. Cylinder(true,150,80,190,160,10,70,CheckBox1.Checked); //圆柱体 Canvas.Font.Color:=clRed; Canvas.Font.Name:='仿宋_GB2312'; Canvas.BackMode:=cbmTransparent; Canvas.Font.Size:=16; Canvas.TextOut3D(10,250,45,'这是一个Draw3D组件功能演示'); Canvas.RotateLabe13D(20,200,10,'旋转文本',90.0);
Draw3D组件的3D几何图形绘制函数中有一个参数DarkSides:Boolean,是用来控制绘制图形时是否带阴影以增强立体感,所以本程序在该函数的这个参数中使用了Check Box 1.Checked,由CheckBox检查框是否选中表示是否绘制阴影。例如(绘制锥体):
CheCanvas.Pyramid (true, 300, 50, 400, 100, 0, 50, CheckBox1.Checked);
因此,当单击ChckBox1时,3D画板的图形外观就会发生变化。
背景渐进和坐标轴检查框用于控制是否在背景中使用渐进色和绘制坐标轴。控制坐标轴的绘制代码是放在Draw3D的OnPaint事件中。
实现 OpenGL功能,只需在程序设计阶段将TeeOpenGL组件的 TeePanel设为Draw3D1和 Active属性设为true,或者在主窗体的 OnCreate事件中加入以下代码即可:
TeeOpenGL1.TeePanel=Draw3D1; TeeOpenGL1.Active:=true;
如果窗口有图表组件Chart,将TeeOpenGL1.TeePanel设为 Chart,这时打开的图表编辑器就增加了OpenGL选项卡,如下图所示。
设置:
组件名称 | 属性名 | 设定值 | 备注 |
TChart | Name | Chart1 | 用图表编辑器设定 |
TDraw3D | Name | TDraw3D1 | 一般不需要特殊设置 |
TTeeCommander | Name | TeeCommander1 | 命令工具组件 |
Panel | Chart1 | OpenGL组件名称 | |
TTeeOpenGL | TeePanel | TeeOpenGL1 | |
Name | Draw3D1 | OpenGL的画板 | |
Active | true | 激活TeeOpenGL1组件 | |
TCheckBox | Name | CheckBox1 | 阴影控制 |
Checked | true | ||
Caption | 阴影 | ||
TCheckBox | Name | CheckBox2 | 背景渐进色 |
Checked | true | ||
Caption | 背景渐进 | ||
TCheckBox | Name | CheckBox3 | 坐标轴控制 |
Checked | true | ||
Caption | 坐标轴 | ||
TCheckBox | Name | CheckBox4 | OpenGL功能控制 |
Checked | false | ||
Caption | OpenGL |
技巧:
(OpenGL( Open Graphic Library)即开放图形库,是一个3D的计算机图形和模型库,是由SGI公司于1992年开发的、独立于操作系统和硬件环境的、具有强大的图形功能和良好的跨平台移植能力的一个图形标准,它已被广泛应用于可视化、实体造型、 CADICAM和模仿真等领域。利用Draw3D和 TeeOpenGL的配合就可实现 OpenGL的功能。不过 OpenGL本身是一个计算机应用领域,真正要绘制出高质量的图形还需查阅有关 OpenGL的专门书籍,这里不再赘述。
从本例看出工具组件 Tee Commander可以对 OpenGl产生的图形进行各种操作。
界面:程序运行后的界面如下所示。
图1
图2
下一节我们将会介绍Teechart组件的应用实例:序列与函数库组件。将会有演示,功能,设计,设置,技巧和界面六个方面的介绍。如果有对Teechart图表感兴趣的朋友,可以多多关注本教程,并且欢迎在评论区留言。
相关资料推荐:
现TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在线订购,现在抢购可立享优惠!
关注慧聚IT微信公众号???,了解产品的最新动态及最新资讯。