向 Flex 图像添加蒙版
我有以下 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 的矩形蒙版来产生裁剪效果吗?
谢谢。
I have the following 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>
Shouldn't this code generate a Rectangular Mask of 129px*123px that will produce a cropping effect?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这应该有效。
s:mask 是图像的一个属性,将使用内部 FXG 作为遮罩。
除非将 maskType="" 属性设置为 alpha,否则 alpha 不会产生任何影响(对于剪辑,默认属性要么可见,要么不可见)。
This should work.
s:mask is a property of the image and will use the inner FXG as the mask.
The alpha won't make any difference unless you set the maskType="" property to alpha (for clip, the default property it's either visible or not).
问题是,在将遮罩对象设置为遮罩时,需要先创建遮罩对象并将其添加到显示列表中。因此,您的代码应该更改以反映这一点,如下所示:
祝您有美好的一天。
The problem is that the mask object needs to be already created AND added to the display list, by the time it is set as a mask. So, your code should be changed to reflect this, like so:
Have a great day.
这适用于
BitmapImage
。Image
在ImageSkin
中拥有自己的BitmapImage
。创建皮肤,设置
skinClass
:并在
MyImageSkin
中找到BitmapImage
< /strong> 并设置掩码:That works for
BitmapImage
.Image
has it's ownBitmapImage
insideImageSkin
.Create skin, set
skinClass
:and inside
MyImageSkin
findBitmapImage
and set mask: