canvas 基础入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了canvas 基础入门相关的知识,希望对你有一定的参考价值。

参考技术A Canvas(画布)是在 html5 中新增的标签用于在网页实时生成图像,可以操作图像内容,是一个可以用 javascript 操作的位图(bitmap)。

游戏:canvas 在基于 Web 的图像显示方面比 Flash 更加立体、更加精巧,canvas 游戏在流畅度和跨平台方面更优秀。

可视化的库:Echart

banner 广告:Canvas 实现动态的广告效果非常合适

图形编辑器:后续 PhotoShop 能够 100%基于 Web 实现

微信读书、腾讯文档均是通过 canvas 实现

在 canvas 中默认坐标系在左上角(X 轴正方向向右、Y 轴正方向向下),可是有的时候需要变换坐标系才能更方便的实现所需的效果,此时需要变换坐标系,canvas 提供了以下几种变换坐标系的方式:

根据坐标系绘制内容

利用 canvas 绘制图形时势必要上点颜料,通过设置 fillStyle 属性即可设置对应的颜料,对于颜料值主要有以下四种:纯颜色、线性渐变颜色、径向渐变颜色、位图。

有的时候需要引入外部图片,然后对外部图片进行像素级别的处理,最后进行保存。

Canvas入门01-基础知识

        定义一个canvas,直接在Html中使用canvas便签即可。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>Document</title>
 8     <style>
 9      body {
10          background: #ddd;
11      }
12      #canvas {
13          margin: 10px;
14          padding: 10px;
15          background: #fff;
16          border: thin inset #aaa;
17      }
18     </style>
19 </head>
20 <body>
21     <canvas id="canvas" width="600" height="300">
22         Canvas not supported
23     </canvas>
24     <script src="./example.js"></script>
25 </body>
26 </html>

  canvas 元素内容部分所含的文本,仅在浏览器不支持canvas 元素的时候,才会显示该内容。这种文本叫做“后备内容”(fallback content)。

        使用canvas画图:

1 var canvas = document.getElementById(‘canvas‘);
2 var context = canvas.getContext(‘2d‘);
3 
4 context.font = ‘38pt Arial‘;
5 context.fillStyle = ‘cornflowerblue‘;
6 context.strokeStyle = ‘blue‘;
7 context.fillText(‘Hello Canvas‘, canvas.width/2 - 150, canvas.height/2 + 15);
8 context.strokeText(‘Hello Canvas‘, canvas.width/2 - 150, canvas.height/2 + 15);
 

        显示效果如下:  

技术分享图片

 

        使用CSS设置 canvas 的大小和设置 canvas 的属性有什么区别?

        canvas 元素实际上有两套尺寸。一个是元素本身的大小,还有一个是元素绘图表面(drawing surface)的大小。

当设置元素的 width 和 height 属性时,实际上是同时修改了元素本身的大小和元素绘图表面的大小。如果是通过CSS 设置,只会改变元素本身的大小,而不会影响绘图表面,还是默认的 300 * 150 px,这会影响坐标轴的计算。

        小结:

        (1)使用 document.getElementById() 来获取指向 canvas的引用

        (2)在 canvas 对象上调用 getContext(‘2d‘) 来获取绘图上下文(也叫绘图环境变量),d 必须小写

        (3)使用 context 对象在 canvas 元素上进行绘制。

        (4)在canvas 元素上设置 width 和 height 属性来设置 canvas 的 size,默认的 canvas 元素大小是 300*150 px

 

以上是关于canvas 基础入门的主要内容,如果未能解决你的问题,请参考以下文章

Canvas系列基础入门

cansvas基础入门(一)

Canvas入门01-基础知识

canvas的基础入门

canvas基础入门绘制线条三角形七巧板

自定义View入门-绘制基础