婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > canvas 繪圖時位置偏離的問題解決

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

熱門標簽:機器人外呼系統存在哪些能力 高德地圖標注地點糾錯 只辦理400電話 電話機器人黑斑馬免費 南昌仁和怎么申請開通400電話 平涼地圖標注位置怎么弄 電話機器人電銷系統掙話費 拓展地圖標注 如何獲取地圖標注客戶

使用 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) {
            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 style="margin:20%">
            <div id="test" style="width:800px;height:800px;background-color:#cbdad0d9">
                    <canvas id="container" onmousemove="mousemove(event)" onmousedown="mousedown()" onmouseup="mouseup()"></canvas>
            </div>
    </div>

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

到此這篇關于canvas 繪圖時位置偏離的問題解決的文章就介紹到這了,更多相關canvas 繪圖位置偏離內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

標簽:池州 棗莊 西藏 青島 新疆 遼源 永州 漯河

巨人網絡通訊聲明:本文標題《canvas 繪圖時位置偏離的問題解決》,本文關鍵詞  canvas,繪圖,時,位置,偏離,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《canvas 繪圖時位置偏離的問題解決》相關的同類信息!
  • 本頁收集關于canvas 繪圖時位置偏離的問題解決的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 沾化县| 含山县| 那坡县| 朝阳市| 神池县| 九寨沟县| 宝应县| 吕梁市| 廊坊市| 青州市| 岐山县| 泗水县| 利辛县| 浦北县| 双桥区| 阳信县| 瑞安市| 涡阳县| 广东省| 莒南县| 静宁县| 海盐县| 武定县| 伽师县| 林口县| 辽宁省| 来安县| 乐业县| 商丘市| 清原| 通山县| 德清县| 肥乡县| 县级市| 沾益县| 克拉玛依市| 民和| 亚东县| 香港 | 瓮安县| 安康市|