• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5 Canvas绘图使用详解

HTML5 Canvas绘图使用详解

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,Canvas等相关知识,匿名希望在学习及工作中可以帮助到您
<canvas>标签是html5中新添加的元素,用于页面中绘图功能,借助于js<canvas>可以绘制出各种您需要的图形,本文就来了解一下<canvas>绘图标签的详细使用教程。

<canvas>html标签:

<canvas id="demo-canvas" width="800" height="800">
您的浏览器不支持<canvas>,建议升级。
</canvas>

我们可能通过js的document.getElementById获取<canvas>

<script type="text/javascript">
var canvas = document.getElementById("demo-canvas");
<script>

使用<canvas>首先要进行初始化

if (canvas.getContext){
    var ctx = canvas.getContext('2d'); //目前canvas只支持2d,不支持3d
}


canvas 的基本用法

ctx.fillRect(x, y, width, height)

画一个填充的矩形,x, y是矩形左上坐标,width, height是矩形的宽度和高度。
示例

ctx.strokeRect(x, y, width, height)

画一个带边框的矩形,只画线不填充,参数同上。
示例

ctx.clearRect(x, y, width, height)

把指定的区域删除,参数同上。
示例

ctx.fillStyle(“”)

填充颜色(颜色值可直接用颜色名称:”red” “green” “blue”, 十六进制颜色值: “#EEEEFF”, rgb(1-255,1-255,1-255), rgba(1-255,1-255,1-255,透明度))。
示例

ctx.strokeStyle(“”)

边框颜色(颜色同上)。
示例

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

画圆(弧),画圆或者圆弧。x,y为圆心坐标,radius为半径,startAngle,endAngle为开始/结束划圆的角度,anticlockwise为是否逆时针画圆(True为逆时针,False为顺时针)。
示例

路径 context.beginPath() context.closePath()
画圆并不单单是直接用arc,它还用到beginPath()方法,和closePath()方法,如果没有重新beginPath那么前面的路劲会保留。
a、系统默认在绘制第一个路径的开始点为beginPath。
b、如果画完前面的路径没有重新指定beginPath,那么画第其他路径的时候会将前面最近指定的beginPath后的全部路径重新绘制。
c、每次调用context.fill()的时候会自动把当次绘制的路径的开始点和结束点相连,接着填充封闭的部分。
示例

绘制线段 context.moveTo(x,y) context.lineTo(x,y)
从moveTo(x,y) 到 lineTo(x,y)绘制直线,如果没有moveTo那么起点就是linkTo, 每次lineTo后如果没有moveTo,那么下次lineTo的开始点为前一次lineTo的结束点。
示例

绘制贝塞尔曲线(贝济埃、bezier) context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y) ,绘制二次样条曲线 context.quadraticCurveTo(qcpx,qcpy,qx,qy)
cp1x:第一个控制点x坐标
cp1y:第一个控制点y坐标
cp2x:第二个控制点x坐标
cp2y:第二个控制点y坐标
x:终点x坐标
y:终点y坐标qcpx:二次样条曲线控制点x坐标
qcpy:二次样条曲线控制点y坐标
qx:二次样条曲线终点x坐标
qy:二次样条曲线终点y坐标
示例

线性渐变 var lg= context.createLinearGradient(xStart,yStart,xEnd,yEnd) 线性渐变颜色lg.addColorStop(offset,color)
xstart:渐变开始点x坐标
ystart:渐变开始点y坐标
xEnd:渐变结束点x坐标
yEnd:渐变结束点y坐标
offset:设定的颜色离渐变结束点的偏移量(0~1)
color:绘制时要使用的颜色
示例

径向渐变(发散)var rg=context.createRadialGradient(xStart,yStart,radiusStart,xEnd,yEnd,radiusEnd)径向渐变(发散)颜色rg.addColorStop(offset,color)
xStart:发散开始圆心x坐标
yStart:发散开始圆心y坐标
radiusStart:发散开始圆的半径
xEnd:发散结束圆心的x坐标
yEnd:发散结束圆心的y坐标
radiusEnd:发散结束圆的半径
offset:设定的颜色离渐变结束点的偏移量(0~1)
color:绘制时要使用的颜色

以上就是HTML Canvas绘图使用详解的内容,更多相关内容请关注微课江湖()!

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2017-08-06使用HTML5 Canvas API中的clip()方法裁剪区域图像
  • 2018-12-03腾讯技术干货!做一个让人闻风丧胆的HTML5页面
  • 2018-12-03利用H5制作一个倒计时demo的实例教程
  • 2018-12-03分享HTML5 Canvas画印章效果实例代码
  • 2018-12-03HTML5 FileAPI图文代码分享
  • 2018-12-03html5 canvas 使用示例 _html5教程技巧
  • 2018-12-03HTML5之window.postMessage API
  • 2017-08-06HTML5几个设计和修改的页面范例分享
  • 2018-12-03HTML5响应式banner
  • 2018-12-03SVG基础|绘制SVG矩形

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
    • HTML5通用接口详解
    • 比较总结mui页面跳转方式之间的差异
    • H5怎么做出拖拽效果
    • HTML5实战与剖析之表单那些事儿
    • 常用的<meta>代码整理汇总
    • 为什么扎克伯克说 Facebook 在 web 版本上押注过多,将来把更多的精力放在原生应用上?
    • HTML5游戏框架cnGameJS开发实录-实现动画原理
    • HTML5中判断用户是否正在浏览页面的方法
    • 如何在微信端html5页面调用分享接口

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有