【发布时间】:2015-05-26 13:38:29
【问题描述】:
我正在尝试为填充可变宽度形状的笔制作动画,目前正在使用 html5 画布。理想情况下,我希望能够让下面的样本开始亮起并在黑暗中着色,以及根本不出现并着色,就好像从无到有一样。
source-in 似乎不起作用,至少在 Firefox 中是这样。
有问题的图像是一个简单的 SVG 路径,所以如果有一种合理的方法可以从 SVG 贝塞尔路径生成画布剪辑路径,那也可以。
var img = new Image();
img.src = "data:image/svg+xml;base64,...";
var xRecords = [...];
var yRecords = [...];
var canvas = document.getElementById("topCanvas");
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
ctx.strokeStyle = "#0000ff";
ctx.lineWidth = 90;
ctx.beginPath();
ctx.lineCap = "round";
ctx.moveTo(xRecords[0], yRecords[0]);
for(var i = 0; i < xRecords.length; i++) {
ctx.lineTo(xRecords[i], yRecords[i]);
ctx.stroke();
}
http://codepen.io/matelich/pen/gpLmOW
如果有帮助的话,生成图像的替代版本并不是什么大问题。哦,动画只是一个示例。
更新这大部分适用于 Chrome 和 IE,但不适用于 Firefox:http://codepen.io/matelich/pen/pJNeRq
【问题讨论】:
标签: javascript html canvas