2016-03-24 3 views
0

マスクが保存される前にマスクを削除する必要があります。マスクを透明にする方法は?ファブリック内のマスクを透明にする方法は?

ここに保存機能があります。

$(document).on('click','#btn-save-canvas', function(event) { 


    if (!fabric.Canvas.supports('toDataURL')) { 
     alert('This browser doesn\'t provide means to serialize canvas to an image'); 
    } 
    else { 
     canvas.overlayImage.filters = []; 
     canvas.overlayImage.applyFilters(); 
     canvas.renderAll(); 
     var multi = maskOriWidth/maskWidth;  // Set to original scale 

     window.open(canvas.toDataURL({ 
      format: 'png', 
      multiplier: multi, 
      left: (canvas.width - maskWidth)/2, 
      height: maskOriHeight/multi, 
      width: maskOriWidth/multi 
     })); 
    } 
}); 

答えて

0

私は、これは0opacityを設定することによって行うことができると思います。不透明度を復元するには、opacity1と設定します。

$(document).on('click','#btn-save-canvas', function(event) { 


if (!fabric.Canvas.supports('toDataURL')) { 
    alert('This browser doesn\'t provide means to serialize canvas to an image'); 
} 
else { 
    canvas.overlayImage.filters = []; 
    canvas.overlayImage.applyFilters(); 
    mask.opacity = 0; 
    canvas.renderAll(); 
    var multi = maskOriWidth/maskWidth;  // Set to original scale 

    window.open(canvas.toDataURL({ 
     format: 'png', 
     multiplier: multi, 
     left: (canvas.width - maskWidth)/2, 
     height: maskOriHeight/multi, 
     width: maskOriWidth/multi 
    })); 
    mask.opacity = 1; //Show mask 
    canvas.renderAll(); 
} 
});