canvas简单学习--入门级别

7 篇文章 0 订阅

一直对canvas充满敬畏感,今天终于有空来看看,简单了解了下,算是入门吧

参照文档,做了几个示范,大概有了一定了认识,总的来说 canvas的制作会有几个步骤如下:(个人理解,不喜可喷)

1.通过canvas标签,创建 画布实例
// canvas标签 创建一块画布,可通过 宽高属性设置 大小,本身是没有绘图能力,需要通过 代码实现
<canvas class="canvas-r" id="my-canvas" width="300px" height="300px" style="border: 1px solid #f40;" ></canvas>
------
 var c = document.getElementById('my-canvas')
 获得 2d 上下文对象
 var ctx = c.getContext('2d')
2. 创建好实例后,就可以定义 绘制的路径、线条颜色、圆弧、文本、渐变、图像、视频等,大概思路 可以结合画画,比如 定义好线条颜色? 矩形? 还是圆? 空心?实心?起始位置?结束位置?。。。还可以对绘制好的图案进行 缩放,旋转等操作。

3.看一些简单的例子

1、画一个正方形–画布宽 300px 高300px 加了一个红色边框,便于查看

 // 填充颜色
  ctx.fillStyle='#FF0000'
   // 绘制矩形 坐标 x y 宽 高 -----坐标为画布的  左上角      坐标轴 右--->x  下-----y
   ctx.fillRect(0,0,150,150)

在这里插入图片描述

2、路径–画线

 // 起始位置
 ctx.moveTo(0,0)
// 结束位置
 ctx.lineTo(300,300)
 // 线条颜色
 ctx.strokeStyle='yellow'
 // 绘制已定义的路径
 ctx.stroke()

在这里插入图片描述

3、弧形、圆

//开始一条路径,或重置
ctx.beginPath()
// 线条颜色
ctx.strokeStyle='#f40'
// 绘制圆 x y 半径 起始角度 结束角度 ---不懂没关系,看文档,Math.PI--圆周率 前面那个数字  2 整圆(360deg)
ctx.arc(150,150,40,1*Math.PI,1.5*Math.PI)
// 绘制 定义的路径
ctx.stroke()
// 开始另外一条
ctx.beginPath()
ctx.arc(150,150,40,0,0.5*Math.PI)
ctx.stroke()

在这里插入图片描述

圆,起始角度,结束角度 参考图
在这里插入图片描述

4、 渐变 --线性渐变 --径向渐变

随意搞的,坐标位置都是瞎写的,图案比较丑

 // 创建线性渐变对象 x,y,x1,y1
let grd=ctx.createLinearGradient(0,0,150,0)
// 径向渐变
let grdR=ctx.createRadialGradient(75,75,5,90,90,100)
// 设置渐变颜色 必须两种以上 渐变 0---1
grdR.addColorStop(0,'red')
grdR.addColorStop(1,'white')
// 填充渐变
ctx.fillStyle=grdR
// 渐变图像--绘制矩形
ctx.fillRect(10,10,150,150)

在这里插入图片描述

大概就到这里了,图像(可裁剪等),视频(类似帧动画),文本(字体空心,实心)就不一一展示了

canvas大概就是这种套路,实际需要的肯定远不止示例这么简单,这里只是简单认识下,总的来说,canvas就是像画画,可以设置画笔的颜色,角度,位置,填充色,甚至平移,缩放,旋转等等,有兴可以多研究。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值