91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決canvas繪圖位置偏離的問題

發布時間:2022-02-23 15:44:56 來源:億速云 閱讀:246 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“如何解決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 >
            <div id="test" >
                    <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) {
            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")
        }
    
    </script>
</body>  </html>

上例中可以正確的繪制線圖。

如果更改為:

    <div >
            <div id="test" >
                    <canvas id="container" onmousemove="mousemove(event)" onmousedown="mousedown()" onmouseup="mouseup()"></canvas>
            </div>
    </div>

由于 canvas 所需 width 800px 無法滿足,因此繪制線圖時,與實際鼠標位置發生偏離。

讀到這里,這篇“如何解決canvas繪圖位置偏離的問題”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大化| 德令哈市| 襄汾县| 旬阳县| 井陉县| 股票| 五指山市| 洛川县| 博客| 潮州市| 镇赉县| 阿克陶县| 廉江市| 静海县| 进贤县| 汽车| 竹山县| 玉树县| 灌南县| 辛集市| 阿拉善右旗| 波密县| 建昌县| 沐川县| 大方县| 安陆市| 陆川县| 湖口县| 清新县| 富锦市| 子洲县| 陆川县| 荆门市| 泾源县| 那坡县| 巴中市| 鹤庆县| 云和县| 义乌市| 西和县| 冀州市|