我想做的是加载 SVG,将其填充颜色更改为随机值,然后在画布上绘制它。这比我想象的要困难得多。这是我目前拥有的代码。
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
//images
var bottomLeftTop = new Image();
var bottomRightTop = new Image();
var fullTop= new Image();
var leftMidSide = new Image();
var leftSide = new Image();
var rightMidSide = new Image();
var rightSide = new Image();
var topLeftTop = new Image();
var topRightTop = new Image();
bottomLeftTop.src = "img/bottomLeftTop.svg";
bottomRightTop.src = "img/bottomRightTop.svg";
fullTop.src = "img/fullTop.svg";
leftMidSide.src = "img/leftMidSide.svg";
leftSide.src = "img/leftSide.svg";
rightMidSide.src = "img/rightMidSide.svg";
rightSide.src = "img/rightSide.svg";
topLeftTop.src = "img/topLeftTop.svg";
topRightTop.src = "img/topRightTop.svg";
//draw
context.drawImage(fullTop,50,50);
我目前正在将我的svg作为图像对象加载,这样可以正常绘制,但无法更改填充颜色。
我尝试将我的svg转换为canvas命令,这样可以更改填充颜色,但需要大量的工作来正确缩放和定位,而且在处理大量图像时不可行。
是否有其他方法可以在仍然使用canvas的情况下完成这项任务?