HTML5 Canvas中绘制矩形实例


Posted in HTML / CSS onJanuary 01, 2015

本文翻译自Steve Fulton & Jeff Fulton HTML5 Canvas, Chapter 2, “The Basic Rectangle Shape”.

让我们来看一下Canvas内置的简单几何图形 — 矩形的绘制。在Canvas中,绘制矩形有三种方法:填充(fillRect)、描边(StrokeRect)以及清除(clearRect)。当然,我们也可以使用“路径”来描绘包括矩形在内的所有图形。

以下是上述三种方法的API:

1.fillRect(x,y,width,height)。绘制一个从(x,y)开始,宽度为width,高度为height的实心矩形。
2.strokeRect(x,y,width,height)。绘制一个从(x,y)开始,宽度为width,高度为height的矩形框。该矩形框会根据当前设置的strokeStyle、lineWidth、lineJoin和miterLimit属性的不同而渲染成不同的样式。
3.clearRect(x,y,width,height)。清除从(x,y)开始,宽度为width,高度为height的矩形区域,使之完全透明。

在调用上述方法绘制Canvas之前,我们需要设定填充和描边的样式。设定这些样式最基本的方法是使用24位色(用16进制字符串表示)。以下是一个简单的例子:

复制代码
代码如下:

context.fillStyle = "#000000";
context.strokeStyle = "#ff00ff";

在下面的例子中,填充色设定为黑色,而描边色则设定为紫色:
复制代码
代码如下:

function drawScreen() {
context.fillStyle = "#000000";
context.strokeStyle = "#ff00ff";
context.lineWidth = 2;
context.fillRect(10, 10, 40, 40);
context.strokeRect(0, 0, 60, 60);
context.clearRect(20, 20, 20, 20);
}

代码执行结果如下图所示:

HTML5 Canvas中绘制矩形实例

HTML / CSS 相关文章推荐
彻底弄明白CSS3的Media Queries(跨平台设计)
Jul 27 HTML / CSS
浏览器实现移动端高性能css3动画(开启gpu加速)
Dec 23 HTML / CSS
用CSS3的box-reflect来制作倒影效果
Nov 15 HTML / CSS
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
Dec 30 HTML / CSS
浅析CSS3 中的 transition,transform,translate之间区别和作用
Mar 26 HTML / CSS
css3实现二维码扫描特效的示例
Oct 29 HTML / CSS
HTML中fieldset标签概述及使用方法
Feb 01 HTML / CSS
HTML5在a标签内放置块级元素示例代码
Aug 23 HTML / CSS
使用HTML5中的contentEditable来将多行文本自动增高
Mar 01 HTML / CSS
HTML5标签嵌套规则详解【必看】
Apr 26 HTML / CSS
Html5页面二次分享的实现
Jul 30 HTML / CSS
AmazeUI 模态窗口的实现代码
Aug 18 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
Jan 01 #HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
Jan 01 #HTML / CSS
HTML5制作酷炫音频播放器插件图文教程
Dec 30 #HTML / CSS
html5实现完美兼容各大浏览器的播放器
Dec 26 #HTML / CSS
html5中 media(播放器)的api使用指南
Dec 26 #HTML / CSS
浅谈html5 响应式布局
Dec 24 #HTML / CSS
HTML5进度条特效
Dec 18 #HTML / CSS
You might like
php生成唯一的订单函数分享
2015/02/02 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
PHP实现二维数组根据key进行排序的方法
2016/12/30 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
有关于JS辅助函数inherit()的问题
2013/04/07 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
vue实现登录功能
2020/12/31 Vue.js
Python实现去除代码前行号的方法
2015/03/10 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
中文专业毕业生自荐信
2013/10/28 职场文书
加拿大留学自荐信
2014/01/28 职场文书
《王二小》教学反思
2014/02/27 职场文书
《埃及的金字塔》教学反思
2014/04/07 职场文书
迎国庆演讲稿
2014/09/15 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
财产保全担保书
2015/01/20 职场文书
导游词300字
2015/02/13 职场文书
小学教学工作总结2015
2015/05/13 职场文书
一个都不能少观后感
2015/06/04 职场文书
Python 多线程之threading 模块的使用
2021/04/14 Python