canvas的学习

一、 //获取画布
var mycanvasEle = document.getElementById("mycanvas");
二、 //内容
var ctx = mycanvasEle.getContext("2d");
三、矩形
//(x, y, width, heiht)
ctx.rect(200, 200, 100, 100);//生成一个矩形,把矩形加入缓存
//设置颜色
ctx.fillStyle = "gray";
//填充
ctx.fill();//画上去

ctx.rect(50, 50, 100, 100);//把矩形放入缓存
//设置颜色
ctx.strokeStyle = "gray";
//描边
ctx.stroke();//画上去,这个地方画了两个矩形

//创建并画矩形
ctx.fillRect(50, 200, 100, 100);//不会放入缓存
ctx.strokeRect(200, 50, 100, 100);
四、线条
//把笔头挪动到某个位置
ctx.moveTo(100, 20);
//从当前位置画到某个位置
ctx.lineTo(100, 100);
五、画圆
ctx.beginPath();
/*
context.arc(x,y,r,sAngle,eAngle,counterclockwise);
x:圆的中心的 x 坐标。
y:圆的中心的 y 坐标。
r:圆的半径。
sAngle:起始角,以弧度计。(弧的圆形的三点钟位置是 0 度)。
eAngle:结束角,以弧度计。
counterclockwise:可选。规定应该逆时针还是顺时针绘图。False = 顺时针,true = 逆时针。
*/
ctx.arc(100, 100, 20, 0.5 * Math.PI, 2 * Math.PI);
ctx.stroke();
//ctx.fill();//从结束点到起始点全部填满
六、文字
ctx.font = "20px 微软雅黑";
ctx.textBaseline = "top";
ctx.shadowBlur = 10;
ctx.shadowColor="black";
ctx.fillText("阿杰,你好!!", 0, 0);
七、套路
ctx.rect(50, 50, 100, 100);
ctx.arc(50, 50, 50, 0, Math.PI * 2);
ctx.beginPath();//清空缓存的图形(矩形、线条、原型)
ctx.stroke();

ctx.moveTo(50, 150);
ctx.lineTo(50, 250);
ctx.lineTo(100, 250);
ctx.closePath();//回到起点
ctx.stroke();

//套路:一块整体中,先beginPath开头,closePath结束
八、save和restore
ctx.save();//保存当前状态
ctx.rect(100, 100, 100, 100);
ctx.fillStyle = "yellow";//状态1~~~
ctx.translate(100, 100);//状态2~~~
ctx.restore();//回到上一个save的状态
ctx.fill();

//save和restore要搭配使用,不然要出问题
九、对象
举例说明:
<script>
function Student(name, age) {
this.name = name;
this.age = age;
this.rects = [];
this.fillStyle = "yellow";
this.study = function() {
console.info("我叫" + this.name);
}
this.rect = function() {
this.rects[this.rects.length] = "新的矩形";
}
this.fill = function() {
for (var i = 0, len = this.rects.length; i < len; ++i) {
console.info("画" + this.fillStyle + "色的" + this.rects[i]);
}
}
}

var stu = new Student("zhangsan", 18);
stu.study();
stu.rect();//创建矩形
stu.rect();//创建矩形

// console.info(stu.rects);

stu.fill();//画
</script>

canvas的学习的更多相关文章

  1. HTML5 <canvas> 基础学习

    HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成. <canvas> 标签只是图形容器,您必须使用脚本来绘制图形 创建一个画布( ...

  2. canvas一周一练 -- canvas基础学习

    从上个星期开始,耳朵就一直在生病,里面长了个疙瘩,肿的一碰就疼,不能吃饭不能嗨 (┳_┳)……在此提醒各位小伙伴,最近天气炎热,一定要注意防暑上火,病来如山倒呀~ 接下来我正在喝着5块一颗的药学习ca ...

  3. canvas基础学习(四)

    今天逛天猫时,看见优衣库店铺首页有个这个飘雪效果,顿时觉得好酷炫,立马从里面copy代码进行学习. 之前我也做过一些canvas特效,往往在canvas全屏时,canvas下层的div就无法进行dom ...

  4. canvas基础学习(二)

    一.图像绘制 canvas绘制图像的方法是ctx.drawImage();该方法有三种使用方式 1.ctx.drawImage(img,x,y); img是指图像对象,x和y分别是这个图像左上角在ca ...

  5. canvas 的学习

    canvas 绘制直线的API有: 1.moveTo()起点坐标. 2.lineTo()绘制的直线 3. fillStyle以及 flii()是绘制实体的 4. strokeStyle 和stroke ...

  6. Canvas基础学习(一)——实现简单时钟显示

    HTML5最受欢迎的功能就是<canvas>元素.这个元素负责在页面中设定一个区域,然后就可以通过JavaScript动态地在这个区域中绘制图形.关于<canvas>元素的一些 ...

  7. Canvas 绘图学习笔记2

    1 绘制文本 fillText(string,x,y,maxWidth)  //填充试绘制文本 strokeText(string,x,y,maxWidth) 画线试绘制文本 设置字体样式: cont ...

  8. canvas基础学习

    /** * Created by ty on 2016/7/11. * canvas 基础 */ window.onload = function() { var canvas = document. ...

  9. canvas基础学习笔记

    canvas基本用法 1.什么是canvas(画布)  <canvas> 是 HTML5 新增的元素,可用于通过使用JavaScript中的脚本来绘制图形,例如,它可以用于绘制图形,创建动 ...

随机推荐

  1. JSON总结-持续更新补充

    基本的json格式 { "name": "jobs", "boolean": true, "age": null, &q ...

  2. RDLC报表纵向合并单元格。

    在做RDLC报表时发现居然没有纵向合并单元格,震惊! 网上查了一些资料,有些方法很可爱,采用去除边框法,但是用这种方法如果要求文本属性居中的话那则达不到美观效果,还有些复杂一点的方法,我都没耐心看,然 ...

  3. Python进阶 - 命名空间与作用域

    Python进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字.对象及其绑定的文章. 1. 命名空 ...

  4. NoSQL数据库:Redis适用场景及产品定位

    传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量 ...

  5. 如何简单的实现新手引导之UGUI篇

    一个完整的游戏项目肯定是要做新手引导的,而引导做的好坏可能会影响玩家的留存.那么怎么简单的实现个简有效的引导呢!先不说废话,先看看效果,这是一个基于UGUI做的一个简单的引导! 怎么样,看着是那么回事 ...

  6. HTML form表单小结

    HTML form标签小结 最近研究 form标签,有一些小心得写下来与大家分享分享,共勉.在小结的最后有一个form表单的小例子,可以作为参考. -----DanlV form是HTML的一个极为重 ...

  7. gulp使用流程

    1.全局安装gulp $ npm install --global gulp 2.作为项目的开发依赖(devDependencies)安装 $ npm install --save-dev gulp ...

  8. centos7安装nodejs

    方法一.https://github.com/nodesource/distributions#rpminstall 按照上面地址中的教程安装完后,使用node -v命令报错: -bash: /usr ...

  9. C/C++中static关键字的用法

    1.什么是static? static 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性. 1.1static的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它 ...

  10. Spring NamedParameterJdbcTemplate命名参数查询条件封装, NamedParameterJdbcTemplate查询封装

    Spring NamedParameterJdbcTemplate命名参数查询条件封装, NamedParameterJdbcTemplate查询封装 >>>>>> ...