我想在 flex 中的画布组件周围创建一个阴影。从技术上讲,它不会是阴影,因为我希望它环绕组件,使组件具有浮动外观。我也许可以用发光来做到这一点,但任何人都可以放弃一两行已经做过的人吗?
提前致谢。
我想在 flex 中的画布组件周围创建一个阴影。从技术上讲,它不会是阴影,因为我希望它环绕组件,使组件具有浮动外观。我也许可以用发光来做到这一点,但任何人都可以放弃一两行已经做过的人吗?
提前致谢。
我实际上通过这样做解决了它:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
width="780" height="100%" borderStyle="solid" borderColor="gray"
creationComplete="init();" backgroundColor="white">
<mx:Script>
<![CDATA[
import mx.styles.StyleManager;
private function init():void {
var glow:GlowFilter = new GlowFilter();
glow.color = StyleManager.getColorName("gray");
glow.alpha = 0.8;
glow.blurX = 4;
glow.blurY = 4;
glow.strength = 6;
glow.quality = BitmapFilterQuality.HIGH;
this.filters = [glow];
}
]]>
</mx:Script>
</mx:Canvas>
您可以使用DropShadowFilter
,但它看起来或多或少是一样的:
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
width="780" height="100%" borderStyle="solid" borderColor="gray"
creationComplete="init();" backgroundColor="white" dropShadowEnabled="true">
<mx:filters>
<mx:DropShadowFilter
quality="1"
color="gray"
alpha="0.8"
distance="0"
blurX="4"
blurY="4"
strength="6"
/>
</mx:filters>
</mx:Canvas>
在 flex 4 中,我使用以下内容。我只是想发布这个,因为过滤器属性应该如下图所示。(是的,我知道我在 mx 对象上使用火花过滤器)
<fx:Declarations>
<s:GlowFilter
id="glowBlack"
alpha=".6"
color="0x000000"
inner="false"
blurX="10"
blurY="10"
quality = "2"
/>
<mx:Image id="rssIcon"
height="70"
filters="{[glowBlack]}"
source="assets/rss/icon_rss.png"
styleName="rssIconStyle"
width="70"
scaleContent="true"
click="openRssSite(event)"
"/>
如果你想在画布之外定义它,你可以这样做:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
width="780" height="100%">
<mx:Canvas filters="[dropShadow]" width="200" height="200" backgroundColor="white"/>
<mx:DropShadowFilter id="dropShadow" distance="0"/>
</mx:Application>
你也许可以用degrafa和 skinning 来做到这一点。他们的文档有限,但您可以观看其中一个关于如何创建皮肤的教程视频。或者看看他们的示例代码。只需将 degrafa 编程皮肤分配给画布的边框,您就可以添加各种时髦的渐变、路径、形状等等。