canvas学习总结六:绘制矩形
在第三章中(canvas学习总结三:绘制路径-线段)我们提高Canvas绘图环境中有些属于立即绘制图形方法,有些绘图方法是基于路径的。
立即绘制图形方法仅有两个strokeRect(),fillRect(),两个方法都是用来绘制矩形的。
Canvas的API提供了如下三个方法,分别用于矩形的清除,描边与填充
- clearRect(x, y, w, h): 清除指定区域,使其为全透明
- strokeRect(x, y, w, h): 绘制一个描边的矩形
- fillRect(x, y, w, h): 绘制一个填充的矩形
我们先来看看基于路径的绘制矩形的方法
moveTo(), lineTo()
function drawRect(){
// 描边矩形
ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(200, 20);
ctx.lineTo(200, 200);
ctx.lineTo(200, 200);
ctx.lineTo(20, 200);
ctx.lineTo(20, 20);
ctx.stroke();
//填充矩形
ctx.beginPath();
ctx.moveTo(220, 20);
ctx.lineTo(400, 20);
ctx.lineTo(400, 200);
ctx.lineTo(220, 200);
ctx.lineTo(220, 200);
ctx.lineTo(220, 20);
ctx.fill();
}

rect()绘制矩形
rect(x, y, w, h):绘制一个封闭的矩形路径
参数x, y 分别为矩形左上角的坐标,w, h 分别为矩形的宽高
function drawRect(){
ctx.beginPath();
ctx.rect(20, 20, 180, 180);
ctx.stroke();
ctx.beginPath();
ctx.rect(220, 20, 180, 180);
ctx.fill();
}

立即绘图函数
strokeRect(x, y, w, h): 绘制一个描边的矩形
参数x, y 分别为矩形左上角的坐标,w, h 分别为矩形的宽高
function drawRect(){
ctx.strokeRect(20, 20, 180, 180);
}

fillRect(x, y, w, h): 绘制一个填充的矩形
参数x, y 分别为矩形左上角的坐标,w, h 分别为矩形的宽高
function drawRect(){
ctx.fillRect(20, 20, 180, 180);
}

clearRect(x, y, w, h): 清除指定区域内的所有像素
参数x, y 分别为矩形左上角的坐标,w, h 分别为矩形的宽高
清除画布的方法
ctx.clearRect(0, 0, canvas.width, canvas.height);
绘制圆角矩形
在第五章中(canvas学习总结五:线段的端点与连接点)我们介绍了lineJoin属性 用来设置线的连接点的样式,因此我们可以绘制圆角矩形
function drawRect(){
ctx.lineWidth = 13;
ctx.lineJoin = 'round';
ctx.strokeRect(20, 20, 180, 180);
}

当然我们还可以使用lineJoin的其他属性值绘制不同方式的矩形。我们可以自己测试一下。
总结:
路径绘制矩形
moveTo(), lineTo()绘制路径,stroke()与fill()进行描边与填充
rect(x, y, w, h)顺时针绘制路径,stroke()与fill()进行描边与填充
立即绘制矩形
strokeRect(x, y, w, h): 绘制一个描边的矩形
fillRect(x, y, w, h): 绘制一个填充的矩形
canvas学习总结六:绘制矩形的更多相关文章
- 用canvas实现鼠标拖动绘制矩形框
需要用到jCanvas插件和jQuery. jCanvas下载:https://raw.githubusercontent.com/caleb531/jcanvas/master/jcanvas.mi ...
- 【canvas学习笔记六】状态保存和变换
save()和restore() save() 保存当前状态,将当前canvas的状态存入栈中. restore() 恢复之前save的一个状态,将之前的状态从栈中弹出. 保存的当前状态包含以下信息: ...
- html5 canvas绘制矩形和圆形
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- html5--5-4 绘制矩形
html5--5-4 绘制矩形 学习要点 掌握绘制矩形的方法:strkeRect()/fillRect() 掌握绘制路径的 beginPath()和closePath() 矩形的绘制方法 rect(x ...
- [HTML5 Canvas学习]绘制矩形
1.使用strokeRect和fillRect方法绘制矩形 a.strokeRect是绘制一个不填充的矩形 b.fillRect是绘制一个填充的矩形 代码: <script> var ca ...
- Javascript高级编程学习笔记(86)—— Canvas(3)绘制矩形
绘制矩形 矩形是唯一一种可以直接在2D上下文中绘制的形状. 与矩形有关的方法包括: fillRect() strokeRect() clearRect() 上述方法都接收四个参数: 绘制矩形的 X 坐 ...
- h5学习-canvas绘制矩形、圆形、文字、动画
绘制矩形<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- Canvas入门(1):绘制矩形、圆、直线、曲线等基本图形
来源:http://www.ido321.com/968.html 一.Canvas的基础知识 Canvas是HTML 5中新增的元素,专门用于绘制图形.canvas元素就相当于一块“画布”,一块无色 ...
- 【canvas学习笔记二】绘制图形
上一篇我们已经讲述了canvas的基本用法,学会了构建canvas环境.现在我们就来学习绘制一些基本图形. 坐标 canvas的坐标原点在左上角,从左到右X轴坐标增加,从上到下Y轴坐标增加.坐标的一个 ...
随机推荐
- AppServ安装的一点小麻烦----
好久,没装AppServ了,今天安装过程顺利,但是Apache,服务开启不了,页面也不能访问. 刚开始以为是版本下载错误了,先后换了N个版本,都不行. 在网上搜的过程中,偶然发现,一句话:64位系统, ...
- 通过PHP前端后台交互/通过ajax前端后台交互/php基础传输数据应用/简单的留言版/简单的注册账户/简单的登录页/
前 言 PHP 通过上一篇博客,注册账号与登录页面--前后台数据交互 跳转转到index主页,接下来进入主页留言板功能,通过ajax向后台传输数据,同时发表留言. 具体的内容分析如下 ...
- php添加pcntl扩展(Linux)
pcntl扩展可以支持php的多线程操作(仅限linux)原本需要重新编译PHP的后面configrue提示加上--enable-pcntl 由于我的php是采用yum安装的,所以不能采用上面的方式下 ...
- Spring的JDBC(非web程序)的简单例子
第一步: spring配置applicationContext.xml文件,放在src下面: <?xml version="1.0" encoding="UTF-8 ...
- [leetcode-623-Add One Row to Tree]
Given the root of a binary tree, then value v and depth d, you need to add a row of nodes with value ...
- 简单说下Kanzi Studio
一.Project 窗口 在Project窗口下可以创建界面节点,包含有Screen和Prefabs 二.Properties窗口 包含有节点的相关属性,不同类型的节点,属性不同.主要通过改变节点的属 ...
- 深度学习:Keras入门(一)之基础篇
1.关于Keras 1)简介 Keras是由纯python编写的基于theano/tensorflow的深度学习框架. Keras是一个高层神经网络API,支持快速实验,能够把你的idea迅速转换为结 ...
- Hibernate使用注解进行ORM映射实例
在上一篇博客中,我们通过xml配置文件进行实体类和表的映射,但是近两年来有更多的项目对一些比较稳定的实体类使用了注解进行ORM映射,这样使得编程更加简洁.简单.其实使用注解进行ORM映射和使用xml进 ...
- 二、redis集群搭建
redis集群搭建 redis3.0后支持集群.集群中应该至少有三个节点,每个节点有一备份节点.需要6台服务器.搭建伪分布式,需要6个redis实例.搭建集群的步骤: 一.安装单机版redis 第一步 ...
- python编程快速上手之第4章实践项目参考答案
#!/usr/bin/env python3.5 # coding:utf-8 # 假定有一个列表,编写函数以一个列表值作为参数,返回一个字条串 # 该字符串包含所有表项,之间以逗号和空格分隔,并在最 ...