<canvas>新元素

<canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.

<canvas> 标签只是图形容器,您必须使用脚本来绘制图形。

你可以通过多种方法使用Canva绘制路径,盒、圆、字符以及添加图像。

  注意: 默认情况下 <canvas> 元素没有边框和内容。

  画方

<!--fillStyle是填充样式,如果不设置fillStyle属性,默认填充色为黑色,fillRect是画一个矩形,参数为X,Y,Width,Height-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" name="author" content="赵慧娟">
<title></title>
<script src="Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
var canvas=document.getElementById("myCanvas")
var ctx=canvas.getContext("2d");
ctx.fillStyle="deeppink";
ctx.fillRect(10,10,100,100);
         //ctx.moveTo(0,0);    //定义开始坐标
         //ctx.lineTo(100,100);  //定义结束坐标
         //ctx.stroke();      //绘制线条
            })
</script>
</head>
<body>
<canvas id="myCanvas" width="100" height="100"></canvas>
</body>
</html>

运行结果:

  画圆

<!--arc画圆,参数是X,Y,半径,起始角,结束角,顺时针/逆时针(可选)XY指的是圆点的距离-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" name="author" content="赵慧娟">
<title></title>
<script src="Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
var canvas=document.getElementById("myCanvas")
var ctx=canvas.getContext("2d");
ctx.fillStyle="deeppink";
ctx.arc(50,50,50,0,2*Math.PI);
ctx.stroke();
         //ctx.fillText("Hello World",,);  //绘制实心字体
         //ctx.strokeText("Hello World",10,50); //绘制空心字体
})
</script>
<style type="text/css">
canvas{
border: 1px solid #000;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="100" height="100"></canvas>
</body>
</html>

运行结果:

  渐变

  createLinearGradient(x,y,x1,y1) - 创建线条渐变

  createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变

// 创建渐变
var grd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"blue"); // 填充渐变
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);

运行结果:

  径向/圆渐变

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d"); // 创建渐变
var grd=ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white"); // 填充渐变
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);

运行结果:

图像

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" name="author" content="赵慧娟">
<title></title>
<script src="Scripts/jquery-1.10.2.js"></script>
<style type="text/css">
canvas{
border: 1px solid #000;
}
#flower{
border: 1px solid #000;
width: 100px;
height: 100px;
}
</style>
</head>
<body>
<img src="img/a.ico" id="flower" />
<canvas id="myCanvas" width="100" height="100"></canvas>
<script type="text/javascript">
$(function(){
var canvas=document.getElementById("myCanvas")
var ctx=canvas.getContext("2d");var img=document.getElementById("flower");
img.onload=function(){
ctx.drawImage(img,20,20,80,80);  //drawImage(对象,X,Y,W,H)
}
})
</script>
</body>
</html>

运行结果:

(右图为canvas图像)

HTML5-canvas-基础篇的更多相关文章

  1. 《HTML5 CANVAS基础教程》读书笔记

    一.HTML5简介 1.HTML5新特性 1)结构元素:section,header,hgroup,footer,nav,article,aside, 2)内容元素:figure,figcaption ...

  2. HTML5 <canvas> 基础学习

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

  3. HTML5 Canvas基础知识

    HTML5画布 1.创建一个画布         <canvas id="myCanvas" width="200" height="100&q ...

  4. HTML5画布(基础篇11-10)

    <script type="text/javascript"> $(function(){ var s = $("#myCanvas")[0]; v ...

  5. HTML5 Canvas——基础入门

    认识canvas html5的新标签 <canvas>标签只是图像容器,必须使用js来绘制图形 可以通过多种方法使用canvas绘制路径,盒,圆,字符以及添加图像 canvas画布 < ...

  6. html5 canvas基础10点

    本文主要讲解下一些canvas的基础 1.<canvas id="canvas">若此浏览器不支持canvas会显示该文字</canvas> //创建个ht ...

  7. canvas 基础知识整理(二)

    html部分: <canvas id="myCanvas" width="800" height="800" ></can ...

  8. canvas 基础知识整理(一)

    canvas这个 HTML 元素是为了客户端矢量图形而设计的.它自己没有行为,但却把一个绘图 API 展现给客户端 JavaScript 以使脚本能够把想绘制的东西都绘制到一块画布上. html的基本 ...

  9. Chart.js – 效果精美的 HTML5 Canvas 图表库

    Chart.js 是一个令人印象深刻的 JavaScript 图表库,建立在 HTML5 Canvas 基础上.目前,它支持6种图表类型(折线图,条形图,雷达图,饼图,柱状图和极地区域区).而且,这是 ...

  10. HTML5 Canvas(画布)实战编程初级篇:基本介绍和基础画布元素

    欢迎大家阅读HTML5 Canvas(画布)实战编程初级篇系列,在这个系列中,我们将介绍最简单的HTML5画布编程.包括: 画布元素 绘制直线 绘制曲线 绘制路径 绘制图形 绘制颜色,渐变和图案 绘制 ...

随机推荐

  1. 面试:用 Java 逆序打印链表

    昨天的 Java 实现单例模式 中,我们的双重检验锁机制因为指令重排序问题而引入了 volatile 关键字,不少朋友问我,到底为啥要加 volatile 这个关键字呀,而它,到底又有什么神奇的作用呢 ...

  2. zabbix安装与配置

    一.什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题.是一个基于WE ...

  3. 使用 Emmet 生成 HTML 的语法详解

    生成 HTML 文档初始结构 HTML 文档的初始结构,就是包括 doctype.html.head.body 以及 meta 等内容.你只需要输入一个 “!” 就可以生成一个 HTML5 的标准文档 ...

  4. c++入门之内置数组和array比较

    array是C++11中新提出来的容器类型,与内置数组相比,array是一种更容易使用,更加安全的数组类型,可以用来替代内置数组.作为数组的升级版,继承了数组最基本的特性,也融入了很多容器操作,下面介 ...

  5. rabbitmq集群运维一点总结

    说明:以下操作都以三节点集群为例,机器名标记为机器A.机器B.机器C,如果为双节点忽略机器C,如果为各多节点则与机器C操作相同 一.rabbitmq集群必要条件 1.1.绑定实体ip,即ip a所能查 ...

  6. PEP 8 python编程规范

    一 代码编排 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格. 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车. 类和to ...

  7. JavaScript动态修改html组件form的action属性

    用javaScript动态修改html组件form的action属性,可以在提交时再决定处理表单的页面. <%--JavaScript部分--%><script language=& ...

  8. a标签中的onclick和href的使用

    onclick和href 链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接):  假设链接中同时存在 href 与 onclick,如果 ...

  9. Windows 激活的简单办法(能上网)

    1. 之前很多机器上面总是提示我  盗版系统看起来挺不high的 2. 还是使用之前的办法来进行激活 slmgr  (之前写过) /ipk <Product Key> 安装产品密钥(替换现 ...

  10. AngularJS路由使用案例

    AngularJS路由使用案例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...