gpt4 book ai didi

javascript - Firefox 使用 drawImage 将 SVG 图像渲染到 HTML5 Canvas 时出错

转载 作者:可可西里 更新时间:2023-11-01 01:47:10 24 4
gpt4 key购买 nike

我正在尝试使用 Canvas 将外部 svg 图标转换为 base64 png。它适用于除 Firefox 之外的所有浏览器,Firefox 会抛出错误“NS_ERROR_NOT_AVAILABLE”。

var img = new Image();
img.src = "icon.svg";

img.onload = function() {
var canvas = document.createElement("canvas");
canvas.width = this.width;
canvas.height = this.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(this, 0, 0);
var dataURL = canvas.toDataURL("image/png");
return dataURL;
};

有人可以帮我解决这个问题吗?提前致谢。

最佳答案

Firefox 不支持将 SVG 图像绘制到 Canvas ,除非 svg 文件在根目录中具有宽度/高度属性 <svg>元素和那些宽度/高度属性不是百分比。这是 longstanding bug .

您需要编辑 icon.svg 文件,使其符合上述条件。

关于javascript - Firefox 使用 drawImage 将 SVG 图像渲染到 HTML5 Canvas 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28690643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com