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)。形状のようなこの外観は、ユーザが意図したものよりも「小さい」。 –