当前位置: 首页 > wzjs >正文

本地网站怎么做优秀的网页设计案例

本地网站怎么做,优秀的网页设计案例,医疗网站建设计划书,运营公众号还是做网站Canvas基础篇:绘制矩形 图形绘制模式矩形rect边框矩形strokeRect边框矩形效果预览边框矩形代码实现 填充矩形fillRect填充矩形效果预览填充矩形代码实现 清除矩形clearRect 综合实例1效果预览实现代码 综合实例2效果预览代码实现 结语 图形绘制模式 在之前的文章 C…

Canvas基础篇:绘制矩形

  • 图形绘制模式
    • 矩形rect
    • 边框矩形strokeRect
      • 边框矩形效果预览
      • 边框矩形代码实现
    • 填充矩形fillRect
      • 填充矩形效果预览
      • 填充矩形代码实现
    • 清除矩形clearRect
  • 综合实例1
    • 效果预览
    • 实现代码
  • 综合实例2
    • 效果预览
    • 代码实现
  • 结语

图形绘制模式

在之前的文章 Canvas基础篇:概述 中,介绍到Canvas支持两种形式的图形绘制:矩形和路径;还支持三种绘制模式:填充模式fill、边框模式stroke(也称:描边模式)、清除模式clear。本文将介绍矩形绘制,以及矩形在三种绘制模式中的使用。

矩形rect

在Canvas中,可以使用 rect() 方法直接绘制一个矩形,其语法如下所示:

rect(x, y, width, height)

其中,xy分别代表矩形绘制时,左上方顶点的/坐标位置,width 代表矩阵宽度height 代表矩阵高度
但是在使用 rect() 方法时,有一个注意点:该方法不会立刻把矩形绘制出来,必须在该方法后调用 stroke() 方法或者 fill() 方法,才会把矩形绘制出来,其效果与 strokeRect()fillRect() 一致,故此处不做展示。

边框矩形strokeRect

strokeRect() 通过边框描边的方式绘制一个矩形,其语法与rect() 方法一致:

strokeRect(x, y, width, height)

边框矩形效果预览

边框矩形

边框矩形代码实现

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>边框矩形</title></head><body><canvas id="canvas" width="600" height="600"></canvas><script>function load() {// 获取画布元素let canvas = document.getElementById('canvas')// 获取上下文对象let ctx = canvas.getContext("2d");// 绘制边框矩形ctx.strokeRect(10, 10, 100, 100);}load()</script></body>
</html>

填充矩形fillRect

fillRect() 通过填充的方式绘制一个实心矩形,其语法与rect() 方法一致:

fillRect(x, y, width, height)

填充矩形效果预览

填充矩形

填充矩形代码实现

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>填充矩形</title></head><body><canvas id="canvas" width="600" height="600"></canvas><script>function load() {// 获取画布元素let canvas = document.getElementById('canvas')// 获取上下文对象let ctx = canvas.getContext("2d");// 绘制填充矩形ctx.fillRect(10, 10, 100, 100);}load()</script></body>
</html>

清除矩形clearRect

clearRect() 方法用于清除指定矩形区域,简单来说就是:在指定位置创建一个透明的矩形,覆盖原有的图形,看起来这部分图形好像被”清除“了,其语法与rect() 方法一致:

clearRect(x, y, width, height)

清除矩形的效果不好展示,下面我将通过一个综合实例,来更清楚地展示描边矩形、填充矩形和清除矩形的效果与区别。

综合实例1

效果预览

示例1

实现代码

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>矩形实例1</title></head><body><canvas id="canvas" width="600" height="600"></canvas><script>function load() {// 获取画布元素let canvas = document.getElementById('canvas')// 获取上下文对象let ctx = canvas.getContext("2d");// 绘制矩形ctx.strokeRect(10, 10, 500, 500)ctx.fillRect(25, 25, 470, 470)ctx.clearRect(40, 40, 440, 440)ctx.fillRect(55, 55, 410, 410)ctx.clearRect(70, 70, 380, 380)ctx.fillRect(85, 85, 350, 350)ctx.clearRect(100, 100, 320, 320)}load()</script></body>
</html>

上述代码中,矩形的位置和宽高是手动设置的,现在我们来写个js方法,让代码更友好:

综合实例2

效果预览

示例2

代码实现

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>矩形实例2</title></head><body><canvas id="canvas" width="600" height="600"></canvas><script>function load() {// 获取画布元素let canvas = document.getElementById('canvas')// 获取上下文对象let ctx = canvas.getContext("2d")// 设置初始位置和初始宽度let startX = 10let startY = 10let width = 500let height = 500// 设置步长 两个可见矩形见的间距const step = 15for (let i = 0; width > 30 && height > 30; i++) {if (i === 0) {// 第一个矩形是边框矩形ctx.strokeRect(startX, startY, width, height)}// 先绘制填充矩形ctx.fillRect(startX + step / 2, startY + step / 2, width - step, height - step);// 计算下一个矩形的起始点和宽高startX += stepstartY += stepwidth -= 2 * stepheight -= 2 * stepif (width > 15 && height > 15) {// 再将填充矩形内部清除ctx.clearRect(startX, startY, width, height)}}}load();</script></body>
</html>

结语

本文主要介绍了Canvas中矩形的几种绘制方式,对于文章中错误的地方或者有任何问题,欢迎在评论区留言分享!

http://www.dtcms.com/wzjs/200294.html

相关文章:

  • 精品设计网站百度系优化
  • wordpress HTML5游戏seo兼职
  • 阳泉疫情最新通报今天情况seo网络推广到底是做什么的
  • 网站开发及设计演讲海报合肥seo代理商
  • 有个电商网站模板制作网站需要什么软件
  • 郑州惠济区建设局网站51链
  • 深圳生活免费信息网seo推广优化外包价格
  • 水处理网站模板百度收录技术
  • 国外做免费网站的域名解析ip地址
  • 深圳网站建设模板百度163黄页关键词挖掘
  • c2c电商网站有哪些汕头百度seo公司
  • 7有免费建网站网络营销的渠道
  • 什么网站排名做的最好营销网站的宣传、推广与运作
  • 网站建设 资讯动态朋友圈营销
  • 阿里云服务器可以做几个网站长尾词在线挖掘
  • 云南昆明网站建设b2b免费发布信息平台
  • 高端网站制作技术站长工具5g
  • 开发外贸产品的网站山西优化公司
  • 重庆八大员证书查询网站淘宝关键词搜索量查询
  • 免费网站推广ymdir网站推广的途径有哪些
  • 交互式网站如何做百度免费推广方法
  • 做副业赚钱网站培训机构需要什么资质
  • 信息化建设好的企业网站有哪些网络推广山东
  • 网站怎么关闭中囯联通腾迅
  • 网站的积分系统怎么做谷歌关键词排名查询
  • app定制开发运营推广方案杭州seo排名
  • 做网站上传服务器百度网盘资源搜索引擎
  • 道滘做网站seo点击排名器
  • 看乱码的网站seo搜索引擎排名优化
  • 文网站建设服务费记入什么科目宁波营销型网站建设优化建站