Canvas API-CanvasRenderingContext2D相关学习(上)

本文介绍了Canvas API的基础知识,包括如何使用CanvasRenderingContext2D对象绘制矩形、文本和线条。重点讲解了clearRect()、fillRect()、strokeRect()方法以及文本相关属性和fillText()方法,帮助理解Canvas 2D图形绘制。
摘要由CSDN通过智能技术生成

1. 概述

Canvas API 提供了一个通过JavaScript的<canvas>元素来绘制图形的方式。它可以用于动画、游戏画面、数据可视化、图片编辑以及实时视频处理等方面。

Canvas API 主要聚焦于 2D 图形。而同样使用<canvas>元素的 WebGL API 则用于绘制硬件加速的 2D 和 3D 图形。

它与 SVG 图像的区别在于,<canvas>是脚本调用各种方法生成图像,SVG 则是一个 XML 文件,通过各种子元素生成图像。

使用 Canvas API 之前,需要在网页里面新建一个<canvas>元素。

<canvas id="myCanvas" width="400" height="250">
  您的浏览器不支持 Canvas
</canvas>

如果浏览器不支持这个 API,就会显示<canvas>标签中间的文字:“您的浏览器不支持 Canvas”。

每个<canvas>元素都有一个对应的CanvasRenderingContext2D对象(上下文对象)。Canvas API 就定义在这个对象上面。

const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');

上面代码中,<canvas>元素节点对象的getContext()方法,返回的就是CanvasRenderingContext2D对象。

注意,Canvas API 需要getContext方法指定参数2d,表示该<canvas>节点生成 2D 的平面图像。如果参数是webgl,就表示用于生成 3D 的立体图案,这部分属于 WebGL API。

2. **CanvasRenderingContext2D**可以绘制形状,文本,图像和其他对象。

Canvas 画布提供了一个作图的平面空间,该空间的每个点都有自己的坐标。原点(0, 0)位于图像左上角,x轴的正向是原点向右,y轴的正向是原点向下。

2.1 绘制形状

绘制矩形

以下是 3 个绘制矩形位图的方法。

  • clearRect()

    设置指定矩形区域内(以 点 (x, y) 为起点,范围是*(width, height)* )所有像素变成透明,并擦除之前绘制的所有内容。

  • fillRect()

    绘制填充矩形,矩形的起点在 (x, y) 位置,矩形的尺寸是 widthheight

  • strokeRect()

    在 canvas 中,使用当前的笔触样式,描绘一个起点在 (x, y) 、宽度为 w、高度为 h 的矩形。

clearRect()

注:请确保在调用 clearRect()之后绘制新内容前调用beginPath()

void ctx.clearRect(x, y, width, height);

clearRect() 方法在一个矩形区域内设置所有像素都是透明的 (rgba(0,0,0,0))。这个矩形范围的左上角在 (x, y),宽度和高度分别由 widthheight确定。

参数:

x:矩形起点的x轴坐标。

y:矩形起点的y轴坐标。

width:矩形的宽度。

height:矩形的高度。

可以用该方法清除一部分画布内容。如下是清除整个画布内容。

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, ca
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值