Javascript 使用外部遮罩透明fabricjs遮罩对象

Javascript 使用外部遮罩透明fabricjs遮罩对象,javascript,transparency,fabricjs,mask,Javascript,Transparency,Fabricjs,Mask,我在画布上制作了一个矩形的遮罩,我需要遮罩外的任何东西的不透明度为0.8,因此遮罩外的所有对象都将被视为不透明 请看一下小提琴 这可能会帮助你,不确定你到底想要什么,但这里是小提琴。我使用一个目的地为out的路径 var path = new fabric.Path('M 850,710 H 350 V 120 H 850 Z M 797,170 H 400 V 662 H 797 Z'); path.set({ top: 0, left: 0

我在画布上制作了一个矩形的遮罩,我需要遮罩外的任何东西的不透明度为0.8,因此遮罩外的所有对象都将被视为不透明 请看一下小提琴


这可能会帮助你,不确定你到底想要什么,但这里是小提琴。我使用一个目的地为out的路径

    var path = new fabric.Path('M 850,710 H 350 V 120 H 850 Z M 797,170 H 400 V 662 H 797 Z');

    path.set({
        top: 0,
        left: 0,
        fill:'rgba(255,255,255,0.95)',
        lockMovementX:true,
        lockMovementY:true,
        lockRotation:true,
        lockScalingFlip:true,
        lockScalingX:true,
        lockScalingY:true,
        hasControls: false,
        hasRotatingPoint: false,
        selectable: false,
        evented: false,
        globalCompositeOperation: 'destination-out' 
});

    var path = new fabric.Path('M 850,710 H 350 V 120 H 850 Z M 797,170 H 400 V 662 H 797 Z');

    path.set({
        top: 0,
        left: 0,
        fill:'rgba(255,255,255,0.95)',
        lockMovementX:true,
        lockMovementY:true,
        lockRotation:true,
        lockScalingFlip:true,
        lockScalingX:true,
        lockScalingY:true,
        hasControls: false,
        hasRotatingPoint: false,
        selectable: false,
        evented: false,
        globalCompositeOperation: 'destination-out' 
});