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 基础入门的主要内容,如果未能解决你的问题,请参考以下文章