不知道SVG的宽度和高度如何将其转换为PNG
创始人
2025-01-12 09:00:28
0
  1. 使用JavaScript获取SVG的宽度和高度,然后使用以下代码将SVG转换为PNG:
const svg = document.querySelector('svg'); // 获取SVG元素
const width = svg.getAttribute('width');
const height = svg.getAttribute('height');

const canvas = document.createElement('canvas');
canvas.width = width;
canvas.height = height;
const ctx = canvas.getContext('2d');

const img = new Image();
img.onload = function() {
  ctx.drawImage(img, 0, 0);
  const pngData = canvas.toDataURL('image/png');
  console.log(pngData); // 返回PNG的base64数据
};
img.src = 'data:image/svg+xml;base64,' + btoa(new XMLSerializer().serializeToString(svg));
  1. 如果SVG没有设定宽度和高度,可以使用以下代码获取SVG的实际宽度和高度,并将其转换为PNG:
const svg = document.querySelector('svg'); // 获取SVG元素
const bbox = svg.getBBox();

const canvas = document.createElement('canvas');
canvas.width = bbox.width;
canvas.height = bbox.height;
const ctx = canvas.getContext('2d');

const img = new Image();
img.onload = function() {
  ctx.drawImage(img, 0, 0);
  const pngData = canvas.toDataURL('image/png');
  console.log(pngData); // 返回PNG的base64数据
};
img.src = 'data:image/svg+xml;base64,' + btoa(new XMLSerializer().serializeToString(svg));

相关内容

热门资讯

热点推荐!丽水茶苑辅助,新道游... 热点推荐!丽水茶苑辅助,新道游开挂,详细教程(有挂透视)1、游戏颠覆性的策略玩法,独创攻略技巧玩法,...
技术分享!花花生活圈开挂,微乐... 技术分享!花花生活圈开挂,微乐小程序辅助收费,详细挂(有挂细节)微乐小程序辅助收费透视方法中分为三种...
一分钟揭秘!边锋老友荣成辅助器... 一分钟揭秘!边锋老友荣成辅助器,微信小程序挂后台,详细工具(揭秘有挂)1、边锋老友荣成辅助器有没有辅...
玩家实测!微信小程序辅助app... 玩家实测!微信小程序辅助app下载,欢乐茶馆挂有没有,详细工具(有挂技巧)1、微信小程序辅助app下...
玩家实测!518互游辅助,欢乐... 玩家实测!518互游辅助,欢乐情怀辅助卦,详细神器(真的有挂)欢乐情怀辅助卦透视方法中分为三种模型:...
每日必看推荐!hhpoker俱... 每日必看推荐!hhpoker俱乐部靠谱吗,皮皮游戏辅助工具,详细器(有挂规律)运hhpoker俱乐部...
推荐十款!拱趴大菠萝辅助神器,... 推荐十款!拱趴大菠萝辅助神器,雀友会潮汕辅助,详细教程(讲解有挂)1、点击下载安装,拱趴大菠萝辅助神...
一分钟揭秘!微信小程序辅助器脚... 一分钟揭秘!微信小程序辅助器脚本,789大菠萝可以控制吗,详细工具(有挂总结)1)微信小程序辅助器脚...
实测交流!爱玩联盟辅助,天天爱... 实测交流!爱玩联盟辅助,天天爱游戏辅助,详细教程(有挂规律)进入游戏-大厅左侧-新手福利-激活码辅助...
玩家必看科普!微乐微信小程序辅... 玩家必看科普!微乐微信小程序辅助软件,广西友乐软件辅助,详细攻略(有挂详细)1、下载好微乐微信小程序...