如何将SVG导出为PNG格式
How to Exporting SVG as PNG format
对于大小问题,我删除了一些svg内容。我想实现svg图像导出为png或任何图像格式的报告目的
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
function SaveasImage(){
var myCanvas = document.getElementById('myCanvas');
// get 2D context
var myCanvasContext = myCanvas.getContext('2d');
// Load up our image.
var source = new Image();
var img = document.getElementById('svg1');
source.src = img.svg;
myCanvasContext.drawImage(source,0,0,200,200);
$("#resultImage").attr("src",myCanvas.toDataURL("image/png"));
}
});
</script>
</head>
<body>
<h1>My first SVG</h1>
<canvas id="myCanvas" width="200" height="100"></canvas>
<svg version="1.1" id="svg1" style="font-family:"Lucida Grande",
"Lucida Sans Unicode", Arial, Helvetica, sans-serif;font-size:12px;" xmlns="http://www.w3.org/2000/svg" width="322" height="194"><text x="49" style="color:#606060;cursor:default;font-size:11px;fill:#606060;width:96px;text-overflow:clip;" text-anchor="end" transform="translate(0,0)" y="76" opacity="1">50</text><text x="49" style="color:#606060;cursor:default;font-size:11px;fill:#606060;width:96px;text-overflow:clip;" text-anchor="end" transform="translate(0,0)" y="13" opacity="1">100</text></g></svg>
<input type="button" onclick="SaveasImage()" value="exportasimage" />
</body>
</html>
关于你的方法我们有一些问题。我删除了JQ & &;简化了SVG本身。首先,在设置源之前,需要使用onload事件设置对img发生的操作。一旦完成,src就会被设置一个URI,通常是一个链接,但我们可以使用
data:image/svg+xml;base64
所以这是一个版本,它将记录到控制台的<svg>
为。png(base64)。
<html>
<head>
<script>
window.onload = function() {
var myCanvas = document.getElementById('myCanvas');
var myCanvasContext = myCanvas.getContext('2d');
var source = new Image();
var img = document.getElementById('svg1');
source.onload = function() {
myCanvasContext.drawImage(source,0,0,200,200);
document.getElementById('output').src = myCanvas.toDataURL("image/png");
console.log(myCanvas.toDataURL("image/png"));
}
source.src = 'data:image/svg+xml;base64,'+btoa(img.outerHTML);
}
</script>
</script>
</head>
<body>
<h1>My first SVG</h1>
<canvas id="myCanvas" width="200" height="100"></canvas>
<svg version="1.1" id="svg1" xmlns="http://www.w3.org/2000/svg" width="322" height="194">
<text x="49" text-anchor="end" transform="translate(0,0)" y="76" opacity="1">50</text>
<text x="49" text-anchor="end" transform="translate(0,0)" y="13" opacity="1">100</text>
</svg>
<img id="output" />
<input type="button" onclick="SaveasImage()" value="exportasimage" />
</body>
</html>
相关文章:
- 如何使用javascript或html下载PDF格式的填写表单
- 货币代码为欧元-金额的格式不应包含小数
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 更改angularjs中的日期-时间格式
- 如何在Edge中下载图像/png数据URI
- 将日期时间从json转换为可读格式
- 在fabric.js中以PNG格式下载Canvas,给出网络错误
- 将Base64转换为R格式的PNG/JPEG文件
- 在VB.net/C#或Objective-C上将JPEG或PNG转换为SVG格式
- PDFKit:PNG的未知图像格式错误
- 您如何制作典型格式的照片,例如PNG,JPG等,用于像素级样式和脚本的HTML画布元素
- Oracle Apex Canvas to blob in PNG 格式保存到项目
- 如何将SVG导出为PNG格式
- Mapbox webservice:将贴图的格式从PNG更改为JPG
- 如何下载画布为PNG图像格式,而不是二进制文件
- 是否可以将剑道图表保存为png格式,而不使用任何第三方工具(linkspace)
- 不能以PNG格式显示Base64
- 如何在javascript文件阅读器中将.png格式的图像转换为.jpg格式
- Nervgh Angular文件上传-我如何限制文件格式说jpeg和png