[英]Fabric.js canvas selection location incorrect
我正在制作一個網頁,我需要能夠使用 cursor 在 canvas 上繪制矩形。 我正在使用 Fabric.js 創建和操作 canvas。
我遇到的問題是,在 canvas 上選擇時,選擇並不完全在 cursor position 上。 這導致在所需位置上繪制矩形非常困難。
這是一個最小的繁殖示例:
<html>
<head>
<style>
#image_canvas {
border: 10px solid #efefef;
}
</style>
</head>
<body>
<canvas id="image_canvas"></canvas>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/4.1.0/fabric.min.js"></script>
<script>
var canvas;
$(document).ready(function () {
canvas = new fabric.Canvas("image_canvas");
});
</script>
</body>
</html>
https://jsfiddle.net/0uc6rLhg/
如果有人能告訴我我做錯了什么(或者我沒有做什么),我會非常高興!
如您所見,不需要的偏移量與您為 canvas 選擇的邊框尺寸可疑地相似,對吧? 似乎它用於 Fabric lib 中 canvas 坐標的計算。 因此,我建議您不要在 canvas 元素上放置任何邊框。 如果你真的想要一個邊框,只需用另一個 div 包裹你的 canvas 並在那里放一個邊框。 問題解決了。
.canvas-wrapper {
border: 10px solid #efefef;
display: inline-block;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.