没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|行业资讯|编辑:何跃|2021-11-03 14:37:20.967|阅读 306 次
概述:你可能已经开发了一个桌面应用程序,并要求将报告图表发布到网页上。这篇文章回顾了TeeChart的选项,为浏览器页面创建Javascript。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
使用TeeChart的导出到HTML5和/或Javascript选项,在HTML5 Canvas上创建本地静态或实时浏览器图表。
本文源代码来自://github.com/Steema/TeeChart-VCL-samples/tree/master/JScriptExport
导出静态HTML5
这个选项创建了一个Javascript的低级渲染指令序列,以相同的方式再现了基于桌面的图表。要运行一个输出,首先要在你的项目中添加一个用途。
uses VCLTee.TeeHTML5Canvas;接下来运行以下代码导出:
procedure TForm1.Button2Click(Sender: TObject); var exporter: THTML5ExportFormat; begin //HTML5 Canvas fixed graphic exporter:=THTML5ExportFormat.Create; TeeSaveToHTML5File(Chart1,AppDir + 'myoutput\1_HTML5_Canvas_Chart.htm', DesWidth, DesHeight); exporter.Width:=DesWidth; exporter.Height:=DesHeight; exporter.Panel:=Chart1; Memo1.Lines:=exporter.HTML5; end;
出口输出脚本在右边。
该输出创建了HTML页面脚本和Javascript代码线,逐行渲染指令,在HTML5画布上绘制每个图表元素。
例子:
function draw() {
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "rgb(240,240,240)";
ctx.fillRect(0, 0, 1500, 700);
var gradient1 = ctx.createLinearGradient(0, 0, 0, 701);
gradient1.addColorStop(0,"rgb(234,234,234)");
gradient1.addColorStop(1,"rgb(255,255,255)");
ctx.fillStyle=gradient1;
ctx.fillRect(0, 0, 1501, 701);
ctx.strokeStyle = "rgb(0,0,0)";
ctx.lineWidth = 1;
ctx.strokeStyle = "rgb(255,255,255)";
ctx.lineWidth = 1;
ctx.beginPath();
}
以Javascript导出为实时图表
支持的系列类型:线形、区域、条形、饼形、点形、甜甜圈、泡沫、蜡烛、甘特图、彩网、表面3D、地图。
与TeeChart HTML5导出不同,Javascript导出使用TeeChart自己的Javascript库(见//steema.com/product/html5)。导出会创建必要的代码行,以使用该库并创建基于Delphi的图表的复制品。要运行一个导出,首先要在你的项目中添加一个使用。
uses VCLTee.TeeJavascript接下来给页面按钮添加一个事件:
var exporter: TJavascriptExportFormat;
CustCodeStr : TStringlist;
srcLinks : TStrings;
begin
//Javascript - "live" chart export.
exporter:=TJavascriptExportFormat.Create;
exporter.Width := DesiredWidth;
exporter.Height := DesiredHeight;
exporter.SaveToFile(Chart1,AppDir + 'myoutput\2_Chartfromcode.htm');
这将创建以下类型的输出,你可以选择将输出设置为一个完整的html页面或作为一个有多个元素的页面的一部分,teechart.js是图标库,因此你要检查是否引入。<title>Chart1</title>
<script src="//www.steema.com/files/public/teechart/html5/latest/src/teechart.js" type="text/javascript"></script>
<script type="text/javascript">
var Chart1;
function draw() {
Chart1=new Tee.Chart("Canvas1");
Chart1.panel.format.fill="#F0F0F0";
Chart1.panel.format.round.x=0;
Chart1.panel.format.round.y=0;
Chart1.panel.format.stroke.fill="";
Chart1.panel.format.stroke.cap="round";
Chart1.panel.format.gradient.colors=["#EAEAEA","#EAEAEA","#FFFFFF"];
Chart1.panel.format.gradient.stops=[0,0.5,1];
Chart1.panel.format.gradient.direction="topbottom";
Chart1.panel.format.gradient.visible=true;
Chart1.panel.margins.left=3;
Chart1.panel.margins.right=3;
自定义图表
这里是一个如何为图表添加修改的例子,可以改变图表主题、标题、字体,或者在图表本身添加内容。在这里,我们在导出前向解析的Javascript代码添加一些自定义行,这里使用Memo组件将一些额外的参考行与对Javascript函数的调用结合起来。
CustCodeStr := TStringlist.Create;
CustCodeStr.Add(' addFeatures('+exporter.ChartName+');');
exporter.CustomCode := CustCodeStr;
这里我们要添加一个对javascript代码单元的引用,jutils.js,然后保存到文件中。
With Memo3 do Begin Lines := exporter.JScript; Lines.Insert(6,'<script src="jutils.js" type="text/javascript"></script>'); Lines.Insert(6,'<script src="'+exporter.SourceScriptPath+'/teechart-animations.js" type="text/javascript"></script>'); Lines.Insert(6,'<script src="'+exporter.SourceScriptPath+'/teechart-extras.js" type="text/javascript"></script>'); Lines.SaveToFile(AppDir + 'myoutput\3_Chart_JScript_mods.htm'); End;jutils的addFeatures方法包括了我们想做的修改,比如说:
function addFeatures(aChart) {
aChart.applyTheme("minimal");
//turn off marks
aChart.series.items[0].marks.visible = false;
//animation
animation=new Tee.SeriesAnimation();
animation.duration=2000;
animation.kind="each";
fadeAnimation=new Tee.FadeAnimation();
fadeAnimation.duration=500;
fadeAnimation.fade.series=true;
fadeAnimation.fade.marks=true;
animation.mode = "linear";
fadeAnimation.mode = "linear";
animation.items.push(fadeAnimation);
animation.animate(aChart);
//tooltip
tip=new Tee.ToolTip(aChart);
tip.render="dom";
tip.autoHide=true;
tip.domStyle = "padding-left:8px; padding-right:8px; padding-top:0px; padding-bottom:4px; margin-left:5px; margin-top:0px; ";
tip.domStyle = tip.domStyle + "background-color:#FCFCFC; border-radius:4px 4px; color:#FFF; ";
tip.domStyle = tip.domStyle + "border-style:solid;border-color:#A3A3AF;border-width:1px; z-index:1000;";
aChart.tools.add(tip);
tip.onhide=function() { scaling=0; poindex=-1; }
tip.ongettext=function( tool, text, series, index) {
var s = '<font face="verdana" color="black" size="1"><strong>'+ series.title+'</strong></font>';
s = s + '<br/><font face="verdana" color="darkblue" size="1">Series point: <strong>'+ index.toFixed(0)+'</strong></font>';
s = s +'<br/><font face="verdana" color="red" size="1">Value: '+series.data.values[index].toFixed(2)+'</font>';
return s;
}
}
图表的输出增加了一次加载时间、动画和标记提示。结果如下://www.steema.com/files/public/teechart/vclfmx/jscriptdemo/3_Chart_JScript_mods.htm
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn




凭借HOOPS Visualize与HOOPS Envision,Tech Soft 3D为工程、制造与仿真领域提供了完整的三维可视化技术体系。从高性能实时渲染到多物理场仿真可视化,这两款SDK构建了工程级图形引擎的双支柱,为开发者提供可靠、高效、可扩展的三维图形能力。
Tech Soft 3D的HOOPS Exchange与HOOPS Access,还是Spatial的3D InterOp,它们都体现了当前工程软件领域在数据互操作技术上的发展趋势—— 即以 高精度几何解析、跨平台开放架构与可持续兼容性 为核心,构建从设计、仿真到制造的数字数据链。
在现代复杂系统开发过程中,需求管理是确保项目成功的关键环节。Sparx Systems公司的Enterprise Architect作为一款先进的UML建模和设计工具,其需求管理模块通过完整的追溯机制,为项目提供了从需求收集到设计实现、测试验证的全生命周期可追溯性解决方案,有效保障了项目交付质量与规范符合度。
相关产品
支持RAD Studio,Delphi和C ++ Builder以及FireMonkey的图表制作工具
TeeChart for .NET优秀的工业4.0 WinForm图表控件,官方独家授权汉化,集功能全面、性能稳定、价格实惠等优势于一体
TeeChart Pro ActiveX交互性强的轻量级ActiveX图表控件,能高效生成多任务仪表板
最新文章 MORE
半岛外围网上直营相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
半岛外围网上直营