D3.js 中实现svg 保存 png
来源:互联网 发布:excel2010数据按钮 编辑:程序博客网 时间:2024/05/22 10:31
直接上代码:
//svg 保存成Png fuctionfunction svgToPng(svg,pngWidth,pngHeight){ var serializer = new XMLSerializer(); var source = '<?xml version="1.0" standalone="no"?>\r\n'+serializer.serializeToString(svg.node()); var image = new Image; image.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(source); var canvas = document.createElement("canvas"); canvas.width = pngWidth; canvas.height = pngHeight; var context = canvas.getContext("2d"); context.fillStyle = '#fff';//设置保存后的PNG 是白色的 context.fillRect(0,0,10000,10000); context.drawImage(image, 0, 0); return canvas.toDataURL("image/png"); }使用方法:
$('#imgSave').click(function(){ var url=svgToPng(svg,width,height); var pngName="svgtoPng图"; var a = document.createElement("a"); a.download = pngName+".png"; a.href = url; a.click(); })
参数介绍:
svg 是D3 创建的,代码如下:
var svg = d3.select("#jftp").append("svg") .attr("width", width) .attr("height",height);
width,height 根据需求设置
var width = $(document).width()-20; var height = $(document).height()-108;
问题总结:
下载后 图片这种情况:原因是
linkEnter.append("path") // .attr("class", "link")// 使用了css 控制了连线格式 而 这种控制 在导出图片时,不能控制样式//setting the styles through CSS. This doesn't generally work well with rendering to PNG; .attr("style", "fill: none; stroke-opacity: 1;stroke-width: 1.5px;")//正确方法应该是 直接css在代码中控制。 .attr("d", function(d) { var o = {x: data.x0, y: data.y0}; return diagonal({source: o, target: o}); }) .transition() .duration(500) .attr("d", diagonal);
0 0
- D3.js 中实现svg 保存 png
- d3.js 可视化学习笔记(二)——svg导出png保存
- d3.js 实现svg 缩放 平移 旋转
- D3.JS: 在SVG中使用d3创建HTML标签
- 用d3.js实现基于SVG的线形图
- d3.js-svg图形基础
- [D3.js] SVG-Axes(坐标轴)
- D3.js在svg地图上标点
- D3.js SVG绘图实践:趋势缩略图
- D3.js SVG绘图实践:波浪动画
- d3.js使用svg制作图标
- d3.js-svg的效果及样式
- 【D3.js数据可视化系列教程】--(七)SVG初探
- D3.js学习笔记一:认识SVG图形
- 使用Batik绘制SVG图并保存为png图像格式
- JS实现SVG图形
- 【D3.js数据可视化系列教程】--(八)使用D3绘制SVG
- D3.js中使用scale
- 12月第1周周报
- Linux ping丢包case
- java面试题及答案(基础题122道,代码题19道)
- BaseDao常用接口包装类
- cas客户端,shiro-cas整合
- D3.js 中实现svg 保存 png
- 遥感图像滤波处理(原始数据为文本格式)
- 09-预览github上面的html效果
- Ubuntu硬盘安装
- Adroid AIDL的使用方法
- CentOS FastDFS配置之常见错误
- ArcGIS Runtime SDK For iOS 去除水印
- copy run start
- 第十二月第2周周报