canvas详解---矩形绘制
首先,就上述绘制弧线的章节进行一个小小的补充;
如果我们使用了context.beginPath();紧接着后面的context.moveTo(x,y),可以改为context.lineTo(x,y)效果是一样的;
好了,现在来开始我们这一章的内容了
编写一个绘制矩形的接口函数
<script type=text/javascript>
var canvas=document.getElementById("canvas");
var context=canvas.getContext("2d");
DrawRect(context,100,100,200,200,5,"red","blue");
function DrawRect(cxt,x,y,w,h,borderWidth,bordercolor,fillcolor)
{
cxt.lineWidth=borderWidth;
cxt.strokeStyle=bordercolor;
cxt.fillStyle=fillcolor;
cxt.beginPath();
cxt.moveTo(x,y);
cxt.lineTo(x+w,y);
cxt.lineTo(x+w,y+h);
cxt.lineTo(x,y+h);
cxt.lineTo(x,y);
cxt.closePath();
cxt.fill();
cxt.stroke();
}
其中这就是一个简单的绘制矩形的方法,我们注意一件事情,如果我们想给一个图像不仅要填充,还要绘制边框,那我们要先填充,后绘制边框,这样我们的边框才会正常显示。
其实canvas本身就自带绘制矩形的方法;
例如context.rect(x,y,w,h);
var canvas=document.getElementById("canvas");
var context=canvas.getContext("2d");
context.strokeStyle="red";
context.fillStyle="blue";
context.lineWidth=5;
context.beginPath();
context.rect(100,100,200,200);
context.closePath();
context.fill();
context.stroke();
这样也可以绘制出一个起点为(100,100),长和宽都是200的正方形。
这个地方我们可以看出context.rect(x,y,w,h)其实只是绘制了路径。具体操作还没有封装
但是除了上述方法以外。canvas还提供了正真的绘制矩形的方法,fillRect(x,y,w,h)和strokeRect(x,y,w,h);
context.strokeStyle="red";
context.fillStyle="blue";
context.lineWidth=5;
context.fillRect(100,100,200,200);
context.strokeRect(100,100,200,200);
这样就可以了
canvas详解---矩形绘制的更多相关文章
- canvas详解----绘制线条
<!DOCTYPE html> <html> <head> <title>canvas详解</title> </head> &l ...
- canvas详解---绘制弧线
Draw an arc context.arc(centerx,centery,radius,startingAngle,endingAngle,anticlockwise=false); 参数一是圆 ...
- Android之canvas详解
首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, y ...
- HTML5中的Canvas详解
什么是Canvas HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.<canvas> 标签只是图形容器,您必须使用脚本来绘制图 ...
- 转载爱哥自定义View系列--Canvas详解
上面所罗列出来的各种drawXXX方法就是Canvas中定义好的能画什么的方法(drawPaint除外),除了各种基本型比如矩形圆形椭圆直曲线外Canvas也能直接让我们绘制各种图片以及颜色等等,但是 ...
- canvas绘制线条详解
canvas详解----绘制线条 <!DOCTYPE html> <html> <head> <title>canvas详解</title> ...
- android 开发 View _6_Canvas详解
牛逼大神的博客地址:http://www.gcssloop.com/customview/Canvas_BasicGraphics 安卓自定义View进阶-Canvas之绘制图形 在上一篇自定义Vie ...
- 图形绘制 Canvas Paint Path 详解
图形绘制简介 Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0.大部分2D使用的api都在android.grap ...
- 详解使用CSS3绘制矩形、圆角矩形、圆形、椭圆形、三角形、弧
1.矩形 绘制矩形应该是最简单的了,直接设置div的宽和高,填充颜色,效果就出来了. 2.圆角矩形 绘制圆角矩形也很简单,在1的基础上,在使用css3的border-radius,即可. 3.圆 根据 ...
随机推荐
- 聊一聊 JS 输出为 [object object] 是怎么回事?
聊一聊 JS 输出为 [object object] 是怎么回事? 今天在学习ES6中的 Symbol 数据类型时,在写demo时控制台输出为 Symbol[object object] ,当时有点疑 ...
- ORM之Dapper
ORM之Dapper 一.下载安装: nuget 搜索dapper安装 二.使用: 三.优缺点: 优点: 1.开源.轻量.单文件(代码就一个SqlMapper.cs文件,编译后就40K的一个很小的Dl ...
- mysql 添加注释
给表添加注释: alter table m_tb100_disabledsoldier comment '残疾士兵'; 给表中的字段添加注释alter table m_tb100_disable ...
- mysql explain亲测
mysql explain亲测 1 where后面字段加索引:数据库类型如果是字符串类型 查询where的时候必须要用 字符串 类型必须一致 否则不用索引 type还是会是all的 ps:如果wher ...
- python入门之函数的嵌套
目录 函数的嵌套调用 函数的嵌套定义 函数的嵌套调用 在函数内调用函数 def index(): print('from index') def func(): index() print('from ...
- JDK9版本以上Java独有的一个轻量级小工具,你知道吗?jshell
jshell,是JavaJDK9这个大版本更新以来,带来的一个轻量级小工具.我们再也不用进入Java目录,编写一个Java文件,然后再去编译,最后才能执行它. 这里,你可以直接写一个小功能,就能去实现 ...
- Cglib 与 JDK动态代理
作者:xiaolyuh 时间:2019/09/20 09:58 AOP 代理的两种实现: jdk是代理接口,私有方法必然不会存在在接口里,所以就不会被拦截到: cglib是子类,private的方法照 ...
- Quartz.net使用笔记
一.需求场景:每天固定时间执行某个行为/动作. 一开始想用定时器,后来无意间发现了这个插件,感觉功能太强大了,完美解决了我的问题. 二.下载地址:https://www.quartz-schedule ...
- Spring IOC 概述
Spring IOC 概述 IOC(Inversion of Control) 控制反转,也叫 DI(D_ependency injection_) 依赖注入.是一种设计思想.不过我并不同意所谓反转的 ...
- Java之路---Day12(多态)
2019-10-26-22:40:09 目录: 1.多态的概念 2.多态的分类 3.实现多态的三个必要条件 4.多态的格式 5.多态成员变量的使用特点 6.多态成员方法的使用特点 7.多态的好处 8. ...