【发布时间】:2018-03-29 21:32:37
【问题描述】:
我想要做的是加载一个 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 加载为 Image 对象,这对于绘图来说效果很好,但不允许我更改填充颜色。
我确实尝试将我的 svg 转换为画布命令,这允许我更改填充,但需要大量工作才能正确缩放和定位,而且对于我正在处理的大量图像来说是不可行的。
在使用画布的同时还有其他方法可以做到这一点吗?
【问题讨论】:
标签: javascript html canvas svg