博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
html5之Canvas绘图工具基础介绍
阅读量:6886 次
发布时间:2019-06-27

本文共 978 字,大约阅读时间需要 3 分钟。

PS:

  中文版教程参考:https://developer.mozilla.org/zh-CN/docs/Canvas_tutorial

一、canvas标签

  Canvas 对象表示一个 HTML 画布元素。它没有自己的行为,但是定义了一个 API 支持脚本化客户端绘图操作。

  <canvas> 标签定义图形,比如图表和其他图像;<canvas> 标签只是图形容器,必须使用脚本来绘制图形。

  大多数 Canvas 绘图 API 都没有定义在 <canvas> 元素本身上,而是定义在通过画布的 getContext() 方法获得的一个“绘图环境”对象上。(下方实例中的ctx即是)

二、canvas定义

三、canvas脚本绘制

  a、使用canvas 元素来显示一个矩形

  b、绘制三角形形状:

结果图:

  

 四、使用路径path坐标点集绘制canvas 

结果图:

            

五、canvas画布清空(实质:重新绘制)   

  canvas这个标签就像一个img图片,可以在上面绘制很多的geometry,比如点、线、面。但所有绘制的元素是一个整体,集成在canvas上。如果想判断某点是不是在canvas绘制的要素上,可以通过重绘来完成,没有办法直接判断。  

  值得注意的是,isPointInPath只能判断当前路径,不能一次性对canvas中所有图形路径进行查询判断,因而需要重绘。  

  重新绘制canvas中个各个geometry,绘制一个判断一次,因为图形的路径绑定在canvas标签上,通过 isPointInPath()对当前路径(currentPath)判断有效。换句话说就是,当点击事件发生后,对canvas中的内容进行重绘,每次重绘一个路径图形,就用 isPointInPath()判断一次,如果在路径内,再执行相应的操作,比如所有相同id的路径高亮显示等。

  比如目的是判断鼠标当前点point(x,y)是不是在canvas绘制的要素上,用代码解释上方的描述:

  

 

六、canvas画布的方法(截图、分析)

七、综述

  a、canvas相对于svg的优势...

  b、canvas对于适量绘制地图方法的可行(会在其他文章中详述使用方法)

 

PS: 先列出提纲,内容待续。。。

 

 

 

 

 

 

转载地址:http://sttbl.baihongyu.com/

你可能感兴趣的文章
PL/sql配置相关
查看>>
Linux 查询服务数据
查看>>
【Luogu 2014】选课
查看>>
CSS 的介绍
查看>>
Latex自定义文档纸张大小
查看>>
2018QBXT刷题游记(23)
查看>>
函数递归
查看>>
android框架Java API接口总注释/**@hide*/和internal API
查看>>
20175318 2018-2019-2 《Java程序设计》第七周学习总结
查看>>
比特币:一种点对点的电子现金系统
查看>>
Android - 按钮组件详解
查看>>
MEF简单学习笔记
查看>>
Srping - bean的依赖注入(Dependency injection)
查看>>
工作中 Oracle 常用数据字典集锦
查看>>
SFB 项目经验-12-为某上市企业的Skype for Business购买Godday证书
查看>>
[C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
查看>>
大数据虚拟化零起点-2基础运维第一步-环境规划和准备
查看>>
Skype for Business Server 2015-04-前端服务器-3-安装-管理工具
查看>>
docker入门指南(转载)
查看>>
Java RGB数组图像合成 ImageCombining (整理)
查看>>