重新认识canvas

简介: canvas是 HTML5 提供的一种新标签,通常被称为画布。`是一个可以使用脚本(通常为JavaScript)来绘制图形的 HTML 元素`。通过api提供了一种绘制的能力,它可以用于`动画、游戏画面、数据可视化、图片编辑以及实时视频处理`等方面。Canvas API 主要聚焦于`2D`图形。而同样使用Canvas元素的 `WebGL API 则用于绘制硬件加速的2D和3D图形

什么是canvas

canvas是 HTML5 提供的一种新标签,通常被称为画布。是一个可以使用脚本(通常为JavaScript)来绘制图形的 HTML 元素。通过api提供了一种绘制的能力,它可以用于动画、游戏画面、数据可视化、图片编辑以及实时视频处理等方面。Canvas API 主要聚焦于2D图形。而同样使用Canvas元素的 WebGL API 则用于绘制硬件加速的2D和3D图形

canvas的默认属性

canvas只有两个属性widthheight。当没有设置宽度和高度的时候,canvas 会默认宽度为 300 像素和高度为 150 像素

 <canvas width="150" height="150" id="dajianshi"></canvas>

canvas的上下文

``javascript 为了展示,首先js需要找到渲染上下文,然后在它的上面绘制。<canvas> 元素有一个叫做getContext()` 的方法,这个方法是用来获得渲染上下文和它的绘画功能。getContext()接受一个参数,即上下文的类型,参考值有2d,webgl,webgl2,bitmaprenderer等。

const canvas = document.getElementById('demo');
const ctx = canvas.getContext('2d');
console.log(ctx);

代码中:ctx 就可以调用很多canvas内置的方法了,这个前奏是必须要有的。

canvas的坐标系

001.png

canvas的坐标系和我们数学中常用的直角坐标系不太一样,我们通常称为窗口坐标系,窗口坐标系统与直角坐标系统都含有x轴,y轴,两轴的交点为坐标原点(0,0),原点沿x轴向右方向为正值,不同的是原点沿y轴方向向下为正值。在canvas的2D绘图环境中的坐标系统,默认情况下以canvas的左上角为坐标原点,沿x轴向右为正值,沿y轴向下为正值。其中canvas坐标的单位都是 "px"。然而Canvas的坐标系并不是固定的,我们可以对坐标系统进行评议放缩及旋转,我们称为坐标变换——平移、缩放、旋转

相关文章
|
移动开发 前端开发 JavaScript
不使用canvas怎么实现一个刮刮卡效果?
不使用canvas怎么实现一个刮刮卡效果?
96 0
|
移动开发 前端开发 Shell
《HTML5 Canvas核心技术 图形、动画与游戏开发》 读书笔记
《HTML5 Canvas核心技术 图形、动画与游戏开发》 读书笔记
|
移动开发 缓存 前端开发
推荐一大波让你直呼哇塞的Canvas库【值得收藏】
推荐一大波让你直呼哇塞的Canvas库【值得收藏】
5387 0
推荐一大波让你直呼哇塞的Canvas库【值得收藏】
|
6月前
|
移动开发 前端开发 JavaScript
游戏开发技术- 请谈谈WebGL与Canvas的区别,以及在什么情况下更适合使用WebGL。
WebGL和Canvas都是网页游戏开发的关键技术。Canvas是2D绘图API,适合初学者和简单的2D游戏,而WebGL是基于OpenGL的3D渲染标准,用于复杂3D图形和游戏,提供GPU硬件加速。当涉及3D渲染、高级视觉效果或高性能需求时,WebGL是更好的选择。对于轻量级2D应用,Canvas就足够了。某些游戏引擎支持两者自动切换,以实现最佳性能和兼容性。
512 4
|
6月前
|
Web App开发 编解码 前端开发
盘点10个基于 Canvas 的优秀开源项目!
盘点10个基于 Canvas 的优秀开源项目!
653 0
|
前端开发 开发者
SVG 视野概念(二)
SVG 视野概念(二)
61 0
|
前端开发
渐变是真的好玩,真是一个有趣的特性
css 渐变是一种特殊的 image 格式,使用 gradient 表示, gradient 属于 image 的子集,用于表示渐变的 image , gradient 的语法如下
123 0
|
前端开发 JavaScript
教你如何用Canvas绘制整身的哆啦A梦
教你如何用Canvas绘制整身的哆啦A梦 上牌你文章我们说到了如何使用canvas绘制哆啦A梦,但当时只是绘制了哆啦A梦的头部,之后有学员留言说可不可以教大家绘制整身的哆啦A梦,想了想,决定安排一下。如图: 在这里插入图片描述 HTML代码: &lt;canvas id=&quot;my_canvas&quot;&gt;&lt;/canvas&gt; &lt;canvas id=&quot;my_canvas2&quot;&gt;&lt;/canvas&gt; 1 2 CSS代码: * { margin: 0; } #my_canvas {
教你如何用Canvas绘制整身的哆啦A梦
|
前端开发 JavaScript
教你如何利用canvas画布绘制哆啦A梦
订阅专栏 教你如何利用canvas画布绘制哆啦A梦 最近一直在练习使用canvas画布标签,今天教大家如何使用canvas画布绘制哆啦A梦。如图: HTML代码: <canvas id="my_canvas"></canvas> 1 CSS代码: canvas { display:block; margin:0 auto; background: pink } 1 2 3 4 5 JavaScript代码: var oCanvas = document.getEleme
教你如何利用canvas画布绘制哆啦A梦