HTML5 Canvas (一)

1.历史

Canvas的概念最初是由苹果公司提出,用于Mac OS X WebKit中创建控制板部件(dashboard widget).

2.canvas

在页面使用canvas时,它会创建一块矩形区域。默认该矩形区域宽为300像素,高为150像素。

<canvas></canvas>

3.canvas坐标

canvas坐标是从左上角开始的,x轴沿着水平方向(按像素)向右延伸,y轴沿垂直方向向下延伸。

4.canvas和css

canvas通过应用css来增加边框,设置内边距、外边距等,而且一些css属性还可以被canvas内的元素继承。

5.检查浏览器是否支持canvas

try
{
document.createElement("canvas").getContext("2d");
document.getElementById("support").innerHTML="HTML5 Canvas is supported in your browser.";
}
catch(e)
{
document.getElementById("support").innerHTML="HTML5 Canvas is not supported in your browser.";
}

6.在canvas中绘制一条对角线

<canvas id="diagonal" style="border:1px solid;" width="200" height="200"></canvas>
<script>
function drawDiagonal()"{

var canvas=document.getElementById(‘diagonal‘);
var context=canvas.getContext(‘2d‘);

context.beginPath();
context.moveTo(70,140);
context.lineTo(140,70);

context.stroke();
}
</script>

7.用变换的方式在canvas上绘制对角线

 1 <script>
 2
 3 function drawDiagonal(){
 4
 5 var canvas=document.getElementById(‘diagonal‘);
 6
 7 var context=canvas.getContext(‘2d‘);
 8
 9 //save current  draw status
10
11 context.save();
12
13 //向右下方移动绘图上下文
14
15 context.translate(70,140);
16
17 //以原点为起点,绘制于前面相同的线段
18
19 context.beginPath();
20 context.moveTo();
21 context.lineTo(70,-70);
22 context.stroke();
23
24 //恢复原有的绘图状态
25 context.restore();
26
27 }
28 windows.addEventListener("load",drawDiagonal,true);
29 </script>

8.路径

不论要开始绘制何种图形,第一个要调用的就是beginPath。接着就可以用context的各种方法来绘制想要的形状。

context路径函数:

  • moveTo(x,y):不绘制,只是将当前位置移动到新的目标坐标(x,y)
  • lineTo(x,y):不仅将当前位置移动到(x,y),而且在两个坐标之间画一条直线

不论用moveTo或者lineTo都不会画出图像,用使用stroke或fill函数才能画出图像

  • closePath():行为与lineTo很像,closePath会将路径的起始坐标自动作为目标坐标。closePath还会通知当前绘制的图形已经闭合或者形成了完全封闭的区域。

绘制树冠轮廓的函数

 1 function createCanopyPath(context){
 2 //绘制树冠
 3 context.beginPath();
 4
 5 context.moveTo(-25,-50);
 6 context.lineTo(-10,-80);
 7 context.lineTo(-20,-80);
 8 context.lineTo(-5,-110);
 9 context.lineTo(-15,-110);
10
11 //树的顶点
12 context.lineTo(0,-140);
13
14 context.lineTo(15,-110);
15 context.lineTo(5,-110);
16 context.lineTo(20,-80);
17 context.lineTo(10,-80);
18
19 context.lineTo(25,-50);
20
21 //连接起点,闭合路径
22 context.closePath();
23
24 }

在canvas上画树的函数

 1 function drawTrails(){
 2 var canvas=document.getElementById(‘trails‘);
 3 var context=canvas.getContext(‘2d‘);
 4
 5 context.save();
 6 context.translate(130,250);
 7
 8 //创建表现树的路径
 9 createCanopyPath(context);
10
11 //绘制当前路径
12 context.stroke();
13 context.restore();
14 }
时间: 2024-08-01 02:30:16

HTML5 Canvas (一)的相关文章

html5 canvas 详细使用教程

导航 前言 基本知识 绘制矩形 清除矩形区域 圆弧 路径 绘制线段 绘制贝塞尔曲线 线性渐变 径向渐变(发散) 图形变形(平移.旋转.缩放) 矩阵变换(图形变形的机制) 图形组合 给图形绘制阴影 绘制图像(图片平铺.裁剪.像素处理[不只图像.包括其他绘制图形]) 绘制文字 保存和恢复状态(context) 保存文件 结合setInterval制作动画 结语.demo下载   前言 <canvas></canvas>是html5出现的新标签,像所有的dom对象一样它有自己本身的属性.

html5 Canvas绘制图形入门详解

html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome.Opera.Safari.IE9+)都已经开始支持html5了.除此之外,在移动浏览器市场上,众多的移动浏览器也纷纷展开关于「html5的支持能力以及性能表现」的军备竞赛.html作为革命性的网页技术标准,再加上众多浏览器厂商或组织的鼎力支持,可以想见,html5将会成为未来网页技术的领头羊. ht

html5 canvas首屏自适应背景动画循环效果代码

模板描述:html5 canvas首屏自适应背景动画循环效果代码 由于动态图太大,怕以后服务器受不了,所以现在都改为静态图了,大家点击演示地址一样的,希望大家喜欢,你们的支持就是小海的动力!! 欢迎大家积极评论,给出宝贵意见 下 载 演示地址 本文地址:html5 canvas首屏自适应背景动画循环效果代码

前端-HTML5 canvas学习

canvas元素算是HTML5添加的最受欢迎的功能了.它是通过在页面中设定一个区域,然后用脚本来编辑图形. 可像下面这样来引入一个canvas图像 <canvas id="myCanvas"></canvas> <script type="text/javascript"> var canvas = document.getElementById('myCanvas'); var cxt = canvas.getContext('

html5 canvas文本处理

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

如何使用 HTML5 Canvas 制作水波纹效果

原文:如何使用 HTML5 Canvas 制作水波纹效果 今天,我们继续分享 JavaScript 实现的效果例子,这篇文章会介绍使用 JavaScript 实现水波纹效果.水波效果以图片为背景,点击图片任意位置都会触发.有时候,我们使用普通的 Javascript 就可以创建一个很有趣的解决功能. 在线演示      源码下载 Step 1. HTML 和以前一样,首先是 HTML 代码: <!DOCTYPE html> <html> <head> <meta

HTML5 画布上的 Three.js 环境灯光(HTML5 Canvas Three.js Ambient Lighting)

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. HTML5 画布上的 Three.js 环境灯光HTML5 Canvas Three.js Ambient Lighting <!DOCTY

html5 canvas 学习笔记(一)

一.canvas元素API canvas元素并未提供很多API,实际上他只提供了两个属性与三个方法: 1.canvas元素属性 width 属性:与 height 属性: canvas元素绘图表面的宽度,在默认状况下,浏览器会将canvas元素大小设定成与绘图表面大小一致,然而如果在css中覆写了元素大小,那么浏览器则会将绘图表面进行缩放,使之符合元素尺寸.其值为非负整数,默认值为300. 2.canvas元素方法 getContext()方法: 返回与该canvas元素相关的绘图环境对象,每个

HTML5 Canvas ( 扩展context(&#39;2d&#39;) ) CanvasRenderingContext2D.prototype.你的方法名

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas</title> <script type="text/javascript" src="../js/jQuery.js"></script> <style type="text/css">

Html5 Canvas小知识

1.HTML5 canvas moveTo() 方法 2.HTML5 canvas lineTo() 方法