不知道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));

相关内容

热门资讯

九分钟攻略!福麻圈经典跑得快外... 九分钟攻略!福麻圈经典跑得快外 挂,德扑之星ai代打(详细透视辅助软件教程);大神普及一款德州ai内...
九分钟教学!呼兰麻将有挂么,w... 九分钟教学!呼兰麻将有挂么,wopoker真的有挂(详细透视辅助神器教程);wpk透视辅助官方版是专...
6分钟规律!闲来跑胡子辅助工具... 6分钟规律!闲来跑胡子辅助工具,fish poker外 挂(详细透视辅助助手教程);闲来跑胡子辅助工...
一分钟透明!丫丫衡阳字牌有挂吗... 1、一分钟透明!丫丫衡阳字牌有挂吗,云扑克辅助器真假(详细透视辅助挂教程)。2、丫丫衡阳字牌有挂吗透...
3分钟介绍!同城上饶棋牌有挂吗... 3分钟介绍!同城上饶棋牌有挂吗,wpk脚本(详细透视辅助软件教程)1、很好的工具软件,可以解锁游戏的...
6分钟方法!家家盘锦麻将有挂吗... 6分钟方法!家家盘锦麻将有挂吗,wpk微扑克真的有辅助插件(详细透视辅助黑科技教程);原来确实真的有...
7分钟规律!开心联盟牛牛有没有... 7分钟规律!开心联盟牛牛有没有外 挂,德州ai辅助代理(详细透视辅助工具教程)准备好在开心联盟牛牛有...
6分钟攻略!越乡游斗牌辅助,微... 6分钟攻略!越乡游斗牌辅助,微扑克被系统制裁(详细透视辅助脚本教程)是一款可以让一直输的玩家,快速成...
7分钟技巧!心悦填大坑辅助器,... 7分钟技巧!心悦填大坑辅助器,aapoker发牌机制(详细透视辅助神器教程);科技安装教程;1367...
六分钟介绍!沐沐福建麻将app... 六分钟介绍!沐沐福建麻将app有猫腻吗,德州之星软件(详细透视辅助工具教程)是由北京得沐沐福建麻将a...