html5中在canvas上绘图

canvas是通过JavaScript控制的,而且其大小必须在绘制的时候就确定大小,不能再通过控制或改变canvas元素的大小

//html代码
<canvas id="my_canvas" width="150" height="150">
	fallback content here
</canvas>

//js代码
//通过JavaScript查看浏览器是否支持canvas元素
var canvas=document.getElement(‘my_canvas‘);
//先通过id属性获得canvas,看浏览器支持canvas的getContext方法
if(canvas.getContext){
	//2d的意思表示创建的是一个风格,左上角是坐标原点
	var context=canvas.getContext("2d");
	//设置图形的颜色为红色
	canvas.fillStyle="rgb(200,0,0)";
	//设置图形的起点坐标X\Y,长和宽,下面画的是一个起点是(10,10)长和宽都是100的正方形
	canvas.fillRect(10,10,100,100);
	//向画布中加入文字
	context.font=‘italic 40px sans-serif‘;
	context.textBaseline=‘top‘;
	context.fillText(‘AwesomeCo‘,60,0);
	//在canvas中绘制线条
	context.lineWidth=2;
	context.beginPath();
	//画四个点
	context.moveTo(0,40);
	context.lineTo(30,0);
	context.lineTo(60,40);
	context.lineTo(285,40);
	//只有使用了stroke方法才能画出线来
	context.stroke();
	context.closePath();
	//移动画板原点
	//在移动原点前要先使用save()方法保留原点,以便恢复时使用,设置为还原点,还原点是以栈的结构存储
        //恢复时可以通过restore()恢复到栈最上面的还原点
	context.save();
	//移动到新的原点,并画一个正方形
	context.translate(20,20);
	context.fillRect(0,0,20,20);
	//绘制三角形
	//要先给画笔上色
	context.fillStyle=‘#fff‘;//注意到给画笔上色的两种方法可以使用rgb(a,b,c)也可以使用‘#abc’样式
	//strokeStyle可以用来设置图形轮廓的颜色
	context.strokeStyle=‘#fff‘;

	context.lineWidth=2;
	context.beginPath();
	context.moveTo(0,20);
	context.lineTo(10,0);
	context.lineTo(20,20);
	context.lineTo(0,20);
	context.fill();
	context.closePath();
	context.restore();
}else{
	//如果浏览器不支持canvas则此处应用来显示替代canvas的文本内容
}
 
知识点扩充:
比较stroke与fill,strokeStyle与fillStyle的区别
stroke:线条,外形,轮廓
fill:封闭图形的内部
在使用stroke及fill时都要先使用
context.lineWidth=;
context.beginPath()
/**/
/**/
context.closePath();
 
stroke中的/**/内容为
context.strokeSytle=;
context.stroke();
为所画的内容画线条
 
fill中的/**/内容为
context.fillStyle=;
context.fill();
当所画的图形为封闭图形时,画笔会自动上色并且全部显示出来
 
这两个方法也可能同时使用
 
 
时间: 2024-10-13 07:52:15

html5中在canvas上绘图的相关文章

HTML5中的&lt;canvas&gt;画布:使用canvas元素在网页上绘制四分之一圆(3)

前几天自己做了个四分之一的圆,放到手机里面测试.效果不是很好.于是今天通过查资料,找到了canvas.自己研究了一天,发现可以使用canvas画圆.代码如下: 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 7 </head> 8 <body&g

HTML5中的&lt;canvas&gt;画布:使用canvas元素在网页上绘制线条和圆(1)

什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以及添加图像的方法. 创建 Canvas 元素 向 HTML5 页面添加 canvas 元素. 规定元素的 id.宽度和高度: 1 <canvas id="myCanvas" width="200" height="100"></ca

HTML5中的canvas基本概念及绘图

* Canvas(画布) * 基本内容 * 简单来说,HTML5提供的新元素<canvas> * Canvas在HTML页面提供画布的功能 * 在画布中绘制各种图形 * Canvas绘制的图形与HTML页面无关 * 无法通过DOM获取绘制的图形 * 无法为绘制的图形绑定DOM事件 * 只能使用Canvas提供的API * Canvas用途 * 在HTML页面中绘制图表(例如柱状图.饼状图等) * 网页游戏 - Flash技术 * 使用HTML5中的Canvas * 如何使用Canvas * 在

HTML5中的&lt;canvas&gt;画布:简单介绍(0)

<canvas> 标签是 HTML 5 中的新标签,像所有的dom对象一样它有自己本身的属性.方法和事件, 其中就有绘图的方法,js能够调用它来进行绘图 ,最近在研读<html5与css3权威指南>下面对其中最好玩的canvas的学习做下读书笔记与实 验.温馨提示:以下所有实验请使用最新版的opera,火狐. 定义: <canvas> 标签定义图形,比如图表和其他图像. <canvas> 标签只是图形容器,您必须使用脚本(javascript)来绘制图形.

用html5中的canvas写的时钟

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8&

第七讲:HTML5中的canvas两个小球全然弹性碰撞

<html> <head> <title>小球之间的碰撞(全然弹性碰撞)</title> <script src="../js/jscex.jscexRequire.min.js" type="text/javascript"></script> </head> <body> <canvas id="mc" width="1200px&

HTML5中的 Canvas

什么是Canvas? Canvas元素是HTML5的一部分,允许脚本语言动态渲染位图像.Canvas由一个可绘制地区HTML代码中的属性定义决定高度和宽度.JavaScript代码可以访问该地区,通过一套完整的绘图功能类似于其他通用二维的API,从而生成动态的图形. 我们可以用Canvas做以下: 1. 游戏:毫无疑问,游戏在HTML5领域具有举足轻重的地位.HTML5在基于Web的图像显示方面比Flash更加立体.更加精巧,运用Canvas制作的图像能够令HTML5游戏在流畅度和跨平台方面发挥

HTML5 中的 canvas 画布

---恢复内容开始--- 在HTML5中新添加的元素,canvas 现在支持 IE9+的版本 注意:HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成. <canvas> 标签只是图形容器,您必须使用脚本来绘制图形. 在使用canvas之前应该给用户说明必须是ie9+的版本,否则不支持. 绘制简单的直线 1.先获取画布 var canvas = document.getElementById('canvas'); 2.配置绘制的环境 v

操作 HTML5 中的 Canvas 绘制图形

测试 http://literallycanvas.com/ 以 Chrome Driver 为例阐述,通过 Actions 在 Canvas 上绘制一个封闭图形.对于 Canvas 上的操作,推荐 Chrome Driver 或 Firefox Driver 示例: package com.learningselenium.html5; import org.junit.After; import org.junit.Before; import org.junit.Test; import