canvas 初识,canvas基本语法练习 -01

这篇博客介绍了HTML5的canvas元素,包括canvas的基本概念、设置宽高、获取上下文对象。重点讲解了如何使用canvas绘制图形,如矩形、路径、线条和圆弧,以及图形的填充和描边样式,包括纯色、渐变和纹理效果。文章还提到了影响描边样式的因素,并通过实例展示了canvas的绘图能力。
摘要由CSDN通过智能技术生成

canvas

canvas 是什么?

  • 广义来讲: canvas 是 h5 新增的 canvas 2d 绘图功能
  • 在html 中:
    • canvas 是 HTML标签
    • 我们需要用 js 在 canvas 里绘制图形
    • canvas 可以理解为一张画布.

如何设置 canvas 的宽高

canvas 的宽高是通过 canvas 的 dom属性来设置的,而不是 通过 css 来设置的. canvas 如果不设置宽高的话, 那么它有一个默认的宽高 300 150

 <style>
        #canvas {
    
            background-color: lightblue;
        }
</style>

<canvas id="canvas" width="600" height="700">
</canvas>

如何获取 canvas 的上下文对象

二维的上下文对象

// const ctx = canvas.getContext('webgl') // 三维的上下文对象我们暂不研究

const ctx = canvas.getContext('2d')
ctx.fillRect(50,50,400,200)

如何用 canvas 画画

绘制矩形的方法

填充矩形方法

fillRect(x,y,w,h)

// 绘制填充矩形 参数 x,y 表示矩形 左上角的坐标位置
const canvas = document.getElementById('canvas')
const ctx = canvas.getContext('2d')
ctx.fillStyle = 'green'
ctx.fillRect(120, 50, 200, 300)
描边矩形

strokeRect(x,y,w,h)

// 绘制描边矩形
    ctx.strokeStyle = 'cyan'
    ctx.lineWidth = 30
    ctx.strokeRect(120, 50, 200, 300)
清理矩形方法

clearRect(x,y,w,h)

// 清除绘制矩形的区域
ctx.clearRect(120, 50, 200, 300)

绘制路径的步骤

  1. 开始建立路径: beginPath()

  2. 向路径集合添加子路径

    moveTo(x,y);  形状;  closePath() // 可选
    moveTo(x,y);  形状;  closePath() // 可选
    moveTo(x,y);  形状;  closePath() // 可选
    

    🚩 canvas 中 有哪些子路径的形状?

    1. 直线: lineTo(x,y);  lineTo(x,y);  lineTo(x,y);
    2. 圆弧: arc(x,y, 半径,开始弧度,结束弧度,方向)
    3. 切线圆弧: arcTo(x1,y1,x2,y2,半径)
    4. 二次贝塞尔曲线: quadraticCurverTo(cpx1,cpy1,x,y)
    5. 三次贝塞尔曲线: bezierCurverTO(cpx1,cpy1,cpx2,cpy2,x,y)
    6. 矩形:  rect(x,y,w,h)
    
  3. 显示路径: 填充 fill(), 描边 stroke()

绘制直线路径

绘制直线路径

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d')
ctx.lineWidth=10
ctx.beginPath()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值