我想用fabric.js自由繪製形狀。例如,大綱是20px(這樣用戶可以清楚地看到它)。fabric.js:如何用筆畫製作獨特,透明的形狀?
用戶繪製完畢後,應該用與輪廓相同的顏色填充形狀。
整件事應該是半透明的。不幸的是,這會導致輪廓和填充之間的重疊變得不那麼透明,併爲該形狀繪製一個奇怪的「內部輪廓」。
有沒有辦法讓形狀獨特的半透明?
也許一個技巧是:在用戶繪製完形狀之後,將該形狀「加寬」輪廓厚度的一半並將輪廓厚度設置爲1.這樣做有可能嗎?
查看此https://jsfiddle.net/4ypdwe9o/或以下爲例。
var canvas = new fabric.Canvas('c', {
isDrawingMode: true,
});
canvas.freeDrawingBrush.width = 10;
canvas.freeDrawingBrush.color = 'rgb(255, 0, 0)';
canvas.on('mouse:up', function() {
canvas.getObjects().forEach(o => {
o.fill = 'rgb(255, 0, 0)';
o.opacity = 0.5;
});
canvas.renderAll();
})
canvas {
border: 1px solid #ccc;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.6.3/fabric.js"></script>
<canvas id="c" width="600" height="600"></canvas>
謝謝,我認爲是一樣的,但通過這種方式,輪廓消失後形狀繪製(筆畫α0)。這看起來像形狀比用戶想要的「小」。 –