如果:不透明度为50%或更低的绘制圆

时间:2017-01-20 22:44:54

标签: javascript if-statement draw opacity geometry

对于我的一个课程,我们需要创建一个

if (...){
then draw something!
}

语句。但是,我是JavaScrip的新手,每当我尝试创建if语句时,我都没有取得多大成功。

我想要做的只是有一个圆圈(通过使用画布)显示不透明度是否为50%(我可能会在以后更改此值)或更少。我有它,以便颜色和不透明度随机化。我有这种设计的其他形状,但是,为了这个目的,我已经从下面的例子和JSFiddle中排除了它们。

到目前为止我所拥有的内容:JSFiddle

var draw_optional = true;

if (ran_colours < "(0.5)"){
  draw_optional = true;
  context.stroke();
}

我想知道我做错了什么?如果单击JSFiddle链接,您可以看到我的完整代码!

提前致谢!

1 个答案:

答案 0 :(得分:0)

ran_colours如下所示:"rgba(29,251,218,0.5617056562158282)"

您认为"rgba(29,251,218,0.5617056562158282)"小于"(0.5)"?对,你不能说(我希望)。您需要获取alpha值字符串,或预先计算alpha值并将其存储在自己的变量中。第二种方法更好,所以这就是它的完成方式:

在将rgba-color分配给ran_colours之前,请添加以下行:

var alpha = Math.random();

ran_colours分配中,将最后一次随机调用替换为alpha变量

var ran_colours =
"rgba(" 
+ Math.floor(Math.random() * 256) + "," 
+ Math.floor(Math.random() * 256) + "," 
+ Math.floor(Math.random() * 256) + "," 
+ alpha + ")";

由于alpha只是一个数字,因此您可以轻松编写if语句:

if (alpha < 0.5){
  draw_optional = true;
  context.stroke();
}