WinRT XAML中的Image.OpacityMask

3

关于这个 .net XAML UIElement 属性,Image.OpacityMask: http://msdn.microsoft.com/en-us/library/ms743320.aspx

我在我的 C# / XAML WinRT 项目中使用 OpacityMask 遇到了困难。

示例 XAML 如下:

<Image ...
    <Image.OpacityMask>
         <ImageBrush ImageSource="Assets/alpha.png"/>
    </Image.OpacityMask>
/>

似乎不起作用,“可附加的属性OpacityMask在类型Image中未找到”

如何在WinRT XAML中使用alpha掩码.png来遮罩图像UI元素?

2个回答

3

OpacityMask 属性在 XAML for Windows Store 应用中的 Image(或者说UIElement)上并不存在。您只能使用可用的 Opacity 属性。


谢谢-有没有关于如何使用不透明度属性以位图遮罩UI元素的WinRT指针? - MJR
@MJR 没有可以简单替代 OpacityMask 功能的方法。绝对不能使用 Opacity 替代。对于固定图像内容,您可以将不透明度信息包含在图像本身的alpha通道中。实现此效果的唯一方法是使用 Direct2D。然而,这样的效果可能会消耗相当多的资源,所以它们可能不会在所有硬件上表现最佳。这可能就是该功能一开始不可用的原因。 - Damir Arh

1

谢谢分享,非常有用的信息。我最终使用了BitmapIcon,并通过前景色控制“遮罩”。 - Erkki Nokso-Koivisto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接