1.什么是canvas?

可以绘制图形的标签。一般用javascript来绘制。

2.创建一个画布

 <!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<canvas id="mycanvas" width="100" height="100"></canvas> //创建画布用canvas标签
</body>
</html>

3.在画布上绘图。

 <script type="text/javascript">
//用javascript来绘制图像
//获取到canvas元素
var can=document.getElementById("mycanvas");
//创建html5的内置对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
var draw=can.getContext("2d");
//fillStyle();可以是css的颜色,渐变,图案
draw.fillStyle="red";
//fillRect(x,y,width,height) 定义填充方式
draw.fillRect(0,0,125,12);
</script>

4.canvas-路径

 var can=document.getElementById("mycanvas");
var draw=can.getContext("2d");
// 开始一个路径
draw.beginPath();
// 设置线的粗细
draw.lineWidth="5";
//设置线的颜色
draw.strokeStyle="green";
// 线的起点
draw.moveTo(0,75);
//线的终点
draw.lineTo(250,75);
// 开始绘制路径
draw.stroke();
//开始另一个路径
draw.beginPath();
// 设置线的粗细
draw.lineWidth="5";
draw.strokeStyle="purple";
draw.moveTo(25,05);
draw.lineTo(35,25);
draw.stroke();

效果:

// 其他路径的绘制
arc(x,y,r,start,stop); //画圆

5.canvas-文本

1 // 3绘制文本
2 var can=document.getElementById("mycanvas");
3 var draw=can.getContext("2d");
4 // 设置字体的大小
5 draw.font="30px Arial";
6 //绘制出文字,确定文字的位置
7 draw.fillText("Hello World ",10,25);
8 //绘制空心文字
9 draw.strokeText("Hello",10,25);

6.canvas-渐变

 var can=document.getElementById("mycanvas");
var draw=can.getContext("2d");
// 创建渐变
// 先创建一个线条渐变
var grd=draw.createLinearGradient(0,0,200,0);
// 设置渐变的停止位置,以及颜色
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
//绘制渐变图形
draw.fillStyle=grd;
draw.fillRect(10,10,120,80);
    //圆渐变
    ctx.fillRect(10,10,150,80);

html5学习笔记:canvas的更多相关文章

  1. [html5] 学习笔记-Canvas应用

    通过使用HTML5游戏开发的引擎CreatJS,创建HTML5 Canvas上的更好交互. 1.认识CreateJS CreateJS是一个外部库,用它可以比Canvas更方便的绘制图形. 官网:ht ...

  2. [html5] 学习笔记-Canvas 绘制渐变图形与绘制变形图形

    在 HTML5 中,使用 Canvas API 绘制图形的知识,可以对绘制图形进行处理,包含使用 Canvas API 绘制渐变图形,使用 Canvas API 的坐标轴变换处理功能绘制变形图形.其中 ...

  3. [html5] 学习笔记-Canvas标签的使用

    Canvas通过JavaScript来绘制2D图形.Canvas是逐像素渲染的.在Canvas中,一旦图形被绘制完成,它就不会继续得到浏览器的关注.如果其位置发生变化,那么整个场景也需要重新绘制,包括 ...

  4. HTML5学习总结——canvas绘制象棋(canvas绘图)

    一.HTML5学习总结——canvas绘制象棋 1.第一次:canvas绘制象棋(笨方法)示例代码: <!DOCTYPE html> <html> <head> & ...

  5. html5学习笔记一

    HTML5学习笔记 <video>标记:定义视频,Ogg.MPEG4.WebM三种格式 <video src=”movie.ogg”  controls=”controls”> ...

  6. Html5学习笔记1 元素 标签 属性

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. HTML5学习笔记之表格标签

    HTML5学习笔记之表格标签 其他HTML5相关文章 HTML5学习笔记之HTML5基本介绍 HTML5学习笔记之基础标签 HTML5学习笔记之表格标签 HTML5学习笔记之表单标签 HTML5学习笔 ...

  8. HTML5 学习笔记(一)——HTML5概要与新增标签

    目录 一.HTML5概要 1.1.为什么需要HTML5 1.2.什么是HTML5 1.3.HTML5现状及浏览器支持 1.4.HTML5特性 1.5.HTML5优点与缺点 1.5.1.优点 1.5.2 ...

  9. HTML5 学习笔记--------》HTML5概要与新增标签!

      一.HTML5概要 1.1.为什么需要HTML5 HTML4陈旧不能满足日益发展的互联网需要,特别是移动互联网.为了增强浏览器功能Flash被广泛使用,但安全与稳定堪忧,不适合在移动端使用(耗电. ...

  10. HTML5学习笔记(一):HTML简介

    Web前端涵盖的内容较多且杂,主要由3个部分组成:HTML标记语言.CSS样式语言和JavaScript脚本语言组成,而下面我们将先学习最新的标记语言HTML5. <!DOCTYPE>标记 ...

随机推荐

  1. 【大数据】Linux下Storm(0.9版本以上)的环境配置和小Demo

    一.引言: 在storm发布到0.9.x以后,配置storm将会变得简单很多,也就是只需要配置zookeeper和storm即可,而不再需要配置zeromq和jzmq,由于网上面的storm配置绝大部 ...

  2. CSS魔法堂:说说Float那个被埋没的志向

    前言  定位系统中第一难理解就是Normal flow,而第二就非Float莫属了,而Float难理解的原因有俩,1. 一开头我们就用错了:2. 它跟Normal flow靠得太近了.本文尝试理清Fl ...

  3. angularJS配合bootstrap动态加载弹出提示内容

    1.bootstrp的弹出提示 bootstrap已经帮我们封装了非常好用的弹出提示Popover. http://v3.bootcss.com/javascript/#popovers 2.自定义p ...

  4. IOS 通用颜色快速生成代码

    通常情况下我们是直接使用类似于#EE1289这样的代码来直接表示RGB颜色的.但是在IOS语言中,它的颜色表示方式比较另类,他是使用一个0-1的小数来表示颜色值的.这样的实现,或许能够表示更多的颜色值 ...

  5. C语言学习016:单链表

    #include <stdio.h> //定义一个链表,链表是一种递归结构,在定义的时候必须要给结构起一个名字 typedef struct folder{ int level; char ...

  6. 策略模式(Stategy Pattern)

    知识点 找出引用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起. 针对接口编程,而不是实现编程. 多用组合,少用继承 示例

  7. 使用VS Code开发ASP.NET Core 应用程序

    最新教程:http://www.cnblogs.com/linezero/p/VSCodeASPNETCore.html 使用VS Code开发ASP.NET Core 应用程序 准备 1.安装VS ...

  8. Entity Framework 6 执行Linq to Entities异常"p__linq__1 : String truncation: max=0, len=2, value='测试'"

    场景再现 我需要查询公司名称包含给定字符串的公司,于是我写了下面的测试小例子: var condition = "测试"; var query = from b in db.Com ...

  9. 介绍开源的.net通信框架NetworkComms框架 源码分析(十七 ) ConnectionSendClose

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  10. What Can Java Technology Do?

    What Can Java Technology Do? The general-purpose(多用途的), high-level Java programming language is a po ...