Teechart图表教程:三维画板、工具和TeeOpenGL

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


Teechart组件的应用实例

    Steema为了充分发挥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;
  5. 如果窗口有图表组件Chart,将TeeOpenGL1.TeePanel设为 Chart,这时打开的图表编辑器就增加了OpenGL选项卡,如下图所示。

当图表组件Chart与TeeOpenGL组合应用时的编辑器外观

设置:

组件名称属性名设定值备注
TChartNameChart1用图表编辑器设定
TDraw3DNameTDraw3D1一般不需要特殊设置
TTeeCommanderNameTeeCommander1命令工具组件
PanelChart1OpenGL组件名称
TTeeOpenGL

TeePanel

TeeOpenGL1
NameDraw3D1
OpenGL的画板
Activetrue激活TeeOpenGL1组件
TCheckBoxNameCheckBox1阴影控制
Checkedtrue
Caption阴影
TCheckBoxNameCheckBox2背景渐进色
Checkedtrue
Caption背景渐进
TCheckBoxNameCheckBox3座标轴控制
Checkedtrue
Caption座标轴
TCheckBoxNameCheckBox4OpenGL功能控制
Checkedfalse
CaptionOpenGL

技巧:

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

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

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

图1

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

图2

OpenGL功能激活效果

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章