关于html5 canvas元素 为啥在chrome和火狐里都显示不了。去掉 if (canvas == null) return false;才行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于html5 canvas元素 为啥在chrome和火狐里都显示不了。去掉 if (canvas == null) return false;才行相关的知识,希望对你有一定的参考价值。

<html>
<head></head>
<body>
<canvas id="myCanvas"></canvas>
<script type="text/javascript">
var canvas = document.getElementById('myCanvas')
if (canvas == null)
return false;
var context = canvas.getContext("2d");
//实践表明在不设施fillStyle下的默认fillStyle=black
context.fillRect(0, 0, 100, 100);

//设置纯色
context.fillStyle = "rgba(255,0,0,0.2)";
context.strokeStyle = "blue";
context.fillRect(0, 120, 100, 100);
context.strokeRect(120, 120, 100, 100);

//设置透明度实践证明透明度值>0,<1值越低,越透明,值>=1时为纯色,值<=0时为完全透明

context.fillStyle = "red";

context.fillRect(240,0 , 100, 100);
context.fillStyle = "rgba(255,0,0,0.2)";
context.fillRect(240, 120, 100, 100);
</script>
</body>
</html>

估计你刚学javascript吧,return不能用在“外部”。return需要在“函数内部”。

function test() 
    var canvas = document.querySelector(\'canvas\');
    if (!canvas) alert(\'浏览器不支持\');
    console.log(canvas)

test()

 

<html>
<head></head>
<body>
<canvas id="myCanvas"></canvas>
<script type="text/javascript">
function create() 
  var canvas = document.getElementById(\'myCanvas\')
  if (canvas == null) return false;
  var context = canvas.getContext("2d");
  //实践表明在不设施fillStyle下的默认fillStyle=black
  context.fillRect(0, 0, 100, 100);
  //设置纯色
  context.fillStyle = "rgba(255,0,0,0.2)";
  context.strokeStyle = "blue";
  context.fillRect(0, 120, 100, 100);
  context.strokeRect(120, 120, 100, 100);
  //设置透明度实践证明透明度值>0,<1值越低,越透明,值>=1时为纯色,值<=0时为完全透明
  context.fillStyle = "red";
  context.fillRect(240,0 , 100, 100);
  context.fillStyle = "rgba(255,0,0,0.2)";
  context.fillRect(240, 120, 100, 100);

create()
</script>
</body>
</html>追问

但是在另外一台电脑上就运行出来了。。

参考技术A 打个断点,看卡canvas变量拿到的值是什么! 参考技术B 额,,看错了。。

android html5 canvas 为啥不捕获画线?

【中文标题】android html5 canvas 为啥不捕获画线?【英文标题】:android html5 canvas why not capture draw line?android html5 canvas 为什么不捕获画线? 【发布时间】:2016-08-12 18:27:59 【问题描述】:

这是html5绘画测试应用

    运行应用程序 画线 按“捕获”

    不捕获线

    选项卡未捕获 click screenShot

    Galaly 4 被捕获 click screenShot

【问题讨论】:

嗨 SundayPark,您应该在 GitHub 上您尝试使用的库的问题部分提出这个问题:github.com/JooilPark/testScreenShot/issues 好的,打开我的问题。 【参考方案1】:

添加 webView 选项

mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

是选项使用。

捕获确定。

【讨论】:

以上是关于关于html5 canvas元素 为啥在chrome和火狐里都显示不了。去掉 if (canvas == null) return false;才行的主要内容,如果未能解决你的问题,请参考以下文章

01 关于Canvas

为啥我在html5中取到了canvas画布(已测试能取到),但是执行canvas.toDataURL("image.png")不成功,

HTML5 Canvas 在 Firefox 上比在 Chrome 上更快!为啥?

android html5 canvas 为啥不捕获画线?

html5 canvas 元素有啥用

为啥HTML5canvas中drawImage()第一次加载只出现最后一个图,刷新就出现问题?