Nasıl yapılır: Bir Öğeyi Eğme

Bu örnek, bir SkewTransform öğeyi eğmek için nasıl kullanılacağını gösterir. Yamultma olarak da bilinen eğme, koordinat alanını Tekdüzen olmayan bir şekilde uzatır bir dönüşümdür. ' Nin tipik bir kullanımı SkewTransform , 2B nesnelerde 3B derinliğinin benzetimini yapmak içindir.

CenterXVe özelliklerini kullanarak CenterY orta noktasını belirtin SkewTransform .

AngleX AngleY X ekseninin ve y ekseninin eğriltme açısını belirtmek ve geçerli koordinat sistemini bu eksenlerde eğmek için ve özelliklerini kullanın.

Eğme dönüşümünün etkisini tahmin etmek için, AngleX x ekseni değerlerini özgün koordinat sistemine göre eğtir. Bu nedenle, AngleX 30 ' a kadar, y ekseni kaynak üzerinden 30 derece döndürür ve x değerlerini bu kaynaktan 30 derece eğriltir. Benzer şekilde, AngleY 30 ' a kadar şeklin y-değerlerini kaynaktan 30 derece eğriltir. Bu, koordinat sisteminin x/veya y ile 30 derece arasında çevrilirken (taşınırken) aynı etkiye sahip olduğunu unutmayın.

Aşağıdaki örnek, bir Rectangle merkez noktasından (0, 0) 45 derece bir yatay eğme uygular.

Örnek

<Rectangle 
  Height="50" Width="50" Fill="#CCCCCCFF" 
  Stroke="Blue" StrokeThickness="2"
  Canvas.Left="100" Canvas.Top="100">
  <Rectangle.RenderTransform>

     <!-- Applies a horizontal skew of 45 degrees 
          from a center point of (0,0). -->             
    <SkewTransform CenterX="0" CenterY="0" AngleX="45" AngleY="0" />
  </Rectangle.RenderTransform>
</Rectangle>

Aşağıdaki örnek, Rectangle Orta noktadan (25, 25) 45 derece bir yatay eğme uygular.

<Rectangle Height="50" Width="50" Fill="#CCCCCCFF"
  Canvas.Left="100" Canvas.Top="100" 
  Stroke="Blue" StrokeThickness="2">
  <Rectangle.RenderTransform>
  
     <!-- Applies a horizontal skew of 45 degrees 
          from a center point of (25,25). -->  
    <SkewTransform CenterX="25" CenterY="25" AngleX="45" AngleY="0" />
  </Rectangle.RenderTransform>
</Rectangle>

Aşağıdaki örnek, Rectangle Orta noktadan (25, 25) 45 derece bir dikey eğme uygular.

<Rectangle Height="50" Width="50" Fill="#CCCCCCFF" 
  Stroke="Blue" StrokeThickness="2"
  Canvas.Left="100" Canvas.Top="100">
  <Rectangle.RenderTransform>
  
     <!-- Applies a vertical skew of 45 degrees 
          from a center point of (25,25). -->             
    <SkewTransform CenterX="25" CenterY="25" AngleX="0" AngleY="45" />
  </Rectangle.RenderTransform>
</Rectangle> 

Aşağıdaki çizimde, bu örnekte kullanılan farklı eğime gösterilmektedir.

SkewTransform örnekleri
Gösterilen üç SkewTransform örneği

Tüm örnek için bkz. 2B dönüşümler örneği.

Ayrıca bkz.