2012-11-30 7 views
3

En ce qui concerne cette .net propriété XAML UIElement, Image.OpacityMask: http://msdn.microsoft.com/en-us/library/ms743320.aspxImage.OpacityMask sur WinRT XAML

J'éprouve des difficultés se OpacityMask à travailler dans mon projet C#/XAML pour WinRT.

Sample XAML comme ceci:

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

Ne semble pas fonctionner, "La propriété attachable propriété OpacityMask n'a pas été trouvé dans le type image"

Comment peut-on utiliser un masque alpha .png à masque une Image UIElement dans WinRT XAML?

Répondre

3

Il n'existe aucune propriété OpacityMask sur Image (ou UIElement de toute façon) dans XAML pour Windows Store apps. Vous avez seulement Opacity propriété disponible.

+0

Merci - des pointeurs pour WinRT sur la façon d'utiliser la propriété Opacité pour masquer un UIElement avec un bitmap? – MJR

+0

@MJR Il n'y a pas de remplacement simple de la fonctionnalité 'OpacityMask' disponible. Vous ne pouvez certainement pas utiliser 'Opacity' à la place. Pour le contenu d'image fixe, vous pouvez inclure les informations d'opacité en tant que canal alpha de l'image elle-même. La seule façon d'obtenir cet effet serait d'utiliser [Direct2D] (http://msdn.microsoft.com/en-us/library/windows/apps/hh825871.aspx). De tels effets peuvent être très gourmands en ressources, mais ils risquent de ne pas être performants sur tout le matériel. Ce qui pourrait être la raison pour laquelle la fonctionnalité n'est pas disponible en premier lieu. –

1

En fonction de ce que vous essayez de faire, il existe des alternatives à OpactiyMask que vous devriez vérifier. check out these alternatives here.

+0

Merci de partager cela, des trucs vraiment utiles. Je finis par utiliser BitmapIcon, puis contrôler le "masque" en utilisant la couleur de premier plan. – noxo

Questions connexes