2011-02-02 9 views
0

所以我搞亂了JSFL,並且我想將存儲設置爲None。這應該是這樣做的:JSFL setCustomStroke無法使用stroke.style =「noStroke」

var stroke = fl.getDocumentDOM().getCustomStroke("toolbar"); 
stroke.style = "noStroke"; 
fl.getDocumentDOM().setCustomStroke(stroke); 

但是,這是行不通的。

做相應的事情填充工作! (我已經與填充不麻煩!)

如果我手動設置storke爲「無」工具欄中的(使用顏色選擇器),然後執行此:

var stroke = fl.getDocumentDOM().getCustomStroke("toolbar"); 
stroke.style = "solid"; 
stroke.color = "#0066ff"; 
fl.getDocumentDOM().setCustomStroke(stroke); 

我得到一個具有aRGB值的穩定存儲:00 00 00 00(0 alpha,0 red,0 green,0 blue)。 (通常不可能使用顏色工具欄)

如果我再次執行該命令,我會得到正確的筆畫顏色! (如果我有任何正常的純色,它也可以工作。如果筆畫是漸變或位圖,則什麼也不會發生)。

正如我所提到的,在設置填充物時一直沒有問題。只有筆畫。

回答

2

我也遇到過這個不允許你設置「noStroke」的bug。不過,我發現了一種解決方法。交換筆畫並填充,然後將填充設置爲「noFill」並換回。像這樣:

var dom = fl.getDocumentDOM(); 
dom.swapStrokeAndFill(); 
var tempFill = dom.getCustomFill("toolbar"); 
tempFill.style = "noFill"; 
dom.setCustomFill(tempFill); 
dom.swapStrokeAndFill(); 
+0

太棒了!謝謝! – RasmusWL 2011-03-08 21:04:43

1

實際上,您可以將值設置爲「null」,並且它會將顏色設置爲無顏色。

1

似乎只有當mystroke.style="solid"並沒有其他屬性時,setCustomStroke(mystroke)纔將stroke設置爲none。您無需使用getCustomStroke即可獲得mystroke。它可以是隻有一個屬性style設置爲solid的通用對象。

var mystroke=new Object(); 
mystroke.style="solid"; 
fl.getDocumentDOM().setCustomStroke(mystroke);