Html5画布_动力节点Java学院整理


Posted in HTML / CSS onJuly 13, 2017

1,Canvas的定义

<canvas id="myCanvas" width="400" height="200">

默认<canvas>画布在页面上会显示一块空白、无边框的矩形。为了让其显示轮廓,通过定义样式规则给其添加一个虚线边框:

canvas {
    border: 1px dashed black;
}

2,获取Canvas的上下文对象

要完成绘图任务,首先我们要拿到<canvas>对象,接着取得其二维绘图上下文。

下面样例演示在页面加载完毕时获取绘图上下文:

<script>
    window.onload = function() {
        var canvas = document.getElementById("myCanvas");
        var context = canvas.getContext("2d");
 
        //这里写绘图代码
    }
</script>

3,画直线

(1)下面绘制一条起点是(50,50),终点是(150,150)的直线线条

context.moveTo(50, 50);
context.lineTo(150, 150);
context.stroke();

Html5画布_动力节点Java学院整理

(2)使用lineWidth、strokeStyle属性分别设置线条的宽度和颜色

//线条宽度
context.lineWidth = 10;
 
//线条颜色(支持颜色编码与rgb()函数)
context.strokeStyle = "#cd2828";
context.strokeStyle = "rgb(205,40,40)";
 
context.moveTo(50, 50);
context.lineTo(150, 150);
context.stroke();

Html5画布_动力节点Java学院整理

(3)使用 lineCap 属性设置线条两端的形状(线头类型):

  1. butt:方头(默认值)
  2. round:圆头
  3. square:加长方头(效果与butt类似,但会在线条的两头各增加一半线宽的长度)
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
 
//线条宽度
context.lineWidth = 10;
//线条颜色
context.strokeStyle = "#cd2828";
 
//第一条直线,默认方头
context.moveTo(50, 50);
context.lineTo(250, 50);
context.stroke();
 
//第二条直线,使用圆头
context.beginPath();
context.moveTo(50, 100);
context.lineTo(250, 100);
context.lineCap = "round";
context.stroke();
 
//第三条直线,使用加长方头
context.beginPath();
context.moveTo(50, 150);
context.lineTo(250, 150);
context.lineCap = "square";
context.stroke();

Html5画布_动力节点Java学院整理

注:绘图上下文的beginPath()方法

上面样例可以看到每次开始新线段的绘制时,都要调用 beginPath() 方法。

如果没有这一步操作,那么每次调用 stroke() 都会把画布上原有的线段再重新绘制一边。特别像上面的例子,绘制新线段时都要修改上下文属性,如果不调用 beginPath() 方法,那么原有的直线也会使用新的样式绘制。

HTML / CSS 相关文章推荐
详解Css3新特性应用之过渡与动画
Jan 10 HTML / CSS
CSS3五个技巧给你的网站带来出色的效果
Apr 02 HTML / CSS
css3学习心得分享
Aug 19 HTML / CSS
CSS3弹性盒模型flex box快速入门心得(必看篇)
May 24 HTML / CSS
CSS3实现头像旋转效果
Mar 13 HTML / CSS
详解CSS3新增的背景属性
Dec 25 HTML / CSS
HTML5 FormData 方法介绍以及实现文件上传示例
Sep 12 HTML / CSS
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
Dec 13 HTML / CSS
HTML5手机端弹出遮罩菜单特效代码
Jan 27 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
Mar 21 HTML / CSS
html5响应式开发自动计算fontSize的方法
Jan 13 HTML / CSS
关于HTML编码导致的乱码问题
Sep 04 HTML / CSS
html5应用缓存_动力节点Java学院整理
Jul 13 #HTML / CSS
html5理解head_动力节点Java学院整理
Jul 13 #HTML / CSS
HTML5拖放功能_动力节点Java学院整理
Jul 13 #HTML / CSS
html5视频播放_动力节点Java学院整理
Jul 13 #HTML / CSS
HTML5之web workers_动力节点Java学院整理
Jul 17 #HTML / CSS
Html5之svg可缩放矢量图形_动力节点Java学院整理
Jul 17 #HTML / CSS
HTML5等待加载动画效果
Jul 27 #HTML / CSS
You might like
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
PHP数据的提交与过滤基本操作实例详解
2016/11/11 PHP
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
js实现可拖动DIV的方法
2013/12/17 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
JavaScript字符串处理常见操作方法小结
2019/11/15 Javascript
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python正则表达式常用函数总结
2017/06/24 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
匡威德国官网:Converse德国
2019/01/26 全球购物
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
北大自主招生自荐信
2013/10/19 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
另类冲刺标语
2014/06/24 职场文书
2015年安全生产管理工作总结
2015/05/25 职场文书
贫困证明书范文
2015/06/16 职场文书
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫
Python实现数据的序列化操作详解
2022/07/07 Python