我有以下mxml:
<s:Image source="@Embed(source='my/path/to/img.png')" >
<flex:mask>
<s:Group alpha="0.1">
<s:Rect width="129" height="123">
<s:fill>
<s:SolidColor color="0x00FFFF"/>
</s:fill>
</s:Rect>
</s:Group>
</flex:mask>
</s:Image>
此代码不应生成129px * 123px的矩形蒙版,会产生裁剪效果吗?
感谢。
答案 0 :(得分:2)
问题是掩码对象需要已经创建并添加到显示列表中,直到它被设置为掩码。因此,您的代码应该更改以反映这一点,如下所示:
<s:Group id="imageMask" alpha="0.1">
<s:Rect width="129" height="123">
<s:fill>
<s:SolidColor color="0x00FFFF"/>
</s:fill>
</s:Rect>
</s:Group>
<s:Image source="@Embed(source='my/path/to/img.png')" mask="{imageMask}" />
度过美好的一天。
答案 1 :(得分:1)
适用于 BitmapImage
。 Image
在 BitmapImage
中有自己的 ImageSkin
。
创建皮肤,设置 skinClass
:
<s:Image source="@Embed(source='my/path/to/img.png')"
skinClass="MyImageSkin"/>
并在 MyImageSkin
内找到 BitmapImage
并设置掩码:
<!--- Primary image display skin part. -->
<s:BitmapImage id="imageDisplay" left="0" top="0" right="0" bottom="0">
<s:mask>
<s:Group alpha="0.1">
<s:Rect width="129" height="123">
<s:fill>
<s:SolidColor color="0x00FFFF"/>
</s:fill>
</s:Rect>
</s:Group>
</s:mask>
</s:BitmapImage>
答案 2 :(得分:0)
这应该有用。
<s:Image source="@Embed(source='my/path/to/img.png')" >
<s:mask>
<s:Group alpha="0.1">
<s:Rect width="129" height="123">
<s:fill>
<s:SolidColor color="0x00FFFF"/>
</s:fill>
</s:Rect>
</s:Group>
</s:mask>
</s:Image>
s:mask是图像的属性,将使用内部FXG作为掩码。 除非您将maskType =“”属性设置为alpha(对于剪辑,默认属性是可见或不可见),否则alpha不会有任何区别。