互联网技术 · 2024年2月8日

解决canvas绘图位置偏移问题

这篇文章主要介绍了canvas 绘图时位置偏离的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

例如

<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>Untitled 1</title>
<style type=”text/css”>
.style1 {
  font-size: x-small;
}
</style>

</head>
 
<body >
    <div style=”margin:2%”>
            <div id=”test” style=”width:800px;height:800px;background-color:#cbdad0d9″>
                    <canvas id=”container” onmousemove=”mousemove(event)” onmousedown=”mousedown()” onmouseup=”mouseup()”></canvas>
            </div>
    </div>
   
    <script type=”text/javascript”>
        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) {
     &nbsp

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.