首页 > 解决方案 > Fabric.js:如何删除填充和格式选择框?(缩放后填充仍然存在)

问题描述

我正在尝试格式化选择边框样式,使其看起来像inkscape(图像左侧)。我试图用这个将对象填充设置为零:

fabric.Object.prototype.set({
    padding: 0,
});

如果我放大这会更明显,并且填充会增加。

示例:左侧inkscape选择框样式,右侧实际fabric.js选择框

我怎样才能删除填充?

这是jsFiddle

标签: fabricjs

解决方案


那是因为笔画宽度,设置strokeWidth:0为对象。

演示

var canvas = window.__canvas = new fabric.Canvas('canvas');
 
var rect = new fabric.Rect({left: 10, top: 10,strokeWidth:0, width: 60, height: 60, fill: 'blue'});

rect.editable = true;
rect.customType = 'shape';
rect.describtion = 'fabric.js rect object';
rect.cornerColor = 'red';
rect.borderColor = 'red';
rect.cornerSize = 8;
rect.padding = 0;

canvas.add(rect);
canvas.setActiveObject(rect);
canvas.setZoom(20);
canvas{
 border:2px solid #000;
}
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.js"></script>
<canvas id="canvas" width="400" height="400"></canvas> 


推荐阅读