<script type="text/javascript">
window.onload=function(){
var bigcanvas=document.getElementById("bigcanvas");
var bigContext=bigcanvas.getContext("2d");
var mycanvas=document.getElementById("mycanvas");
var mycanvasContext=mycanvas.getContext("2d");
var image=new Image();
image.src="img.jpg";
image.onload=function(){
bigContext.drawImage(image,0,0,bigcanvas.width,bigcanvas.height);
mycanvasContext.drawImage(image,0,0,mycanvas.width,mycanvas.height);
}
var mr=100;
var ismousedown=false;
mycanvas.onmousedown=function(event){
ismousedown=true;
var bbox=mycanvas.getBoundingClientRect();
var minx=event.clientX-bbox.left;
var miny=event.clientY-bbox.top;
//console.log(minx,miny);
var bigx=minx*3;
var bigy=miny*3;
mycanvasContext.clearRect(0,0,mycanvas.width,mycanvas.height);
mycanvasContext.drawImage(image,0,0,mycanvas.width,mycanvas.height);
mycanvasContext.drawImage(bigcanvas,bigx-mr,bigy-mr,200,200,minx-mr,miny-mr,200,200);
}
mycanvas.onmouseup=function(event){
ismousedown=false;
mycanvasContext.clearRect(0,0,mycanvas.width,mycanvas.height);
mycanvasContext.drawImage(image,0,0,mycanvas.width,mycanvas.height);
}
mycanvas.onmouseover=function(event){
ismousedown=false;
}
mycanvas.onmousemove=function(){
if( ismousedown==true){
var bbox=mycanvas.getBoundingClientRect();
var minx=event.clientX-bbox.left;
var miny=event.clientY-bbox.top;
//console.log(minx,miny);
var bigx=minx*3;
var bigy=miny*3;
mycanvasContext.clearRect(0,0,mycanvas.width,mycanvas.height);
mycanvasContext.drawImage(image,0,0,mycanvas.width,mycanvas.height);
mycanvasContext.drawImage(bigcanvas,bigx-mr,bigy-mr,200,200,minx-mr,miny-mr,200,200);
}
}
}
</script>
canvas画圆,保存和取出重点看不懂不懂,这js能详细解释下么?放大镜效果
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- Go 旅城通票 2016-07-24 10:01关注
就是基本的canvas对象操作而已,
getBoundingClientRect
canvas getContext对象方法和属性详细介绍解决 无用评论 打赏 举报
悬赏问题
- ¥15 delta降尺度计算的一些细节,有偿
- ¥15 Arduino红外遥控代码有问题
- ¥15 数值计算离散正交多项式
- ¥30 数值计算均差系数编程
- ¥15 redis-full-check比较 两个集群的数据出错
- ¥15 Matlab编程问题
- ¥15 训练的多模态特征融合模型准确度很低怎么办
- ¥15 kylin启动报错log4j类冲突
- ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
- ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序