fabricjs - 为什么 Fabricjs 中的线条和矩形不匹配
问题描述
线条相距 1px,长 5px,从 (0,0) 开始
矩形是top: 0, left: 0, width: 1, height: 1
我是否缺少线条?
解决方案
strokeWidth
由于对象而获得的填充Rect
,使其为零,它将按预期工作。jsfiddle
演示
var canvas = new fabric.Canvas('c');
var gridLine = function(at, stroke, canvas, length) {
var horizontal = [0, at, length, at];
var vertical = [at, 0, at, length];
let hLine = new fabric.Line(horizontal, {
strokeWidth: 0.02,
stroke,
});
let vLine = new fabric.Line(vertical, {
strokeWidth: 0.02,
stroke,
});
canvas.add(hLine);
canvas.add(vLine);
}
var showGrid = function(fabric) {
var count = 5;
var separationPx = 1;
for (var i = 0; i < count; i++) {
gridLine(i * separationPx, "silver", fabric, count);
}
}
var rect = new fabric.Rect({
top: 0,
left: 0,
width: 1,
height: 1,
fill: "red",
strokeWidth: 0
});
showGrid(canvas);
canvas.add(rect);
canvas.setZoom(50);
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.3.4/fabric.js"></script>
<canvas id="c" width="300" height="300"></canvas>
推荐阅读
- jquery - jQuery 动画滑块无限循环
- python - 使用 Keras 进行布尔标签训练会导致错误“请提供具有相同第一维的数据”
- php - 2020 年 11 月 1 日星期日 00:00:00 GMT+0530(印度标准时间)到 PHP 中的 Ymd
- flutter - 周期性计时器有时会延迟并且不会故意抖动
- python - 我可以在 python 中子类化 dict 并避免复制它的数据吗?
- windows - WinSCP同步时删除两边文件
- javascript - 使用不同的回调多次调用 JS 函数每次只执行最后一个回调
- apache-kafka - 在 Kafka 中,如何将 min.insync.replicas=1 设置为 __consumer_offsets_ 主题?
- flutter - Flutter Web:单击时滚动到特定小部件
- ruby - Ruby PG 连接转换错误