当前位置:   article > 正文

canvas(一)从零开始

runcanvas

前言

canvas是一个HTML5标签,提供使用脚本绘制图形图像的api;最早由Apple引入WebKit,现兼容ie9+的常规浏览器,目前可以使用个<canvas>元素来绘制2d图形。

开始准备

  • 在常规的html页面中插入html标签容器 <canvas></canvas>
  • 标签属性可以设置宽和高(默认300*150) <canvas width="100" height='100'></canvas>
  • 由于我们需要是用脚本绘制,要获取元素,可以设置id(当然其他途径获取dom亦可)<canvas id='cvs_1' width="100" height='100'></canvas>
  • 至此我们可以看到浏览器渲染出一个100*100的盒子容器(没有颜色,你可以使用浏览器看盒子模型);

    图片描述

脚本获取上下文 getContext

canvas提供api来自哪里, 获取渲染canvas的上下文,就是获取到一个对象,挂载含有提供api的对象,我们需要用这个对象提供api来绘制。

  1. <script>
  2. var cvs_1 = document.getElementById('cvs_1');
  3. var ctx = cvs_1.getContext('2d');
  4. console.log(ctx)
  5. for(api in ctx){
  6. console.log(api)
  7. }
  8. </script>

图片描述

canvas兼容处理

标签兼容:

不支持canvas的浏览器会把标签忽略为自定义标签,显示里面的内容

  1. <canvas id="cv" width="100" height="100" >
  2. 你看到这个的时候就是你浏览器不兼容 你看咋处理吧
  3. </canvas>
api兼容

有些兼容不好的api 需要根据按需求来判断兼容并处理

  1. // 不支持api 该给用设置户友好提示了
  2. if(!ctx.getContext) return;

填充 方形和 fillStylefillRect

  1. ctx.fillStyle = 'red';
  2. ctx.fillRect(10,10,50,50);

解读

上面我们获取到了canvas上下文,拿到对象可以对对象操作,以上两个属性和方法就是小栗子;

fillStyle

属性值默认 #000 ,是一个string字符串,用于设置接下来绘制的颜色,可以设置为颜色的对象、rgb、rgba等;

fillRect

方法接收四个参数,分别是x、y、width、height;x、y是绘制图形的起点(左上角x,左上角y)

做点啥?

简单的例子

笑果如下:

图片描述

源代码地址:点击查看

还可以慢慢做点别有趣的小动画 如下:

图片描述

点击查看代码:点击查看

拓展

绘制 矩形边框 rect

  1. ctx.strokeStyle='blue';
  2. ctx.rect(10,10,70,70);
  3. ctx.stroke();

绘制 矩形区域 strokeRect

  1. ctx.strokeStyle = 'blue';
  2. ctx.strokeRect(1,1,90,90);

清除 矩形区域

    ctx.clearRect(40,40,10,10)

以上参数原理都一样,从命名理解:
fill... 填充
stroke... 绘制
clear... 清除

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/572323
推荐阅读
相关标签
  

闽ICP备14008679号