Est-il possible d'appliquer un effet de biseau externe au texte de l'étiquette dans WPF?Effet de biseau externe sur du texte dans WPF
comme pour moi, l'effet de préchauffage devrait être suffisant:
Est-il possible d'appliquer un effet de biseau externe au texte de l'étiquette dans WPF?Effet de biseau externe sur du texte dans WPF
comme pour moi, l'effet de préchauffage devrait être suffisant:
Pour autant que je sais que cela pourrait du travail:
<Label Content="Hi there!">
<Label.BitmapEffect>
<OuterGlowBitmapEffect/>
</Label.BitmapEffect>
</Label>
Je n'ai pas testé cela dans une étiquette, mais j'ai travaillé pour moi dans d'autres contrôles et formes, aussi, consultez toute la liste des effets IntelliSense s vous :)
Ah, d'accord, je comprends mieux votre problème.
Essayez quelque chose comme ceci:
<Grid>
<Grid.Resources>
<OuterGlowBitmapEffect GlowColor="Blue" GlowSize="5" x:key="Glow" />
</Grid.Resources>
<Label Content="Blah!" BitmapEffect="{StaticResource Glow}" />
</Grid>
je reçois "Blah!" avec une lueur bleue. Cela semble être un travail décent puisque le contenu de Label ne peut pas être défini deux fois.
Espérons que ça aide!
EDIT: Cela ne fonctionnera pas sauf si vous utilisez Framework 3.5 car BitmapEffect a été abandonné. :(
Attention, je veux briller (biseau) * texte * pas * frontière *. – serhio
la lueur n'apparaît pas juste autour de la limite de l'étiquette. le texte est brillant aussi. –
Je ne suis pas particulièrement satisfait de cette « solution »:
<TextBlock Text="Hello World!" Foreground="Red">
<TextBlock.Effect>
<BlurEffect Radius="1" KernelType="Box" />
</TextBlock.Effect>
</TextBlock>
<TextBlock Text="Hello World!" />
Autre option est de faire votre propre pixel shader, je ne suis pas très bon que je suis tellement peur que je ne peux pas vous aider:/
modifier: Une meilleure solution, pas encore biseau si
<TextBlock Text="Hello World!">
<TextBlock.Effect>
<DropShadowEffect BlurRadius="2" Color="Red" Direction="0" ShadowDepth="0" />
</TextBlock.Effect>
</TextBlock>
ah, j'ai vu que le TextBlock avait un effet, mais j'ai seulement joué avec l'effet DropShadow. Donc, le Flou est un peu comme une lueur? Je vais devoir jouer avec ça. –
@townsean ye, peut-être DropShadowEffect est préférable d'utiliser, alors vous pouvez ignorer les deux TextBlocks. – Oggy
suggestion de Followintg Oggy.
<Label.Effect>
<DropShadowEffect BlurRadius="5"
Color="Red"
Opacity="1"
ShadowDepth="0" />
</Label.Effect>
Voici un moyen d'obtenir un effet de lueur sur le texte. À l'aide du contrôle OutlinedText de this link qui propose Stroke.
<local:OutlinedText FontSize="100"
Fill="Black"
Bold="True"
Stroke="White"
StrokeThickness="3"
Text="Glow">
<local:OutlinedText.Effect>
<DropShadowEffect ShadowDepth="0"
Color="White"
Opacity="1"
BlurRadius="12"/>
</local:OutlinedText.Effect>
</local:OutlinedText>
Mise à jour
C'est le plus proche que je suis venu à un effet Biseau, mais il ne fonctionne pas très bien. Utilisé l'approche de this link.
<Style x:Key="ContentControlStyle1" TargetType="{x:Type ContentControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ContentControl}">
<Grid>
<TextBlock Name="Highlight" Foreground="#66FFFFFF" Text="{TemplateBinding Content}" />
<TextBlock Name="Shadow" Margin="0,4,0,0" Foreground="#CC000000" Text="{TemplateBinding Content}"/>
<ContentPresenter Margin="0,2,0,0"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ContentControl Style="{DynamicResource ContentControlStyle1}" FontSize="101" Foreground="DarkGray" Content="Bevel"/>
J'ai essayé ' Label.BitmapEffect>' ne fonctionne pas .. ( –
serhio
par le Il y a aussi un ** BevelBitmapEffect **, mais je n'ai pas réussi à l'appliquer à un texte d'étiquette – serhio
Essayez-le sur un bloc de texte à la place .... cela devrait fonctionner, je l'ai fait avant que je rappelez-le ...: p – Machinarius