HTML5 canvas基本绘图之绘制矩形


Posted in HTML / CSS onJune 27, 2016

<canvas></canvas>只是一个绘制图形的容器,除了id、class、style等属性外,还有height和width属性。在<canvas>>元素上绘图主要有三步:

1.获取<canvas>元素对应的DOM对象,这是一个Canvas对象;
2.调用Canvas对象的getContext()方法,得到一个CanvasRenderingContext2D对象;
3.调用CanvasRenderingContext2D对象进行绘图。

绘制矩形rect()、fillRect()和strokeRect()

 •context.rect( x , y , width , height ):只定义矩形的路径;
 •context.fillRect( x , y , width , height ):直接绘制出填充的矩形;
 •context.strokeRect( x , y , width , height ):直接绘制出矩形边框;

JavaScript Code复制内容到剪贴板
  1. <script type="text/javascript">   
  2.     var canvas = document.getElementById("canvas");   
  3.     var context = canvas.getContext("2d");   
  4.   
  5.     //使用rect方法   
  6.     context.rect(10,10,190,190);   
  7.     context.lineWidth = 2;   
  8.     context.fillStyle = "#3EE4CB";   
  9.     context.strokeStyle = "#F5270B";   
  10.     context.fill();   
  11.     context.stroke();   
  12.   
  13.     //使用fillRect方法   
  14.     context.fillStyle = "#1424DE";   
  15.     context.fillRect(210,10,190,190);   
  16.   
  17.     //使用strokeRect方法   
  18.     context.strokeStyle = "#F5270B";   
  19.     context.strokeRect(410,10,190,190);   
  20.   
  21.     //同时使用strokeRect方法和fillRect方法   
  22.     context.fillStyle = "#1424DE";   
  23.     context.strokeStyle = "#F5270B";   
  24.     context.strokeRect(610,10,190,190);   
  25.     context.fillRect(610,10,190,190);   
  26. </script>   
  27.   

HTML5 canvas基本绘图之绘制矩形

这里需要说明两点:第一点就是stroke()和fill()绘制的前后顺序,如果fill()后面绘制,那么当stroke边框较大时,会明显的把stroke()绘制出的边框遮住一半;第二点:设置fillStyle或strokeStyle属性时,可以通过“rgba(255,0,0,0.2)”的设置方式来设置,这个设置的最后一个参数是透明度。

另外还有一个跟矩形绘制有关的:清除矩形区域:context.clearRect(x,y,width,height)。
接收参数分别为:清除矩形的起始位置以及矩形的宽和长。
在上面的代码中绘制图形的最后加上:

context.clearRect(100,60,600,100);

可以得到以下效果:

HTML5 canvas基本绘图之绘制矩形

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
使用 css3 transform 属性来变换背景图的方法
May 07 HTML / CSS
让IE6、IE7、IE8支持CSS3的脚本
Jul 20 HTML / CSS
浅析与CSS3的loading动画加载相关的transition优化
May 18 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
Apr 18 HTML / CSS
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
Dec 07 HTML / CSS
用HTML5中的Canvas结合公式绘制粒子运动的教程
May 08 HTML / CSS
五个2015 年最佳HTML5 框架
Nov 11 HTML / CSS
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
Dec 15 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
Jul 04 HTML / CSS
html5录音功能实战示例
Mar 25 HTML / CSS
使用html2canvas实现将html内容写入到canvas中生成图片
Jan 03 HTML / CSS
用CSS3画一个爱心
Apr 27 HTML / CSS
HTML5 canvas基本绘图之绘制阴影效果
Jun 27 #HTML / CSS
涂鸦板简单实现 Html5编写属于自己的画画板
Jul 05 #HTML / CSS
深入剖析webstorage[html5的本地数据处理]
Jul 11 #HTML / CSS
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
Jul 13 #HTML / CSS
HTML5对手机页面长按会粘贴复制禁用的解决方法
Jul 19 #HTML / CSS
HTML5 Web 存储详解
Sep 16 #HTML / CSS
HTML5移动开发图片压缩上传功能
Nov 09 #HTML / CSS
You might like
PHP+javascript液晶时钟
2006/10/09 PHP
再次研究下cache_lite
2007/02/14 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
js计算精度问题小结
2013/04/22 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
2017/06/25 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
对Python发送带header的http请求方法详解
2019/01/02 Python
Python GUI编程完整示例
2019/04/04 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
python字符串反转的四种方法详解
2019/12/02 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
What is view? why do we have view?
2012/06/22 面试题
公司企业表扬信
2014/01/11 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
入党介绍人意见范文
2015/06/01 职场文书
学困生转化工作总结
2015/08/13 职场文书
教师远程培训心得体会
2016/01/09 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS
怎么用Python识别手势数字
2021/06/07 Python
一次Mysql update sql不当引起的生产故障记录
2022/04/01 MySQL