/**
* Created by ty on 2016/7/11.
* canvas 基础
*/
window.onload = function() {
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d"); //画线条
ctx.moveTo(50, 50);
ctx.lineTo(200, 200);
ctx.lineTo(50, 200);
ctx.lineTo(50, 50); ctx.fillStyle = "rgba(121, 13, 134, .6)";
ctx.fill();
//给该多边形描边
ctx.lineWidth = 6;
ctx.strokeStyle = "blue";
ctx.stroke(); //再画一条线,当有多个图形时候,应该每次前后都用beginPath()和closePath()
ctx.beginPath();
ctx.moveTo(150, 50);
ctx.lineTo(150, 100); ctx.lineWidth = 10;
ctx.strokeStyle = "green";
ctx.stroke(); //画圆形-顺时针版
ctx.beginPath();
ctx.arc(300, 100, 60, 0, 1.5*Math.PI);
ctx.strokeStyle = "rgb(24,100,150)";
ctx.lineWidth = 3;
ctx.closePath();
ctx.stroke(); //画圆形-逆时针版
ctx.beginPath();
ctx.arc(430, 100, 60, 0, 0.5*Math.PI, true);
// ctx.strokeStyle = "rgb(24,100,150)";
// ctx.lineWidth = 3;
ctx.stroke();
ctx.closePath(); /**
* 渐变: 线性渐变
* 在新画布中做渐变
*/
var canvas2 = document.getElementById("canvas2");
var ctx2 = canvas2.getContext("2d"); var linearGradient = ctx2.createLinearGradient(0, 0, ctx2.canvas.width, ctx2.canvas.height);
linearGradient.addColorStop(0,"#000");
linearGradient.addColorStop(1, "#035");
ctx2.fillStyle = linearGradient;
ctx2.fillRect(0, 0, ctx2.canvas.width, ctx2.canvas.height); /**
* 渐变:径向渐变
* 在新画布中做渐变
*/
var canvas3 = document.getElementById("canvas3");
var ctx3 = canvas3.getContext("2d"); var radialGradient = ctx3.createRadialGradient(0, 0, 100, 800, 800, 20);
radialGradient.addColorStop(0,"red");
radialGradient.addColorStop(0.5,"green");
radialGradient.addColorStop(1, "#035");
ctx3.fillStyle = radialGradient;
ctx3.fillRect(0, 0, ctx3.canvas.width, ctx3.canvas.height); /**
* 使用pattern创建图片
* createPattern(ele, repeat-style)
*/
var canvas4 = document.getElementById("canvas4");
var ctx4 = canvas4.getContext("2d");
var imgEle = new Image(); imgEle.src = "../image/search.png";
imgEle.onload = function() {
var imgPattern = ctx4.createPattern(imgEle, "repeat");
ctx4.fillStyle = imgPattern;
ctx4.rotate(10 * Math.PI / 180);
ctx4.fillRect(0, 0, ctx4.canvas.width, ctx4.canvas.height);
}; /**
* arcTo
*/
var canvas5 = document.getElementById("canvas5");
var ctx5 = canvas5.getContext("2d"); ctx5.beginPath();
ctx5.moveTo(50, 50);
ctx5.lineTo(150, 50);
ctx5.lineTo(150, 150); ctx5.strokeStyle = "green";
ctx5.stroke(); ctx5.beginPath();
ctx5.moveTo(50, 50);
ctx5.arcTo(150, 50, 150, 150, 70); ctx5.strokeStyle = "purple";
ctx5.stroke(); /**
* fillText 文字 写字
*/
//ctx.beginPath();
var canvas6 = document.getElementById("canvas6");
var ctx6 = canvas6.getContext("2d");
ctx6.font = "3rem normal Microsoft YaHei,weiruanyahei";
ctx6.fillText("88",100, 300); ctx6.font = "3rem bold Microsoft YaHei,weiruanyahei";
ctx6.textAlign = "left";
ctx6.fillText("left",100, 380);//无bold效果,可见顺序不能变 ctx6.font = "bold 3rem Microsoft YaHei,weiruanyahei";
ctx6.textAlign = "right";
ctx6.fillText("right",100, 440);//有bold效果,可见顺序不能变 ctx6.font = "bolder 4rem Microsoft YaHei,weiruanyahei";
ctx6.textAlign = "center";
ctx6.fillText("center",100, 500); //画个辅助线,看看文字对齐到底在哪儿
ctx6.beginPath();
ctx6.moveTo(400, 0);
ctx6.lineTo(100, 600);
ctx6.lineWidth=2;
ctx6.strokeStyle = "red";
ctx6.stroke();
ctx6.closePath(); //ctx.closePath();
};

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基础学习(一)——实现简单时钟显示

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

  6. canvas基础学习笔记

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

  7. canvas基础学习(三)

    一.图片加载控件 在canvas效果制作中常常要使用多张图片,为了提高用户体验,需要给用户提供一个图片加载中的过度页面效果.过度效果,我在项目中使用的是Sonic.js,它在git上的地址为https ...

  8. canvas基础学习(一)

    一.概述 canvas它和其它的HTML5标签的使用基本一致,但是它相当于在浏览器中建立一个画布,可以再这个画布上画图.创建动画甚至是3D游戏.由于canvas要适配不同终端的分辨率,所以尽可能的在标 ...

  9. HTML5移动开发学习笔记之Canvas基础

    1.第一个Canvas程序 看的是HTML5移动开发即学即用这本书,首先学习Canvas基础,废话不多说,直接看第一个例子. 效果图为: 代码如下: <!DOCTYPE html> < ...

随机推荐

  1. Spring 事务管理tx,aop

    spring tx:advice事务配置 2016年12月21日 17:27:22 阅读数:7629 http://www.cnblogs.com/rushoooooo/archive/2011/08 ...

  2. cgwin的ssh错误解决办法

    参考博客    http://hi.baidu.com/luckygirl/item/bd00a6d8a05c310d20e25039 方法一(推荐): 修改/etc/passwd文件,在其中加入 s ...

  3. js中获取时间戳

    function conver(){ var date = new Date(); var year = date.getFullYear() var month=date.getMonth()+1; ...

  4. std::tuple作为参数invoke调用函数

    template<typename Function, typename Tuple, std::size_t... Index> decltype(auto) invoke_impl(F ...

  5. F1Book报表在Win7下运行出现显示不完整问题

    Q: Win7环境下,明明报表要显示20多行,可是显示18行,即显示不完全情况(或常常出现报表底部内容不见了,fe:最后的签名或备注消失了)?? A:只要更新Vcf132.ocx即可.       操 ...

  6. CSS 媒体类型

    CSS 媒体类型 媒体类型允许你指定文件将如何在不同媒体呈现.该文件可以以不同的方式显示在屏幕上,在纸张上,或听觉浏览器等等. 一.媒体类型 一些CSS属性只设计了某些媒体.例如"voice ...

  7. linux启动过程⭐

    启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘 ...

  8. [JavaScript]YYYY-MM-DD格式字符串计算年龄

    function getAge(birth){ birth = birth.replace(/-/g,"/"); //把格式中的"-"替换为"/&qu ...

  9. http://www.jb51.net/article/28619.htm

    http://www.jb51.net/article/28619.htm js autocomplete 自动完成

  10. SaltStack部署配置Tomcat-第三篇

    实验目标 简单部署tomcat及安装java环境 实现步骤 编写salt的状态模块 [root@linux-node1 web]# pwd /srv/salt/base/web [root@linux ...