我正在尝试将SVG图像绘制到方形画布上,以便我可以在ThreeJS中将其用作纹理:
canvas.width = 1024;
canvas.height = 1024;
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
const texture = new THREE.Texture(canvas);
img
是DOM中的一个图像元素,其svg数据为src。
这适用于Chrome 。问题是Firefox想要保持原始图像的宽高比,无论我尝试什么,它都不会覆盖整个1024x1024画布。有关如何使其在Firefox上运行的任何想法吗?
SVG root:
<svg width="100.000000" height="60.000000" version="1.1" viewBox="0 0 100.000000 60.000000" xmlns="http://www.w3.org/2000/svg">