在浏览器中将 SVG 转换为图像(JPEG、PNG 等)

2022-08-29 23:44:00

我想通过JavaScript将SVG转换为位图图像(如JPEG,PNG等)。


答案 1

以下是如何通过JavaScript做到这一点:

  1. 使用 canvg JavaScript 库,通过 Canvas: https://github.com/gabelerner/canvg 渲染 SVG 图像
  2. 根据以下说明,从画布捕获编码为JPG(或PNG)的数据URI:将HTML画布捕获为gif/jpg/png/pdf?

答案 2

jbeard4解决方案运行良好。

我正在使用Raphael SketchPad创建一个SVG。链接到步骤 1 中的文件。

对于保存按钮(svg 的 id 是 “editor”,canvas 的 id 是 “canvas”):

$("#editor_save").click(function() {

// the canvg call that takes the svg xml and converts it to a canvas
canvg('canvas', $("#editor").html());

// the canvas calls to output a png
var canvas = document.getElementById("canvas");
var img = canvas.toDataURL("image/png");
// do what you want with the base64, write to screen, post to server, etc...
});