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

大连学网站制作西安的最新消息

大连学网站制作,西安的最新消息,一款可做引流的网站源码,重庆网站怎么做出来的Canvas基础篇:图形绘制 图形绘制moveTo()lineTo()lineTo绘制一条直线代码示例效果预览 lineTo绘制平行线代码示例效果预览 lineTo绘制矩形代码示例效果预览 arc()arc绘制一个圆代码实现效果预览 arc绘制一段弧代码实现效果预览 arcTo()rect()曲线 结语 图形绘制 在…

Canvas基础篇:图形绘制

  • 图形绘制
    • moveTo()
    • lineTo()
      • lineTo绘制一条直线
        • 代码示例
        • 效果预览
      • lineTo绘制平行线
        • 代码示例
        • 效果预览
      • lineTo绘制矩形
        • 代码示例
        • 效果预览
    • arc()
      • arc绘制一个圆
        • 代码实现
        • 效果预览
      • arc绘制一段弧
        • 代码实现
        • 效果预览
    • arcTo()
    • rect()
    • 曲线
  • 结语

图形绘制

在之前的文章 Canvas基础篇:路径绘制 中,讲述了图形绘制的四个步骤以及图形开始路径、闭合路径、边框模式和填充模式。
本文将讲解在Canvas中,常见的几种图形绘制API。

moveTo()

moveTo():将笔触移动到指定的坐标 x 以及 y 上,该方法本身并不能画出任何东西,可以理解为在Canvas上绘图,需要落笔的起始位置。通常跟在 beginPath() 后面使用,或者在Canvas初始化时使用,其语法如下所示:

moveTo(x, y)

lineTo()

lineTo()方法用于绘制一条直线,其语法如下所示:

lineTo(x, y)

lineTo绘制一条直线

代码示例
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>绘制直线</title>
</head><body><canvas id="canvas" width="400" height="400"></canvas><script>const canvas = document.getElementById('canvas')const ctx = canvas.getContext('2d')ctx.beginPath();ctx.moveTo(50, 50)ctx.lineTo(100, 100)ctx.stroke()</script>
</body></html>
效果预览

绘制一条直线

lineTo绘制平行线

代码示例
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>绘制平行线</title>
</head><body><canvas id="canvas" width="400" height="400"></canvas><script>const canvas = document.getElementById('canvas')const ctx = canvas.getContext('2d')ctx.beginPath()ctx.moveTo(50, 50)ctx.lineTo(150, 50)ctx.stroke()ctx.beginPath()ctx.moveTo(50, 100)ctx.lineTo(150, 100)ctx.stroke()</script>
</body></html>
效果预览

平行线

lineTo绘制矩形

代码示例
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>绘制矩形</title>
</head><body><canvas id="canvas" width="400" height="400"></canvas><script>const canvas = document.getElementById('canvas')const ctx = canvas.getContext('2d')ctx.beginPath()ctx.moveTo(50, 50)ctx.lineTo(150, 50)ctx.lineTo(150, 100)ctx.lineTo(50, 100)ctx.lineTo(50, 50)ctx.stroke()</script>
</body></html>
效果预览

绘制矩形

arc()

arc()方法可以用来画一个圆或者画一个圆弧,,其语法如下所示:

arc(x, y, radius, startAngle, endAngle, anticlockwise)

其中,(x, y)代表圆心坐标;radius代表圆形半径;startAngle和endAngle分别代表起始角度和终止角度;anticlockwise取值为布尔值,用来标记是顺时针画圆还是逆时针画圆:值为true(默认值),表示顺时针;值为false表示逆时针。
注:startAngle和endAngle是以弧度为单位,如180°应该是Math.PI
度数到弧度的转换公式:
弧度 = 度数 ∗ M a t h . P I / 180 弧度 = 度数 * Math.PI / 180 弧度=度数Math.PI/180

arc绘制一个圆

代码实现
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>绘制圆</title>
</head><body><canvas id="canvas" width="400" height="400"></canvas><script>const canvas = document.getElementById('canvas')const ctx = canvas.getContext('2d')ctx.beginPath()ctx.arc(100, 100, 50, 0, 2 * Math.PI, true)ctx.fill()</script>
</body></html>
效果预览

圆

arc绘制一段弧

代码实现
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>绘制弧</title>
</head><body><canvas id="canvas" width="400" height="400"></canvas><script>const canvas = document.getElementById('canvas')const ctx = canvas.getContext('2d')ctx.beginPath()ctx.arc(100, 100, 50, 0, 90 * Math.PI / 180, false)ctx.closePath()ctx.stroke()</script>
</body></html>
效果预览

绘制弧

arcTo()

arcTo()也用于绘制一段圆弧,其效果和arc()相同,且官网并不推荐这个方法,因为在某些情况下,它可能并不可靠,所以本文不做讲解。

rect()

rect()方法用于绘制一个矩形,在 Canvas基础篇:绘制矩形 一文中讲述过,本文不再赘述。

曲线

圆弧是一种特殊的曲线,弧线上每一点的曲率都相同;曲线上每个点的曲率就不一定了。Canvas中有两种支持绘制曲线的方式:二次贝塞尔曲线和三次贝塞尔曲线,该内容在后面的文章中会详细讲解。

结语

本文主要介绍了Canvas中几种图形的绘制方式,包括直线、圆弧等。对于文章中错误的地方或者有任何问题,欢迎在评论区留言分享!


文章转载自:

http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://00000000.zwckt.cn
http://www.dtcms.com/wzjs/603198.html

相关文章:

  • 响应式网站框架腾讯学生机wordpress
  • 江西汽车网站建设建湖建网站的公司
  • 北仑网站推广简易网址制作
  • 网站开发合同模板免费手游推广代理平台渠道
  • 网站建站在线制作网站建设制作要学什么
  • 深圳网站优化运营公众微信绑定网站帐号
  • 怎么网站显示翻页代码电子邮箱网站建设
  • 合肥专业的房产网站建设如何建立公司自己的网站
  • 网站贸易表格怎么做搭建网站赚钱吗
  • 广州一起做网店属于什么网站网站接做网站单
  • 手机网站居中显示全国网站备案拍照
  • 电子商业网站建设步骤私活网站开发多少钱
  • 企业做网站做什么科目网站建设动态页面修改删除
  • 怎么样建立网站方案直播网站开发框架
  • 如何建网站遂宁杭州观建设计网站
  • 源代码做网站生小孩去什么网站做登记
  • 2017做啥网站能致富网页设计的概念是什么
  • 怎么建立视频网站青岛专业网站排名推广
  • 广州白云住房和建设局网站百度一下手机版网页
  • 昆明驿站网站建设seo是什么意思电商
  • 怎么做网站搜索企业网络推广平台有哪些
  • 做外链选择那些网站wordpress anspress
  • 长春网站开发培训wordpress调整语言
  • 建瓯建设局网站百度软件下载安装
  • 站长工具5g东胜网站建设
  • 网站开发项目的简介做推广网站的文章术语
  • 网站制作 苏州做网站成功案例
  • 做网站如何备案python软件
  • 免费创建论坛网站天元建设集团有限公司嘉和新城
  • 广州北京网站建设公司wordpress 文章 路径