2016-11-07 25 views
0

我使用FabricJS和文字陰影偏移不適用,因爲它是在畫布上呈現圖像時顯示的。如何在FabricJS中導入畫布圖像時縮放文字陰影偏移量?

在畫布上的文字顯示如下

enter image description here

但節約畫布圖像顯示它,具體如下。

enter image description here

的陰影偏移得到了降低。

我的陰影補償功能如下

function textShadowOffsetChange() { 
    var val = $('#text-shadow-offset-slider').slider('option','value'); 
    if(document.getElementById("text-shadow-set").checked && isText()) { 
     currentElement.setShadow({ 
      color: '#000', 
      blur: 5, 
      offsetX: val, 
      offsetY: val 
     }); 
     canvas.renderAll(); 
    } 
} 

我瘦出現這種情況與節能功能。因爲我使用倍數並在保存時縮放圖像。我的保存功能如下?

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

我認爲乘數不影響陰影偏移。我如何解決這個問題?

Sample Fiddle

+0

你可以請一個笨蛋或jsfiddle在行動中看到它? – janusz

+0

@janusz http://codepen.io/isurufit/pen/woKWzw – isuru

回答

0

看起來已經被固定在1.6.6版本中Fabric.JS的錯誤。只要更新至v1.6.6,它做工精細,在這裏看到:http://codepen.io/anon/pen/aBvpaK

他們似乎已經改變了v1.6.6畫布構造函數,因此,現在它得到這樣的DOM元素的引用:

var canvas = new fabric.Canvas(document.getElementById('c'));