html5canvaSLOGO
Ⅰ html5 canvas画图
情况说明: 图像绘制,使用setInterval闪,没图像;
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<!-- TemplateBeginEditable name="doctitle" -->
<title>我图片</title>
</head>
<body>
<canvas id="Map" width="500" height="500" style="background:gray;"></canvas>
<script>
// 设置绘图环境
var myMap = document.getElementById("Map");
var cxt=myMap.getContext('2d');
// 设置图像位置初始位置变量
var x=20;
var y=20;
// 创建绘图象,并且画
var img =new Image();
img.src="image/gun.png";
draw();
function draw()
{
cxt.clearRect(0,0,500,500);
x+=10;
y+=50;
img.onload=function()
{
cxt.drawImage(img,x,y,80,80);
}
}
window.setInterval("draw()",100);
</script>
</body>
</html>
Ⅱ html5在canvas绘制标尺
<!>
<html>
<head>
<style>
body{
background:#eeeeee;
}
#canvas{
background:#ffffff;
cursor:pointer;
margin-left:10px;
margin-top:10px;
-webkit-box-shadow:4px4px8pxrgba(0,0,0,0.5);
-moz-box-shadow:4px4px8pxrgba(0,0,0,0.5);
box-shadow:4px4px8pxrgba(0,0,0,0.5);
}
</style>
</head>
<body>
<canvasid='canvas'width='600'height='400'>
Canvasnotsupported
</canvas>
<script>
varcanvas=document.getElementById('canvas'),
context=canvas.getContext('2d'),
AXIS_MARGIN=40,
AXIS_ORIGIN={x:AXIS_MARGIN,y:canvas.height-AXIS_MARGIN},
AXIS_TOP=AXIS_MARGIN,
AXIS_RIGHT=canvas.width-AXIS_MARGIN,
HORIZONTAL_TICK_SPACING=10,
VERTICAL_TICK_SPACING=10,
AXIS_WIDTH=AXIS_RIGHT-AXIS_ORIGIN.x,
AXIS_HEIGHT=AXIS_ORIGIN.y-AXIS_TOP,
NUM_VERTICAL_TICKS=AXIS_HEIGHT/VERTICAL_TICK_SPACING,
NUM_HORIZONTAL_TICKS=AXIS_WIDTH/HORIZONTAL_TICK_SPACING,
TICK_WIDTH=10,
TICKS_LINEWIDTH=0.5,
TICKS_COLOR='navy',
AXIS_LINEWIDTH=1.0,
AXIS_COLOR='blue';
//Functions..........................................................
functiondrawGrid(color,stepx,stepy){
context.save()
context.fillStyle='white';
context.fillRect(0,0,context.canvas.width,context.canvas.height);
context.lineWidth=0.5;
context.strokeStyle=color;
for(vari=stepx+0.5;i<context.canvas.width;i+=stepx){
context.beginPath();
context.moveTo(i,0);
context.lineTo(i,context.canvas.height);
context.stroke();
}
for(vari=stepy+0.5;i<context.canvas.height;i+=stepy){
context.beginPath();
context.moveTo(0,i);
context.lineTo(context.canvas.width,i);
context.stroke();
}
context.restore();
}
functiondrawAxes(){
context.save();
context.strokeStyle=AXIS_COLOR;
context.lineWidth=AXIS_LINEWIDTH;
drawHorizontalAxis();
drawVerticalAxis();
context.lineWidth=0.5;
context.lineWidth=TICKS_LINEWIDTH;
context.strokeStyle=TICKS_COLOR;
drawVerticalAxisTicks();
drawHorizontalAxisTicks();
context.restore();
}
functiondrawHorizontalAxis(){
context.beginPath();
context.moveTo(AXIS_ORIGIN.x,AXIS_ORIGIN.y);
context.lineTo(AXIS_RIGHT,AXIS_ORIGIN.y)
context.stroke();
}
functiondrawVerticalAxis(){
context.beginPath();
context.moveTo(AXIS_ORIGIN.x,AXIS_ORIGIN.y);
context.lineTo(AXIS_ORIGIN.x,AXIS_TOP);
context.stroke();
}
functiondrawVerticalAxisTicks(){
vardeltaY;
for(vari=1;i<NUM_VERTICAL_TICKS;++i){
context.beginPath();
if(i%5===0)deltaX=TICK_WIDTH;
elsedeltaX=TICK_WIDTH/2;
context.moveTo(AXIS_ORIGIN.x-deltaX,
AXIS_ORIGIN.y-i*VERTICAL_TICK_SPACING);
context.lineTo(AXIS_ORIGIN.x+deltaX,
AXIS_ORIGIN.y-i*VERTICAL_TICK_SPACING);
context.stroke();
}
}
(){
vardeltaY;
for(vari=1;i<NUM_HORIZONTAL_TICKS;++i){
context.beginPath();
if(i%5===0)deltaY=TICK_WIDTH;
elsedeltaY=TICK_WIDTH/2;
context.moveTo(AXIS_ORIGIN.x+i*HORIZONTAL_TICK_SPACING,
AXIS_ORIGIN.y-deltaY);
context.lineTo(AXIS_ORIGIN.x+i*HORIZONTAL_TICK_SPACING,
AXIS_ORIGIN.y+deltaY);
context.stroke();
}
}
//Initialization................................................
drawGrid('lightgray',10,10);
drawAxes();
</script>
</body>
</html>
Ⅲ 如何使html5 <canvas>
1.现在head设置canvas的背景颜色
2.然后在body里面写<canvas>***</canvas>.中间内容是给不能版支持canvas元素的浏览器权显示用的。
3.然后写js文件,<script type='text/javascript'>
var canvas=document.getElementById(‘canvas’);
var c=canvas.getContext(‘2d’);
接下去就是绘制方法了,详情请网络,,,因为比较多。。。。
Ⅳ 使用HTML5 Canvas 画出以下图形!
<!DOCTYPEHTML>
<html>
<style>
#myCanvas{
width:400px;
height:200px;
}
</style>
<body>
<canvasid="myCanvas"></canvas>
<scripttype="text/javascript">
varcanvas=document.getElementById('myCanvas');
varc=canvas.getContext('2d');
//红色
c.fillStyle='#f00';
c.fillRect(0,0,10,10);
c.fillStyle='#f22';
c.fillRect(0,12,10,10);
c.fillStyle='#f44';
c.fillRect(0,24,10,10);
c.fillStyle='#f88';
c.fillRect(0,36,10,10);
c.fillStyle='#faa';
c.fillRect(0,48,10,10);
c.fillStyle='#fcc';
c.fillRect(0,60,10,10);
c.fillStyle='#fee';
c.fillRect(0,72,10,10);
//紫色
c.fillStyle='#f0a';
c.fillRect(12,0,10,10);
c.fillStyle='#e550a1';
c.fillRect(12,12,10,10);
c.fillStyle='#e960a8';
c.fillRect(12,24,10,10);
c.fillStyle='#ed86db';
c.fillRect(12,36,10,10);
c.fillStyle='#f2a6cd';
c.fillRect(12,48,10,10);
c.fillStyle='#f7c0dd';
c.fillRect(12,60,10,10);
c.fillStyle='#fce2ef';
c.fillRect(12,72,10,10);
</script>
</body>
</html>
Ⅳ html5 canvas绘图有什么用
canvas能做什么?
canvas是HTML5中的新元素,你可以使用javascript用它来绘制图形、图标、以及其它任何视觉性图像。它也可用于创建图片特效和动画。如果你掌握了完整的命令,你可以用canvas创建丰富的web应用程序。如果你想很好的使用canvas,你首先应该很好的掌握javascript。
这篇文章是一篇基础教程,你能了解一些设计方法。比如用HTML5 canvas 进行图形设计。
用HTML5 canvas设计
设计和开发一个web页面会包含很多的内容,用户首先需要有一个支持HTML canvas的浏览器。
首先创建一个HTML5文档页面,设置document type是HTMl5的;
其次在页面body区域添加一个canvas标签:
<canvas></canvas>
第三、给这个canvas定义一个id属性,这样方便我们在js中调用它。添加一个宽和高属性,在canvas标签中添加一个当浏览器不支持的时候显示给用户的内容。下面是列子代码:
<canvas id="canvastest" width="500" height="600">
<p>你的浏览器不支持HTML5 canvas,请更新您的浏览器!</p>
</canvas>
现在我们创建了一个包含HTML5 canvas 元素的空白画布,我们将使用js和canvas元素的方法来创建我们的图像。
添加一个javascript用HTMl5 canvas的方法:
var canvasTest=document.getElementById('canvastest');//获取canvas元素;
var testcontext=canvasTest.getContext('2d');
使用javascript来创建你的画布,你可以使用矩形、圆圈和三角形,并使用线、幻灯片和渐变来创建你的设计。
下面是完成的代码:
var canvasTest=document.getElementById('canvastest');
var testcontext=canvasTest.getContext('2d');
// create rectangle
testcontext.fillStyle='rgb(0,125,125)';
testcontext.fillRect(10,10,250,180);
// create circle
testcontext.beginPath();
testcontext.arc(300, 340, 100, 0, Math.PI * 2, true);
testcontext.closePath();
testcontext.fillStyle='rgb(75,10,125)';
testcontext.fill();
testcontext.stroke();
我们可以将上面的代码加入window.onload,或者jQuery的ready方法里,当文档加载完,将会创建文明的图形。
一些HTML5 canvas 图像解决方案
用与HTML5 Canvas元素你可以开发动态绘图对象比如如可视化信息或数据图。HTML5 canvas 可以在javascript的帮助下很容易的绘制二维图形。让我们来看一下HTML5 canvas元素的一些数据图应用。
1. HumbleFinance
HumbleFinance是用js开发的一个开源的数据可视化图表,它用HTML5 canvas生成可视化图表数据,它可以用一个轴来展示任何两个二维的数据集。
地址: http://www.humblesoftware.com/finance/index
2.Graphr
Graphr是一个用HTML5 canvas写的一个计算器应用,有每个图像计算器应有的基本功能。
地址:http://www.graphr.org/
3.用HTML5和jQuery创建的华丽的动画饼图
你可以用javascript和HTML5来创建一个交互式饼图,有华丽的动画效果。这在之前只能用flash来完成,现在也可以使用最新的HTML5技术了。
地址:http://cyberpython.github.com/AwesomeChartJS/
4. AwesomeJS
AwesomeJS 能够让你创建简单有用的图表,而仅需几行代码即可。这是一个基于HTML5和canvas的javascript库。
地址:http://cyberpython.github.com/AwesomeChartJS/
5.Ticker Plot(股票图)
Ticker Plot(股票图)是每一个在工作是使用图标的web开发人员都必备的一个图表工具。这是一个开源的项目,它使用HTML5 canvas在画布上绘制图形符号和鼠标事件。Ticker Plot(股票图)是专门为股票行情和技术分析设计的。
Ⅵ html5 canvas怎么载入图像
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
var img=new Image()
img.src="flower.png"
image.onload = function(){cxt.drawImage(img,0,0)}
</script>
Ⅶ 如何在HTML5 Canvas 里面显示 Font Awesome 图标
Font Awesome 是一套完美的图标字体,主要目的是和 Bootstrap 搭配使用. 提供的CSS 已经可以完美显示这些图标在网页里面。最新的版本4.3 里面,已经提供519 Icons。 这些图标广泛应用在web应用里面。如何在HTML5 Canvas 里去显示这些图标呢?经过一通学习,终于找到好的方案。 Font Awesome 是一套图标字库,提供了几种矢量字体
TTF或.OTF,适用于Firefox 、Safari、Opera
.EOT,适用于Internet Explorer 4.0+
.SVG,适用于Chrome、IPhone
.WOFF 知用于Chrome、Firefox
但它的内容是用Unicode 做编码的。在当字体显示的时候,我们要先获得图标的Unicode,基本思路是
1. 将Font Awesome 的字体文件拷贝到服务器的字体目录里面
2. 设置Canvas 的字体, ctx.font="12px fontawesome"
3. 调用Canvas API ctx.fillText(text,x,y). 这里text 就是 图标的Unicode。
结果显示的就是Unicode代表的图标了.
其他相关的技巧
1. 如果没有权限或者不想拷贝字体到服务器的字体目录里怎么办?
可以采用动态调用指定文件字体的方法。在程序里动态加载指定目录下的字体文件。
如果不知怎么做?可以使用Font.js,项目在https://github.com/Pomax/Font.js
Ⅷ canvas的HTML5新增标签
定义和用法:
Canvas 对象表示一个 HTML 画布元素 -<canvas>。它没有自己的行为,但是定义了一个 API 支持脚本化客户端绘图操作。
你可以直接在该对象上指定宽度和高度,但是,其大多数功能都可以通过CanvasRenderingContext2D 对象获得。 这是通过 Canvas 对象的getContext() 方法并且把直接量字符串 2d 作为唯一的参数传递给它而获得的。
<canvas> 标记在 Safari 1.3 中引入,在制作此参考页时,它在 Firefox 1.5 和 Opera 9 中也得到了支持。在 IE 中,<canvas> 标记及其 API 可以使用位于excanvas点sourceforge点net的 ExplorerCanvas 开源项目来模拟。
提示:如果希望学习如何使用 <canvas> 来绘制图形,可以访问 Mozilla 提供的Canvas 教程(英文)以及相应的中文 Canvas 教程。 这个 HTML 元素是为了客户端矢量图形而设计的。它自己没有行为,但却把一个绘图 API 展现给客户端 JavaScript 以使脚本能够把想绘制的东西都绘制到一块画布上。
<canvas> 标记由 Apple 在 Safari 1.3 Web 浏览器中引入。对 HTML 的这一根本扩展的原因在于,HTML 在 Safari 中的绘图能力也为 Mac OS X 桌面的 Dashboard 组件所使用,并且 Apple 希望有一种方式在 Dashboard 中支持脚本化的图形。
Firefox 1.5 和 Opera 9 都跟随了 Safari 的引领。这两个浏览器都支持 <canvas> 标记。
我们甚至可以在 IE 中使用 <canvas> 标记,并在 IE 的 VML 支持的基础上用开源的 JavaScript 代码(由 Google 发起)来构建兼容性的画布。
<canvas> 的标准化的努力由一个 Web 浏览器厂商的非正式协会在推进,目前 <canvas> 已经成为 HTML 5 草案中一个正式的标签。 <canvas> 标记和 SVG 以及 VML 之间的一个重要的不同是,<canvas> 有一个基于 JavaScript 的绘图 API,而 SVG 和 VML 使用一个 XML 文档来描述绘图。
这两种方式在功能上是等同的,任何一种都可以用另一种来模拟。从表面上看,它们很不相同,可是,每一种都有强项和弱点。例如,SVG 绘图很容易编辑,只要从其描述中移除元素就行。
要从同一图形的一个 <canvas> 标记中移除元素,往往需要擦掉绘图重新绘制它。 大多数 Canvas 绘图 API 都没有定义在 <canvas> 元素本身上,而是定义在通过画布的getContext() 方法获得的一个“绘图环境”对象上。
Canvas API 也使用了路径的表示法。但是,路径由一系列的方法调用来定义,而不是描述为字母和数字的字符串,比如调用 beginPath() 和 arc() 方法。
一旦定义了路径,其他的方法,如 fill(),都是对此路径操作。绘图环境的各种属性,比如 fillStyle,说明了这些操作如何使用。
注释:Canvas API 非常紧凑的一个原因上它没有对绘制文本提供任何支持。要把文本加入到一个 <canvas> 图形,必须要么自己绘制它再用位图图像合并它,或者在 <canvas> 上方使用 CSS 定位来覆盖 HTML 文本。 height 属性
画布的高度。和一幅图像一样,这个属性可以指定为一个整数像素值或者是窗口高度的百分比。当这个值改变的时候,在该画布上已经完成的任何绘图都会擦除掉。默认值是 300。
width 属性
画布的宽度。和一幅图像一样,这个属性可以指定为一个整数像素值或者是窗口宽度的百分比。当这个值改变的时候,在该画布上已经完成的任何绘图都会擦除掉。默认值是 300。 方法 描述 getContext() 返回一个用于在画布上绘图的环境。 例子
<!DOCTYPE HTML>
<html>
<body>
<canvas id=myCanvas>your browser does not support the canvas tag </canvas>
<script type=text/javascript>
var canvas=document.getElementById('myCanvas');
var ctx=canvas.getContext('2d');
ctx.fillStyle='#FF0000';
ctx.fillRect(0,0,80,100);
</script>
</body>
</html>
Ⅸ 怎样在html5中添加canvas标签
<canvas> 标签是 HTML 5 中的新标签。
定义和用法
<canvas> 标签定义图形,比如图表和其他图像。
<canvas> 标签只是图形容器,您必内须使用脚本来绘制图容形。
实例
通过 canvas 元素来显示一个红色的矩形:
<!DOCTYPEHTML>
<html>
<head>
<scripttype="text/javascript">
varcanvas=document.getElementById('myCanvas');
varctx=canvas.getContext('24d');
ctx.fillStyle='#FF0000';
ctx.fillRect(0,0,80,100);
</script>
</head>
<body>
<canvasid="myCanvas"></canvas>
</body>
</html>