Teechart图表应用技术详解—第二章之Teechart组件的应用实例:三维画板、工具和TeeOpenGL

本教程转自屈景辉的Teechart应用技术详解——快速图表制作工具一书,本节我们将会介绍此书的第二章的第四小节——Teechart组件的应用实例:三维画板、工具和TeeOpenGL。

    Steema公司和科技针对中国市场联合推出中文版TeeChart for .NET图表控件,一共汉化2000个词条(17000个单词),汉化文档35000个单词,包括控件设计时与运行时的界面汉化以及控件使用向导文档的汉化,总汉化90%以上!

    TeeChart for .NET中文版让您在使用和学习上没有任何语言障碍,至少可以节省30%的开发时间。TeeChart for .NET中文版具有易上手,使用方便,稳定性好,性价比高,价格优惠等优势,并且针对Web应用提供无限制服务器分发授权方式,非常有利于产品集成。

TeeChart for .NET最新试用版    


Teechart组件的应用实例

三维画板、工具和TeeOpenGL

演示:Daw3D、 TeeCommander和TeeOpenGL组件。

功能:Draw3D是能够绘制具有3D功能的画板,可以在其上进行2D和3D几何图形、线条、文字的绘制以及位图显示与背景设置等功能。在TeeCommander组件的支持下,可以实现打印、拷贝、导出、放大、旋转等操作,与TeeOpnGL组件结合可实现OpenGL三维图形的绘制。

设计:

  1. 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);
  2. Draw3D组件的3D几何图形绘制函数中有一个参数DarkSides:Boolean,是用来控制绘制图形时是否带阴影以增强立体感,所以本程序在该函数的这个参数中使用了Check Box 1.Checked,由CheckBox检查框是否选中表示是否绘制阴影。例如(绘制锥体):

    CheCanvas.Pyramid (true, 300, 50, 400, 100, 0, 50, CheckBox1.Checked);

    因此,当单击ChckBox1时,3D画板的图形外观就会发生变化。

  3. 背景渐进和坐标轴检查框用于控制是否在背景中使用渐进色和绘制坐标轴。控制坐标轴的绘制代码是放在Draw3D的OnPaint事件中。

  4. 实现 OpenGL功能,只需在程序设计阶段将TeeOpenGL组件的 TeePanel设为Draw3D1和 Active属性设为true,或者在主窗体的 OnCreate事件中加入以下代码即可:

    TeeOpenGL1.TeePanel=Draw3D1;TeeOpenGL1.Active:=true;

设置:

组件名称 属性名 设定值 备注
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

技巧:

  1. (OpenGL( Open Graphic Library)即开放图形库,是一个3D的计算机图形和模型库,是由SGI公司于1992年开发的、独立于操作系统和硬件环境的、具有强大的图形功能和良好的跨平台移植能力的一个图形标准,它已被广泛应用于可视化、实体造型、 CADICAM和模仿真等领域。利用Draw3D和 TeeOpenGL的配合就可实现 OpenGL的功能。不过 OpenGL本身是一个计算机应用领域,真正要绘制出高质量的图形还需查阅有关 OpenGL的专门书籍,这里不再赘述。

  2. 从本例看出工具组件 Tee Commander可以对 OpenGl产生的图形进行各种操作。

界面:程序运行后的界面如下所示。

图1

Draw3D图形绘制效果(有阴影)

图2

OpenGL功能激活效果

  下一节我们将会介绍Teechart组件的应用实例:序列与函数库组件。将会有演示,功能,设计,设置,技巧和界面六个方面的介绍。如果有对Teechart图表感兴趣的朋友,可以多多关注本教程,并且欢迎在评论区留言。

相关资料推荐:

上一章:Teechart组件的应用实例:序列列表与命令工具

Teechart 2019资源合集

Teechart 2018资源合集 


    现TeeChart for .NETTeeChart for JavaScript/HTML5TeeChart for Xamarin.Android等均已加入在线订购,现在抢购可立享优惠!

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年9月5日
下一篇 2019年9月5日

相关推荐

发表回复

登录后才能评论