Nasıl yapılır: Metne Dönüşüm Uygulama

Dönüştürmeler, uygulamanıza metinlerin görüntülemesini değiştirebilir. Aşağıdaki örneklerde, bir denetimde metnin görüntülenmesini etkileyen farklı türlerde işleme dönüştürmeleri TextBlock 2.

Örnek

Aşağıdaki örnek, iki boyutlu x-y düzlemi içinde belirtilen bir nokta hakkında döndürülmüş metni gösterir.

Text rotated using a RotateTransform

Aşağıdaki kod örneği, metin döndürmek RotateTransform için kullanır. Angle90 değeri, öğeyi saat yönünde 90 derece döndürür.

<!-- Rotate the text 90 degrees using a RotateTransform. -->
<TextBlock FontFamily="Arial Black" FontSize="64" Foreground="Moccasin" Margin ="80, 10, 0, 0">
  Text Transforms
  <TextBlock.RenderTransform>
    <RotateTransform Angle="90" />
  </TextBlock.RenderTransform>
</TextBlock>

Aşağıdaki örnekte, ikinci metin satırı x ekseninde %150 ölçeklendirildi ve üçüncü satır metin y ekseninde %150 oranında ölçeklendirildi.

Text scaled using a ScaleTransform

Aşağıdaki kod örneği, metni özgün ScaleTransform boyutundan ölçeklendirmek için kullanır.

<!-- Scale the text using a ScaleTransform. -->
<TextBlock
  Name="textblockScaleMaster" 
  FontSize="32"
  Foreground="SteelBlue"
  Text="Scaled Text"
  Margin="100, 0, 0, 0"
  Grid.Column="0" Grid.Row="0">
</TextBlock>
<TextBlock
  FontSize="32"
  FontWeight="Bold" 
  Foreground="SteelBlue"
  Text="{Binding Path=Text, ElementName=textblockScaleMaster}"
  Margin="100, 0, 0, 0"
  Grid.Column="0" Grid.Row="1">
  <TextBlock.RenderTransform>
    <ScaleTransform ScaleX="1.5" ScaleY="1.0" />
  </TextBlock.RenderTransform>
</TextBlock>
<TextBlock
  FontSize="32"
  FontWeight="Bold" 
  Foreground="SteelBlue"
  Text="{Binding Path=Text, ElementName=textblockScaleMaster}"
  Margin="100, 0, 0, 0"
  Grid.Column="0" Grid.Row="2">
  <TextBlock.RenderTransform>
    <ScaleTransform ScaleX="1.0" ScaleY="1.5" />
  </TextBlock.RenderTransform>
</TextBlock>

Not

Metni ölçeklendirmek, metnin yazı tipi boyutunu artırmakla aynı değildir. Farklı boyutlarda en iyi çözünürlüğü sağlamak için yazı tipi boyutları birbirinden bağımsız olarak hesaplanır. Öte yandan ölçeklendiren metin, özgün boyutlu metnin oranlarını korur.

Aşağıdaki örnek, x ekseninde çarpıtmış metni gösterir.

Text skewed using a SkewTransform

Aşağıdaki kod örneği, metni SkewTransform çarpıtma için kullanır. Eğriltme olarak da bilinen bir eğrilme, koordinat alanı tekdüz olmayan bir şekilde esneten bir dönüşümdür. Bu örnekte, iki metin dizesi x koordinatı boyunca -30° ve 30° eğrilir.

<!-- Skew the text using a SkewTransform. -->
<TextBlock
  Name="textblockSkewMaster" 
  FontSize="32"
  FontWeight="Bold" 
  Foreground="Maroon"
  Text="Skewed Text"
  Margin="125, 0, 0, 0"
  Grid.Column="0" Grid.Row="0">
  <TextBlock.RenderTransform>
    <SkewTransform AngleX="-30" AngleY="0" />
  </TextBlock.RenderTransform>
</TextBlock>
<TextBlock
  FontSize="32"
  FontWeight="Bold" 
  Foreground="Maroon"
  Text="{Binding Path=Text, ElementName=textblockSkewMaster}"
  Margin="100, 0, 0, 0"
  Grid.Column="0" Grid.Row="1">
  <TextBlock.RenderTransform>
    <SkewTransform AngleX="30" AngleY="0" />
  </TextBlock.RenderTransform>
</TextBlock>

Aşağıdaki örnek, x ve y ekseninde çevrilmiş veya taşınmış metinleri gösterir.

Text offset using a TranslateTransform

Aşağıdaki kod örneği, metni TranslateTransform kaydırmak için kullanır. Bu örnekte, birincil metnin altındaki metnin küçük bir uzaklık kopyası gölge etki oluşturur.

<!-- Skew the text using a TranslateTransform. -->
<TextBlock
  FontSize="32"
  FontWeight="Bold" 
  Foreground="Black"
  Text="{Binding Path=Text, ElementName=textblockTranslateMaster}"
  Margin="100, 0, 0, 0"
  Grid.Column="0" Grid.Row="0">
  <TextBlock.RenderTransform>
    <TranslateTransform X="2" Y="2" />
  </TextBlock.RenderTransform>
</TextBlock>
<TextBlock
  Name="textblockTranslateMaster" 
  FontSize="32"
  FontWeight="Bold" 
  Foreground="Coral"
  Text="Translated Text"
  Margin="100, 0, 0, 0"
  Grid.Column="0" Grid.Row="0"/>

Not

, DropShadowBitmapEffect gölge etkileri sağlamak için zengin bir özellik kümesi sağlar. Daha fazla bilgi için bkz. Gölge ile Metin Oluşturma.

Ayrıca bkz.