gpt4 book ai didi

javascript - pdfmake - 在 ANGULAR 4 中将 SVG 转换为 image64

转载 作者:行者123 更新时间:2023-11-30 14:48:23 26 4
gpt4 key购买 nike

我正在尝试使用 pdfmakeSVG 转换为图像。

const svg = document.getElementById('chart-grafico-pizza').childNodes[0];
const img = document.createElement('img');
const canvas = document.getElementById('teste-canvas');

// get svg data
const xml = new XMLSerializer().serializeToString(svg);

// make it base64
const svg64 = btoa(xml);
const b64Start = 'data:image/svg+xml;base64,';

// prepend a "header"
const image64 = b64Start + svg64;

// set it as the source of the img element
img.src = image64;
// draw the image onto the canvas
(canvas as HTMLCanvasElement).getContext('2d').drawImage(img, 0, 0);

图像总是返回为undefined

最佳答案

我没有发现您的代码有任何问题,SVG 也没有。你的代码,你显然是从这里得到的 Drawing an SVG file on a HTML5 canvas工作得很好,假设你的查询选择器工作。这可能正是这里的问题...因为您没有提供您的 HTML,我们当然不能检查它。

https://jsbin.com/qacodugive/1/edit

“图像未定义”是什么意思?变量 img 显然不是。它在任何时间点都是 DOM 元素。

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>

<div>SVG here</div>
<svg height="100">
<rect width="100" height="100" />
</svg>

<div>Canvas here (Click "Run with JS" to render)</div>
<canvas></canvas>

</body>
</html>

JS

var svg = document.querySelector('svg');
var img = document.createElement('img');
var canvas = document.querySelector('canvas');

// get svg data
var xml = new XMLSerializer().serializeToString(svg);

// make it base64
var svg64 = btoa(xml);
var b64Start = 'data:image/svg+xml;base64,';

// prepend a "header"
var image64 = b64Start + svg64;

// set it as the source of the img element
img.src = image64;

// draw the image onto the canvas
canvas.getContext('2d').drawImage(img, 0, 0);

关于javascript - pdfmake - 在 ANGULAR 4 中将 SVG 转换为 image64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48551008/

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