为了账号安全,请及时绑定邮箱和手机立即绑定

大神来看看canvas吧

大神来看看canvas吧

西兰花伟大炮 2017-03-04 18:06:29
<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title></title> </head> <body> <canvas id="canvas" style="border: 3px solid #eeeeee; margin: 20px auto; display: block "> </canvas> </body> <script>     var canvas = document.getElementById("canvas");     var context = canvas.getContext("2d");              var image = new Image();     image.src = "img/1.jpg";     canvas.height = 600;     canvas.width = 1000;               image.onload = function () {         point = {x:500,y:300};         drawimgByScale(point);                           function windowToCanvas(x,y){             var bbox = canvas.getBoundingClientRect();             return{x:x-bbox.left,y:y-bbox.top};         }                  canvas.onclick = function (e) {         e.preventDefault();         var point = windowToCanvas(e.clientX, e.clientY);         drawimgByScale(point);         console.log(point.x,point.y);     };     };                    function drawimgByScale(point){         //图片被拉伸后的宽高         var canvasimgwidth = image.width;         var canvasimgheight = image.height;         if(point.x > canvas.width/2){             var dx = canvas.width - canvasimgwidth/2 - point.x ;         }else{             var dx = canvas.width/2 - canvasimgwidth/2 + (canvas.width/2 - point.x);         }         if(point.y > canvas.height/2){             var dy = canvas.height - canvasimgheight/2 - point.y;         }else{             var dy = canvas.height/2 - canvasimgheight/2 + (canvas.height/2 - point.y);         }                                    context.clearRect(0,0,canvas.width,canvas.height);         context.drawImage(image,dx,dy,canvasimgwidth,canvasimgheight);     } </script> </html>图片是比CANVAS的宽高大的,我想点击的时候,被点击的位置来到canvas的中心,但是现在明显没有居中。类似百度地图那样,点击了的地方就会居中
查看完整描述

1 回答

已采纳
?
心有猛虎_细嗅蔷薇

TA贡献119条经验 获得超250个赞

哈哈 我也解决不了 不如你联系联系波波老师,看他能不能给你个回复~~ 祝君好运

查看完整回答
反对 回复 2017-03-05
  • 1 回答
  • 0 关注
  • 1053 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信