Javascript高级编程学习笔记(86)—— Canvas(3)绘制矩形
绘制矩形
矩形是唯一一种可以直接在2D上下文中绘制的形状.
与矩形有关的方法包括:
- fillRect()
- strokeRect()
- clearRect()
上述方法都接收四个参数:
- 绘制矩形的 X 坐标
- 绘制矩形的 Y 坐标
- 矩形的宽度
- 矩形的高度
这些参数的单位都是像素
首先,fillRect() 方法在 canvas 中绘制的矩形会填充指定颜色
填充的颜色通过上一篇文章介绍的 fillStyle 指定,如:
var drawing = document.getElementById('drawing');
if(drawing.getContext){
var context = drawing.getContext('2d');
// 绘制红色矩形
context.fillStyle = "#ff0000";
context.fillRect(10,10,50,50);
// 绘制半透明蓝色矩形
context.fillStyle = 'rgba(0,0,255,0.5)';
context.fillRect (30,30,50,50);
}
strokeRect() 方法在画布上绘制矩形会使用指定的颜色描边
描边的颜色由 strokeStyle 指定,如:
var drawing = document.getElementById('drawing');
if(drawing.getContext){
var context = drawing.getContext('2d');
// 绘制红色描边矩形
context.strokeStyle = "#ff0000";
context.strokeRect(10,10,50,50);
// 绘制半透明蓝色描边矩形
context.strokeStyle = 'rgba(0,0,255,0.5)';
context.strokeRect (30,30,50,50);
}
描边线条的宽度由 lineWidth 属性指定,该属性的值为任意整数
而描边线条末端的形状则可以通过 lineCap 属性控制,支持的值有 "butt"(平头) "round"(圆头) "square"(方头)
此外,线条相交的方式可以通过 lineJoin 属性控制,支持的值有: "round"(圆交) "bevel"(斜交) "miter"(斜接)
最后是 clearRect() 方法,用于清除画布指定矩形区域内的图形,如:
var drawing = document.getElementById('drawing');
if(drawing.getContext){
var context = drawing.getContext('2d');
// 绘制红色矩形
context.fillStyle = "#ff0000";
context.fillRect(10,10,50,50);
// 绘制半透明蓝色矩形
context.fillStyle = 'rgba(0,0,255,0.5)';
context.fillRect (30,30,50,50);
// 在两个矩形的重叠区域清除一个小矩形的区域
context.clearRect(40,40,10,10);
}
Javascript高级编程学习笔记(86)—— Canvas(3)绘制矩形的更多相关文章
- Javascript高级编程学习笔记(93)—— Canvas(10) 模式及图像数据
模式 模式其实就是重复的图像,用来填充或描边图形 要创建一个新模式,可以调用 createPattern()并传入两个参数 一个HTML img元素 用于表示如何重复的字符串 "repeat ...
- Javascript高级编程学习笔记(87)—— Canvas(4)绘制路径
绘制路径 2D上下文支持许多在画布上绘制路径的方法 通过路径可以创造出复杂的形状和线条,要绘制路径首先必须调用beginPath()方法,表示开始绘制路径 然后再通过下列的方法绘制路径: arc(x, ...
- Javascript高级编程学习笔记(94)—— Canvas(11) 合成
合成 除了之前介绍的属性之外,还有两个属性会应用到整个2d上下文中; globalAlpha 用于指定所有绘制的透明度 globalComposition 用于表示后绘制的图形怎样与先绘制的图形进行结 ...
- Javascript高级编程学习笔记(90)—— Canvas(7) 绘制图像
绘制图像 2D绘图上下文内置了对图像的支持 如果希望将一幅图绘制到画布上,可以使用 drawImage() 的方法 该方法有三种不同的参数数组合以对应不同的应用场景 将<img>绘制到画布 ...
- Javascript高级编程学习笔记(89)—— Canvas(6) 变换
变换 通过上下文的变化,可以对图像进行处理后再将其绘制到画布上 当我们创建上下文时,会以默认值初始化变化矩阵,在默认的变换矩阵下所有处理都按描述直接绘制. 而当我们为上下文应用变换时,会导致使用不同的 ...
- Javascript高级编程学习笔记(88)—— Canvas(5)绘制文本
绘制文本 同样的,canvas也为绘制文本提供了相应的方法. 2D上下文提供的文本绘制方法主要有两个: fillText() strokeText() 这两个方法都接受四个参数 要绘制的文本字符串 绘 ...
- Javascript高级编程学习笔记(85)—— Canvas(2)2D上下文
2D上下文 使用2D上下文提供的方法可以绘制简单的2D图形,如矩形,弧线和路径; 2D上下文的坐标开始域<canvas>元素的左上角,原点坐标为(0,0) 后续所有操作的计算都基于原点,x ...
- Javascript高级编程学习笔记(84)—— Canvas(1)基本用法
Canvas绘图 Canvas自HTML5引入后,由于其炫酷的效果成为HTML5新增功能中最受欢迎的部分 Canvas元素通过在页面中设定一个区域,然后就可以使用JS在其中绘制图形 <canva ...
- Javascript高级编程学习笔记(91)—— Canvas(8) 阴影
阴影 2D上下文将会根据以下属性为形状或路径绘制阴影 shadowColor: 用于设置阴影颜色,默认为黑色 shadowOffsetX: 形状或路径X方向的阴影偏移量,默认为0 shadowOffs ...
随机推荐
- sql 随笔更新
SELECT DISTINCT(p.`id`), p.`id` , v.`full_name` , CONCAT(LEFT(v.mobile, 7), '****') , DATE_FORMAT(DA ...
- 洛谷 P1983 车站分级
题目链接 https://www.luogu.org/problemnew/show/P1983 题目描述 一条单向的铁路线上,依次有编号为 1,2,…,n的 n个火车站.每个火车站都有一个级别,最低 ...
- AutoCAD 2019 for Mac 特别版(附注册机)
还在寻找CAD2019 for mac吗?AutoCAD 2019 mac版终于更新啦,MAC OS X平台上最专业的cad三维设计绘图软件.AutoCAD 2019版支持目前最新的MacOS Moj ...
- Django----列表分页(使用Django的分页组件)
目的:是为了实现列表分页 1.定制URL http://127.0.0.1:8000/blog/get_article?page=3之前定制URL是在url后增加了/id,这次使用参数的方式 def ...
- Windows phone 8.1之数据绑定(Data Binding)
学习Winphone8.1的时候经常需要对Slider进行数据绑定后使之视觉化,方便调节Slider的值. 数据绑定分为源(Source)和目标(Target),Source一般分为两种,其他控件的数 ...
- ELK:logstash和filebeat6.0及以上版本的配置
filebeat6.0版本以上没有document_type字段,因此需要另外标记下或者代替document_type字段的功能 案例如下: fielbeat5.5的配置 logstash5.5的配置 ...
- C#的排序Sort和OrderBy扩展方法
可以实现一个IComparable接口的CompareTo方法,或者是给予List的Sort扩展方法,传入委托实现,举个例子: list.Sort((a, b) => { var o = a.s ...
- 展开被 SpringBoot 玩的日子 《 二 》 WEB 开发
上篇文章介绍了Spring boot初级教程 :< spring boot(一):入门篇 >,方便大家快速入门.了解实践Spring boot特性:本篇文章接着上篇内容继续为大家介绍spr ...
- 单调栈&单调队列入门
单调队列是什么呢?可以直接从问题开始来展开. Poj 2823 给定一个数列,从左至右输出每个长度为m的数列段内的最小数和最大数. 数列长度:\(N <=10^6 ,m<=N\) 解法① ...
- css 控制横向布局,超出隐藏,滚动
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta cha ...