5

我有一个漂亮整洁的脚本,可以循环使用颜色,并且可以很好地与#xxxxxx格式配合使用,但我想更改透明度。有没有办法做到这一点?

我指的是ctx.strokeStyle()

这是当前代码:

canvas.strokeStyle = '#' + (((16777215 / s.length) * i).toString(16));

它循环通过一个 for 循环,每个循环i递增1,它是开关的一部分。for 循环如下所示:for(var i = 0; i < s.length; i++){}

4

2 回答 2

7

在以所需的不透明度绘制每个元素之前,您可以ctx.globalAlpha在 0 到 1 的范围内进行更改。

于 2013-08-15T10:32:02.293 回答
3

使用ctx.globalAlpha像 Martin Tale 回答或rgba([0-255], [0-255], [0-255], [0-1])格式。因此,您需要将整数转换为单独的 rgb 值:

var color = ((16777215 / s.length) * i);
var r = (color >> 16) & 255;
var g = (color >> 8) & 255;
var b = color & 255;

var alpha = 0.5;

canvas.strokeStyle = "rgba("+r+","+g+","+b+","+alpha+")";
于 2013-08-15T10:50:30.273 回答