canvas在绘图时位置偏离怎么办

这篇文章主要介绍了canvas在绘图时位置偏离怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

成都创新互联公司专注于企业全网整合营销推广、网站重做改版、姜堰网站定制设计、自适应品牌网站建设、H5网站设计购物商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为姜堰等各大城市提供网站开发制作服务。

使用 canvas 绘图时,指定的 div 大小一定不要超过该 div 所能获得的最大范围,否则绘制的点会跟实际位置发生偏离。

例如

 
 
 
Untitled 1 
 
.style1 { 
  font-size: x-small; 
} 
 

 
 
 
    
            
                    
            
    
                   var paint = false;         var start = false;         var canvas = document.getElementById("container");         canvas.width = 800;         canvas.height = 800;         var offsetY = canvas.offsetTop;         var offsetX = canvas.offsetLeft;         var y;         var x;         var context = canvas.getContext("2d");              function mousemove(e) {             if (paint == true){                 if (start == false){                     context.moveTo(0, 0);                     start = true;                 } else {                     context.moveTo(x, y);                 }                 x = e.pageX - offsetX;                 y = e.pageY - offsetY;                 context.lineTo(x, y);                 context.stroke();             }         }              function mousedown(event) {             paint = true;             console.log("down")         }              function mouseup(event) {             paint = false;             console.log("up")         }            

上例中可以正确的绘制线图。

如果更改为:


            
                    
            
    

由于 canvas 所需 width 800px 无法满足,因此绘制线图时,与实际鼠标位置发生偏离。

感谢你能够认真阅读完这篇文章,希望小编分享的“canvas在绘图时位置偏离怎么办”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


网站标题:canvas在绘图时位置偏离怎么办
URL标题:http://abwzjs.com/article/jdeoeg.html

其他资讯