亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何解決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

吕梁市| 曲周县| 金昌市| 利川市| 鱼台县| 宁河县| 榆林市| 天水市| 新乡县| 通许县| 淳安县| 芷江| 壤塘县| 仁化县| 太仓市| 库尔勒市| 奉化市| 张家界市| 吕梁市| 荣成市| 长白| 红桥区| 定南县| 梅州市| 雷波县| 读书| 平定县| 靖安县| 汕尾市| 湘乡市| 乐业县| 台山市| 海伦市| 汉阴县| 陆丰市| 勃利县| 芜湖市| 贺兰县| 惠州市| 读书| 民权县|