有关html中的canvas标签

先将自己的代码贴上:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML>
<html>
  <head>
    
    <title>My JSP 'showCT.jsp' starting page</title>
    <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
	<script type="text/javascript">
		$(document).ready(function(){
			/*var image = new Image();
			image.src = "/patientHologram/1.2.276.0.7230010.3.1.2.131151856.1900.1409927392.49";
			var view = $('#CT_view')[0];
			var context = view.getContext('2d');
			var imgd = context.createImageData(100,100);
			var pix = imgd.data;
			for(var i=0;i<pix.length;i+=4){
				var pos = Math.floor(i/4);
				var grey = raw_data[pos];
				pix[i] = p[i+1] = pix[i+3] = grey;
				pix[i+3] = 255;
			}
			context.putImageData(imgd,0,0);
			context.drawImage(image,10,10);*/
			
			var canvas = $('#CT_view')[0];
			var context = canvas.getContext('2d');
			var image = new Image();
			image.onload = function(){
				if(image.width != canvas.width){
					canvas.width = image.width;
				}
				if(image.height != canvas.width){
					canvas.height = image.height;
				}
				context.clearRect(0,0,canvas.width,canvas.height);
				context.drawImage(image,0,0);
				
			};
			image.src = "images/huanzh_07.png";
		});
	</script>
  </head>
  
  <body>

    This is my JSP page. <br>
    <div>
    	  <img src="images/huanzh_07.png" alt="xxxx">
    </div>
	<canvas id="CT_view" width="300" height="200" >
	Fallback content ,in case the browser does not support Canvas
	</canvas>

</body>
</html> 

另外在附上一个较为复杂的实例:

<!DOCTYPE html>
<html>
	<head>
		<title>地图编辑页面</title>
		<style type="text/css">
			#info{width:500px;}
		</style>
	</head>
	<body>
		<div style="height:20px;background:#cccccc;border:solid 1px #00ffff">
			这里保留待用
		</div>
		<img id="my_img" src="" alt="图片加载中..." style="z-index:-1;position:absolute;top:32px;border:solid 1px #ff0000" />
		<!--故意设置canvas的背景颜色,用于调试-->
		<canvas id="canvas" style="z-index:1;position:absolute;top:32px;border:solid 1px #ff99cc">
			当前浏览器不支持Html5的canvas
		</canvas>
		<script type="text/javascript">
			/**函数:设置img*参数(图片路径,回调函数)*/
			function setImg(imgUrl,callback) {
				var my_img=document.getElementById('my_img');
				my_img.src=imgUrl;
				if(my_img.complete) {
					callback.call(my_img);
					return my_img; //可以直接return;
				}
				my_img.onload = function () {
					callback.call(my_img);
				}; 
			}
			/**函数:初始化canvas和img*/
			function init() {
				var canvas=document.getElementById("canvas");
				var ctx=canvas.getContext("2d"); 
				var arrRec=new Array();
				arrRec=getWH();
				/*以下两行,为了调试,所以注释起来*/
				//canvas.style.width=(parseInt(arrRec[0])+2).toString()+"px";
				//canvas.style.height=(parseInt(arrRec[1])+2).toString()+"px";
				setImg(getImgUrl(),function() {
					ctx.drawImage(this,0,0,parseInt(arrRec[0]),parseInt(arrRec[1]),0,0,parseInt(arrRec[0]),parseInt(arrRec[1]));
				});
				canvas.style.left="920px"; //这一句是调试零时增加的
			}
			/**函数:从url中获取宽和高*/
			function getWH() {
				var flag=true;
				var url=location.search;
				/*从url中获取宽和高的正则*/
				var strTemp=url.match(/width=[\d]{1,4}[\&]height=[\d]{1,4}(?=[\&])/g);
				var strRep;
				var arrRet=new Array();
				if(strTemp==null) {
					flag=false;
				}
				else{
					strRep=strTemp[0].replace('width=','');
					strRep=strRep.replace('height=','');
					arrRet=strRep.split('&');
				}
				if(flag!=true) {
					arrRet=new Array("1","1");
				}
				return arrRet;
			}
			/**函数:得到url*/
			function getImgUrl() {
				return "http://api.map.baidu.com/staticimage"+location.search;
			}
			init(); //初始化
		</script>
	</body>
</html>

代码引用自:http://bbs.csdn.net/topics/390683634



上述代码仅仅是将一个图片放在canvas画板中显示出来,其实还可以将图片按照多种风格去显示。

下面对canvas的详解:

http://www.cnblogs.com/jscode/archive/2013/02/26/3568788.html

http://blog.csdn.net/liwei3gjob/article/details/8989920

http://blog.csdn.net/coding_or_coded/article/details/7055858



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值