Web Chart入门(6) canvas Chart 导出图文件

介绍

使用SVG绘制的图形可以导出为svg 格式的文件,使用浏览器等可以查看。

是否可以导出为png, gif 格式的文件呢? 当然是可以。

只是在 web 直接创建和操作文件是不建议的,而且存在各浏览器兼容的问题, 比如IE使用ActiveX来创建新文件。

正确的做法,是在web server 端传送文件到web 端, 不过对于web chart 来说, 好像又多绕了一圈。

这里的介绍为了简单,没有引入web Server.

既然使用的是Canvas,则本文的内容是针对支持HTML5的浏览器而言的。

Canvas 产生图,并自动下载

<!--Add by oscar999-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">  

</HEAD>  

<BODY>  

<canvas id="myCanvas" width="400" height="300"></canvas>    

<script type="text/javascript">
var canvas = document.getElementById('myCanvas');
var ctx = document.getElementById('myCanvas').getContext('2d');
ctx.fillStyle = "red";  

ctx.beginPath();
ctx.moveTo(30, 30);
ctx.lineTo(150, 150);
// was: ctx.quadraticCurveTo(60, 70, 70, 150); which is wrong.
ctx.bezierCurveTo(60, 70, 60, 70, 70, 150); // <- this is right formula for the image on the right ->
ctx.lineTo(30, 30);
ctx.fill();  

var dataURL = canvas.toDataURL();
dataURL = dataURL.replace("image/png", "image/octet-stream");
window.location.href = dataURL;  

</script>    

</BODY>
</HTML>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索web
, 文件
, 浏览器
, chart c#
, canvas
, chart
, chart js canvas
, getelementbyid
, chart图
, Canvas.toDataURL
, dataurl转成图片
150
canvas chart、canvas chart.js、html5 canvas chart、h5canvas动画入门教程、canvas入门,以便于您获取更多的相关知识。

时间: 2024-08-03 17:04:06

Web Chart入门(6) canvas Chart 导出图文件的相关文章

Web Chart入门(7) 物理动画效果(如撕扯效果)

物理动画 这里物理动画说的是,图形的动画效果和实际生活中的物理效果类似,比如说重力影响的效果. 其实动画的实现就是把一个动作拆分成间隔连续的去完成, 视觉上就感觉是在动的了. 比如把一个图从左边移到右边, 设总距离100的话, 每隔 1/40秒 移到 1 的话,效果就会有了. 这个时间间隔和距离间隔设置多少为最佳,美学上是有一些定义的,这里就不探讨了. 一个拽动和撕扯窗布的例子 三个文件 tearCloth.html ;  tearCloth.css ; tearCloth.js tearClo

Web Chart入门(4) 图形布局-Layout 之js设计实现

前言 定位browser 的 chart,   VML,SVG, HTML5 Canvas使用的方式各不一样. 如果使用现有的js  library (各种实现js 图表的library汇总与比较) , 调用的API方式也肯定不同. 举个例子: draw2d 使用addFigure 和 setPosition 都可以设置图的位置. 混在特定技术或是特定library 里去layout , 很明显不是一个明智之举. 切分开来, layout 的功能对于任何的图形绘制都适用.就是本章所讨论的了. 实

chart js canvas-使用chart.js在canvas上面画线形图bug

问题描述 使用chart.js在canvas上面画线形图bug 我使用chart.js画线形图,有几个筛选条件,第一次绘制没有问题,当第二绘制时显示的是正确的线形图,可是当鼠标在线形图上滑动的时候会出现第一次的线形图跟第二次的线形图闪烁,来回切换的情况. 我感觉是canvas这个标签有自己的缓存还是什么的,但是用网上的办法不管用 解决方案 兄弟,我刚遇到这个,仔细看chart.js的代码,找到解决办法了, myLineChart.destroy(); myLineChart =myNewChar

vs.net中web services入门

services|web services 入门摘要:Microsoft Visual Studio .NET 和 XML Web services 提供了一个简单.灵活且基于标准的模型,开发人员无论使用何种平台.编程语言或对象模型均可以编写组合应用程序.本文将帮助您快速学习使用 Visual Studio .NET 创建并访问 XML Web services.本文包含一些指向英文站点的链接. 目录简介 用托管代码编写的 XML Web services 使用 Visual Studio 创建

使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【三】——Web Api入门

原文:使用ASP.NET Web Api构建基于REST风格的服务实战系列教程[三]--Web Api入门 系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 经过前2节的介绍,我们已经把数据访问层搭建好了,从本章开始就是Web Api部分了.在正式开始之前,再一次回顾一下Web Api的应用场景:Web Api可以与 MVC,WebForm结合使用,也可以作为一个单独的Web服务.在正式讨论Web Api的配置以及如何构造我们的URI来消

构建渐进式 Web 应用入门指南

本文讲的是构建渐进式 Web 应用入门指南, 原文地址:A beginner's guide to making Progressive Web Apps 原文作者:uve 译文出自:掘金翻译计划 本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO/a-beginners-guide-to-making-progressive-web-apps.md 译者:Haichao Jiang 校对者:sun leviding 构建渐进式

Intellij Idea 创建Web项目入门(一)

原文:Intellij Idea 创建Web项目入门(一) 相关软件: Intellij Idea14:http://pan.baidu.com/s/1nu16VyD JDK7:http://pan.baidu.com/s/1dEstJ5f Tomcat(apache-tomcat-6.0.43):http://pan.baidu.com/s/1kUwReQF   Intellij Idea的安装非常简单,一步一步安装即可. JDK的安装也挺简单的,重要的是配置环境.在环境变量Path里面添上J

XML开发入门基础:查看XML文件

在所有现代浏览器中,可能够查看原始的XML文件. 不要指望XML文件会直接显示为HTML页面. 查看XML文件 开发入门基础:查看XML文件-">查看这个XML文件:note.xml 打开XML文件 -XML文档将显示为代码颜色化的根以及子元素.通过点击元素左侧的加号或减号,可以展开或收起元素的结构.如需查看不带有 + 和 - 符号的源代码,请从浏览器菜单中选择"查看源代码". 注释:在Netscape, Opera 以及Safari 中,仅仅会显示元素文本!要查看原始

Android开发入门(十八)文件 18.4使用静态资源

除了可以在运行时去创建并使用文件,也可以在设计阶段把文件放在程序包中,这样一来就可以在运行时 去使用他们.举个例子,你想把一些帮助文件打包进程序,当用户需要的时候,就可以展示给他们看.在这 种情况下,应该把文件放在res/raw文件夹下面. 开发入门(十八)文件 18.4使用静态资源-伪静态规则 入门"> 想要在代码中使用这个文件,需要调用Activity的getResources()方法,返回一个Resources对象.然后 ,使用它的openRawResource()方法去打开res/