Canvas实现拖拽放大镜
来源:互联网 发布:软件安全在线检测 编辑:程序博客网 时间:2024/06/05 03:39
<!DOCTYPE html>
<html>
<head lang="en“>
<title></title>
<canvas id="canvas" style="display:block;margin:0;auto:border:1px; solid #aaa;" >
</canvas>
<input type="range" id="scale-range" min="0.5" max="3.0: value="1.0" style="display:block;margin:20px;width:800px>
<script type="text /javascript">
var canvas=document.getElementById("canvas");
var context=canvas.getContext("2d");
var slider=document.getElementById("range");
var scale=slider.value();
canvas.width=1080;
canvas.height=600;l
var image=new Image();
image.src=""bg.jpg;
image.onload=function(){
context.drawImage(image,0,0,canvas.width,canvas.height);
slider.onmousemove=function(){
scale=slider.value;
drawImageByScale(scale)
context.drawImage(image,0,0,canvas.width,canvas.height);
}
function drawImageByScale(scale){
var imageWidth=1080*scale;
var imageHeight=canvas.height*scale;
var x=canvas.width/2-imagewIdth/2;
var y=canvas.height/2-imageHeight/2;
context.clearRect(0,0,canvas.width,canvas.height);
context.drawImage(image,x,y,imageWidth,imgeHeight);
}
<!--
1设置canvase的高宽
2载入图片到canvas对象上
3绑定拖拽时间
mousedows\mousemove\moseup\moueout
获取另外一张图片指定的部分徒刑,获取会在到当前的canvas画布上
4放大
绘制放大镜,获取另外一张图片指定的部分图形。
-->
}
</script>
<script type="text/javaxcrpt">
windows.onload=function(){
var canvas=docment.getElementById("canvas");
var context=canvas.getContext("2d");
canvas.width=1088;
canvas.height=620;
var image=new Image();
image.src="bg.jpg";
var isMouse
image.onload=function(){
offCanvas.width=image.height;
scale=offCanvas.width/canvas.width;
context.drawImage(image,0,0,canvas.width,canvas.height);
offC ontext.drawImage(iamge,0,0,offCanvas.width,offCanvas.height);
if(isMouseDown){
point=windowToCanvas(e.clientX,e.clientY);
}
function windowsToCanvas(x, y){\
var bbox=canvas.getBoundingClietnRect();
return {x:x-bbox.left,y:y-bbox.top};
}
}
function drawCanvasWidthManifier(isShow ,point ){
if(isShow){\
drawMangifier(point);
}
}
function drawMngifier(point){
var mr=200;
var imageFlg_cx=point.x*scale;
var imageFlg_cy=point.y*scale;
var sx=imageLg_cx-mr;
var dx=point.x-mr;
var dy=point.y-mr;
context.save();
context.lineWidth=5;
context.strokeStyle="fff";
context.beginPath();
context.arc();
context.arc(point.x,point.y,mr,0,Math.PI*2,false);
cont.stroke();
context.clip();
context.drawImage(offCanvas,sx,sy,2*mr,2*mr,dx,dy,2*mr,2*mr);\
}
canvas.onmousedown=function(){e.preventDefault();
isMouseDown=true;
drawCanvasWidthManifier(false);
}
}
var canvas=docment.getElementById("canvas");
var context=canvas.getContext("2d");
console.log(canvas);
</script>
</html>
- Canvas实现拖拽放大镜
- canvas实现放大镜功能
- Canvas实现放大镜效果
- canvas实现放大镜效果
- 【HTML5】Canvas 实现放大镜效果
- canvas实现放大镜查看图片
- canvas放大镜
- canvas 放大镜
- canvas 放大镜
- Canvas放大镜效果
- canvas-图像放大镜
- canvas图像放大镜效果
- Html5 canvas学习6-放大镜
- 离屏Canvas——制作放大镜效果
- html5--用canvas做个放大镜
- canvas系列-图片处理(五)放大镜
- Android放大镜的实现
- Android放大镜的实现
- new operator,operator new and replacement new
- PE 301 Nim (Nim博弈)
- leetcode 404 Sum of Left Leaves C++
- 最大连续字段和
- “Microsoft Office Professional Plus 2010在安装中出错”解决办法
- Canvas实现拖拽放大镜
- 回归
- JavaScript 鼠标划入划出
- 折半插入排序,插入排序
- Python学习笔记--正则表达式篇
- 破解中国电商未来新趋势 看唯品会如何顺势而为?
- Git merge 合并分区详解
- WebView 的使用及小知识点
- JavaScript 网页加载