2010-12-10 36 views
3

J'ai essayé de google out, mais il existe un exemple d'effet Shader que je pourrais utiliser pour produire un FormattedText esquissé. J'ai été en mesure d'obtenir le contour en utilisant BuildGeometry(), mais la performance est très mauvaise!Contour de texte à l'aide de WPF Shader

outlined Text

PS: Depuis que je suis nouveau à cela et encore l'apprentissage, il serait utile si quelqu'un peut suggérer que ce serait même possible ou non.

Répondre

3

Voici une option facile que j'ai fouettée, mais je ne sais pas si c'est exactement ce que vous voulez. Utilisez simplement un OuterGlowBitmapEffect.

Vous pouvez coller mon exemple directement dans Kaxaml pour voir à quoi il ressemble:

<Page 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Grid Background="Black"> 
    <TextBlock FontFamily="Arial" FontSize="36" FontWeight="Bold" Text="Text" Foreground="White"> 
     <TextBlock.BitmapEffect> 
     <OuterGlowBitmapEffect GlowColor="Orange" GlowSize="6" /> 
     </TextBlock.BitmapEffect> 
    </TextBlock> 
    </Grid> 
</Page> 

alt text

+1

Certains utilisateurs rapportent cela ne fonctionne pas sur .NET 4 parce que BitmapEffect a été dépréciée .... il continue de travailler pour moi tho: p – Machinarius

+0

Merci de m'avoir donné la tête haute. Personnellement, j'adore l'effet mais je l'utilisais sur .NET 3.5. Je viens de mettre à jour .NET 4.0 la semaine dernière. :) J'espère qu'il a été remplacé par quelque chose d'aussi simple! – Dave

+0

GlowEffect n'est pas équivalent à Outline. Ce dont j'ai besoin est un Outline, sans utiliser BuildGeometry(). – Trainee4Life