在Firefox中的画布上下文对象上使用svg调用drawImage()的问题

 那是黑夜过后的黎明_182 发布于 2023-01-16 13:02

我基本上想将SVG转换为PNG图像.所以我将SVG转换为SVG图像,并尝试在画布上绘制它,以便能够通过toDataURL()方法将其作为PNG.这在Chrome中运行良好,但在Firefox中它会产生一个非常无意义的错误:NS_ERROR_NOT_AVAILABLE

经过一番搜索和实验,我尝试了一个不同的SVG源,突然间一切正常.任何可能导致该方法对第一个SVG字符串工作正常但第二个字符串失败的想法?如何更改SVG以使其正常工作?

小提琴:http://jsfiddle.net/3AXwb/

var image = new Image();
image.src = 'data:image/svg+xml,' + escape(xml);
image.onload = function () {
    var canvas = document.createElement('canvas');
    canvas.width = image.width;
    canvas.height = image.height;
    var context = canvas.getContext('2d');
    document.getElementById('container').appendChild(canvas);
    context.drawImage(image, 0, 0);
}

Robert Longs.. 18

将width属性添加到外部元素.例如width ="450"

第一种情况是宽度和高度,第二种情况是高度,Firefox目前需要宽度和高度.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有