【问题标题】:Image.OpacityMask on WinRT XAMLWinRT XAML 上的 Image.OpacityMask
【发布时间】:2012-11-30 05:41:47
【问题描述】:

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

我很难让 OpacityMask 在我的 WinRT 的 C#/XAML 项目中工作。

这样的示例 XAML:

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

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

如何在 WinRT XAML 中使用 alpha mask .png 来屏蔽 Image UIElement?

【问题讨论】:

    标签: c# image xaml windows-runtime


    【解决方案1】:

    在 Windows 应用商店应用的 XAML 中,Image(或UIElement)上没有 OpacityMask 属性。您只有 Opacity 可用的属性。

    【讨论】:

    • 谢谢 - WinRT 关于如何使用 Opacity 属性用位图屏蔽 UIElement 的任何指针?
    • @MJR 没有可用的OpacityMask 功能的简单替代品。您绝对不能使用 Opacity 代替。对于固定的图像内容,您可以将不透明度信息包含为图像本身的 Alpha 通道。实现此效果的唯一方法是使用Direct2D。但是,此类效果可能会占用大量资源,因此它们可能并非在所有硬件上都表现最佳。这可能是该功能首先不可用的原因。
    【解决方案2】:

    根据您要执行的操作,您应该查看 OpactiyMask 的替代品。查看these alternatives here.

    【讨论】:

    • 感谢分享,非常有用的东西。我最终自己使用 BitmapIcon,然后使用前景色控制“蒙版”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多