39,087
社区成员
发帖
与我相关
我的任务
分享
<!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>
<canvas id="myCanvas" width="578" height="200"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var img = new Image();
img.onload = function() {
canvas.width = this.width;
canvas.height = this.height
context.drawImage(this, 0, 0);
};
img.src = "https://img-bbs.csdn.net/upload/201401/01/1388569023_363812.png"
</script>