RenderOptions.ClearTypeHint Propriedade Anexada

Definição

Recebe ou define um valor que indica ao motor de renderização se o texto pode ser renderizado com ClearType.

see GetClearTypeHint, and SetClearTypeHint
see GetClearTypeHint, and SetClearTypeHint
see GetClearTypeHint, and SetClearTypeHint

Exemplos

O exemplo seguinte mostra como a ClearTypeHint propriedade afeta diferentes ramos da árvore visual. No primeiro controlo de bloco de texto, o texto é renderizado com ClearType porque o bloco de texto herda a definição da janela principal. No segundo bloco de texto, o ClearType não é usado porque a propriedade do OpacityMask elemento pai está definida. No terceiro bloco de texto, ClearTypeHint é utilizado, mas podem surgir problemas de renderização.

<Window x:Class="ClearTypeHintDemo.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300"
        AllowsTransparency="True"
        WindowStyle="None"
        RenderOptions.ClearTypeHint="Enabled"
        Background="White">
    <Window.Resources>
        <LinearGradientBrush x:Key="opacityBrush" >
            <GradientStop Color="#FF000000" Offset="0.0" />
            <GradientStop Color="#00000000" Offset="1.0" />
        </LinearGradientBrush>
    </Window.Resources>

    <StackPanel>
        <TextBlock Text="This text is rendered with ClearType." />
        <StackPanel OpacityMask="{StaticResource opacityBrush}" >
            <TextBlock Text="This text is not rendered with ClearType." />
            <TextBlock RenderOptions.ClearTypeHint="Enabled"
                       Text="This text is rendered with ClearType but may alpha-blend incorrectly." />
        </StackPanel>
    </StackPanel>
</Window>

Observações

Use a ClearTypeHint propriedade anexada para indicar que o texto pode ser renderizado com ClearType numa parte específica da árvore visual.

O texto ClearType não é exibido corretamente num fundo que não é totalmente opaco. Alvos de renderização intermédios, como Effect, OpacityMask, VisualBrush, DrawingBrush, Clip, e Opacity, podem introduzir fundos que não são totalmente opacos. O WPF desativa o ClearType quando deteta que o buffer para onde o texto é desenhado pode ter um fundo transparente.

Defina a ClearTypeHint propriedade para Enabled indicar que uma subárvore é segura para a renderização de texto ClearType. Faz isto apenas quando conseguires ter a certeza de que o texto está a renderizar para um fundo totalmente opaco. Quando um elemento na subárvore introduz transparência, pode ativar o ClearType; no entanto, podem ocorrer problemas de renderização. Se uma parte da subárvore introduzir mais alvos de renderização intermédios, deve definir ClearTypeHint novamente nos filhos dessa subárvore.

A lista seguinte mostra como garantir que o texto a ser renderizado com ClearType aparece corretamente.

  • Não introduza alvos intermédios de renderização entre ClearTypeHint e o texto a ser renderizado com ClearType.

  • Atribui um fundo opaco que seja o mais próximo possível na árvore visual do texto.

  • Tenha em atenção que ClearTypeHint reativa o ClearType para uma subárvore; no entanto, não força a renderização do ClearType.

  • Tenha em atenção que isso ClearTypeHint não sobrepõe as definições TextRenderingMode ou definições do seu sistema.

Note

A ClearTypeHint propriedade anexada não afeta o TextBox controlo; no entanto, funciona com o TextBlock controlo.

Note

Em muitos controlos, a ClearTypeHint propriedade anexada não tem efeito a menos que definas um fundo opaco atrás do texto.

Para aceder a esta propriedade no código, use os GetClearTypeHint métodos e SetClearTypeHint .

Aplica-se a