我在使用Spark:Path在Flex中繪製路徑。減去(遮罩?)一個圓形的路徑
我想從這個路徑減去一個圓形,如下圖所示:
(路徑爲黑色和寬)
任何想法?
我嘗試使用Shape對象創建一個遮罩,但無法完全設法創建一個具有圓孔的遮罩。
我在使用Spark:Path在Flex中繪製路徑。減去(遮罩?)一個圓形的路徑
我想從這個路徑減去一個圓形,如下圖所示:
(路徑爲黑色和寬)
任何想法?
我嘗試使用Shape對象創建一個遮罩,但無法完全設法創建一個具有圓孔的遮罩。
找到它。
不涉及任何口罩。
我把Path
和包裹Group
周圍:
<s:Group blendMode="layer">
<s:Path id="connector" ... />
<s:Ellipse id="hole" blendMode="erase">
我設置blendMode
爲「層」和後添加一個橢圓用的BlendMode路徑erase
你並不需要使用這種面膜,只需使用Graphics類的curveTo()
方法:
var shape1:Shape = new Shape();
shape1.graphics.beginFill(0x000000);
shape1.graphics.moveTo(0,0);
shape1.graphics.lineTo(80,0);
shape1.graphics.curveTo(110,30,140,0);
shape1.graphics.lineTo(300,0);
shape1.graphics.lineTo(300,20);
shape1.graphics.lineTo(0,20);
shape1.graphics.lineTo(0,0);
shape1.graphics.endFill();
它給你:
這顯然不是使用你的確切尺寸,但是展示了原理。
我不畫與形狀 - 我只是想掩蓋它。我的路徑對象是一個Spark:Path,它需要是一個Spark:Path,因爲我要爲它添加過濾器等等。所以我有了這個Path對象,我想在這個對象中以圓形形狀「咬」 。希望現在更清楚。 – 2012-04-05 14:01:37
@gigantt - 我不太確定任何有關Flex的細節,但更籠統地說,您仍然可以使用上面的代碼,使用Path的尺寸來設置形狀的尺寸。然後將此形狀作爲蒙版應用於您的路徑。希望這也適用於Spark:Path。 – shanethehat 2012-04-05 14:12:01
不錯的flex-y解決方案。 – shanethehat 2012-04-05 14:26:34
今天我學到了一些新東西。不知道這些混合模式。 – RIAstar 2012-04-05 14:35:13