发布时间:2023-05-16 文章分类:WEB开发, 电脑百科 投稿人:王小丽 字号: 默认 | | 超大 打印

学习Canvas基础-绘制矩形

canvas提供了三个API,分别是:
事例一

rect(起点X, 起点Y, 绘制的矩形width, 绘制的矩形height)
但该方法不会出实际效果,需要配合 fill()和stroke()方法让其显现。

 <!-- 兼容性写法,在低版本时标签内部的文字才会显示 -->
 <canvas id="cont" width="500px" height="500px">你的浏览器版本过低,请升级浏览器或者使用chrome打开!</canvas>
 <script>
   //  获取canvas画布
   const canvas=document.querySelector('#cont')
   // 获取画布的应用上下文
   const ctx =canvas.getContext('2d')
   ctx.beginPath()
   //在x轴为100,y轴为100的位置绘制填充的正方形区域
   ctx.rect(100,100,100,100)
   ctx.fill()
   ctx.closePath()
   ctx.beginPath()
   //在x轴为300,y轴为300的位置绘制边框的正方形区域
   ctx.rect(300,300,100,100)
   ctx.stroke()
   ctx.closePath()
 </script>

学习Canvas基础-绘制矩形

事例二

绘制一个内部填充颜色的矩形
fillRect(起点X, 起点Y, 绘制的矩形width, 绘制的矩形height)

<!-- 兼容性写法,在低版本时标签内部的文字才会显示 -->
<canvas id="cont" width="500px" height="500px">你的浏览器版本过低,请升级浏览器或者使用chrome打开!</canvas>
<script>
  //  获取canvas画布
  const canvas=document.querySelector('#cont')
  // 获取画布的应用上下文
  const ctx =canvas.getContext('2d')
  //绘制矩形的方法,内部填充的画法
  ctx.beginPath()
  // 复合写法
  ctx.fillRect(100,100,300,300)
  //拆分写法
  // ctx.rect(100,100,300,300)
  // ctx.fill()
  ctx.closePath()
</script>

学习Canvas基础-绘制矩形

事例三

绘制一个只有边框的矩形
strokeRect(起点X, 起点Y, 绘制的矩形width, 绘制的矩形height)

  <!-- 兼容性写法,在低版本时标签内部的文字才会显示 -->
<canvas id="cont" width="500px" height="500px">你的浏览器版本过低,请升级浏览器或者使用chrome打开!</canvas>
<script>
 //  获取canvas画布
 const canvas=document.querySelector('#cont')
 // 获取画布的应用上下文
 const ctx =canvas.getContext('2d')
 // 简单说就是放下画笔
 ctx.beginPath()
 // 复合写法
 ctx.strokeRect(50,50,300,300)
 //拆分写法
 // ctx.rect(50,50,300,300)
 // ctx.stroke()
 // 抬起画笔结束当前绘制
 ctx.closePath()
</script>

学习Canvas基础-绘制矩形

事例四

清除指定矩形区域,让清除的部分完全透明
clearRect(起点X, 起点Y, 清除的矩形width, 清除的矩形height)

<!-- 兼容性写法,在低版本时标签内部的文字才会显示 -->
 <canvas id="cont" width="500px" height="500px">你的浏览器版本过低,请升级浏览器或者使用chrome打开!</canvas>
 <script>
   //  获取canvas画布
   const canvas=document.querySelector('#cont')
   // 获取画布的应用上下文
   const ctx =canvas.getContext('2d')
   // 复合写法
   ctx.fillRect(100,100,300,300)
   //在x轴为200,y轴为200的位置清除边长为100的正方形区域
   ctx.clearRect(200,200,100,100);
 </script>

学习Canvas基础-绘制矩形