Aracılığıyla paylaş


Nasıl yapılır: Öğeyi Ölçeklendirme

Bu örnekte, bir öğeyi ölçeklendirmek için ScaleTransform nasıl kullanılacağı gösterilmektedir.

öğesini belirttiğiniz faktöre göre yeniden boyutlandırmak için ScaleX ve ScaleY özelliklerini kullanın. Örneğin, 1,5 ScaleX değeri, öğeyi özgün genişliğinin yüzde 150'sine genişletir. 0,5 ScaleY değeri bir öğenin yüksekliğini yüzde 50 küçültür.

Ölçeklendirme işleminin merkezi olan noktayı belirtmek için CenterX ve CenterY özelliklerini kullanın. Varsayılan olarak, bir ScaleTransform (0,0) noktasında ortalanır; bu nokta, dikdörtgenin sol üst köşesine karşılık gelir. Bu, öğeyi taşımanın ve daha büyük görünmesini sağlamanın etkisine sahiptir, çünkü bir Transformuyguladığınızda nesnenin bulunduğu koordinat alanını değiştirirsiniz.

Aşağıdaki örnek, 50'ye 50 Rectangleboyutunu iki katına çıkarmak için ScaleTransform kullanır. ScaleTransform hem CenterX hem de CenterYiçin 0 (varsayılan) değerine sahiptir.

Örnek

<!-- Scales a rectangle by 200% from a center of (0,0).-->
<Rectangle Height="50" Width="50" Fill="#CCCCCCFF" 
  Stroke="Blue" StrokeThickness="2"
  Canvas.Left="100" Canvas.Top="100">
  <Rectangle.RenderTransform>
    <ScaleTransform CenterX="0" CenterY="0" ScaleX="2" ScaleY="2" />
  </Rectangle.RenderTransform>
</Rectangle>

Genellikle, CenterX ve CenterY ölçeklendirilen nesnenin merkezine ayarlarsınız: (Width/2, Height/2).

Aşağıdaki örnekte boyutu ikiye katlanmış başka bir Rectangle gösterilmektedir; ancak, bu ScaleTransform hem CenterX hem de CenterYiçin dikdörtgenin merkezine karşılık gelen 25 değerine sahiptir.

<!-- Scales a rectangle by 200% from a center of (25,25).-->
<Rectangle Height="50" Width="50" Fill="#CCCCCCFF"
  Canvas.Left="100" Canvas.Top="100" Stroke="Blue" StrokeThickness="2">
  <Rectangle.RenderTransform>
    <ScaleTransform CenterX="25" CenterY="25" ScaleX="2" ScaleY="2" />
  </Rectangle.RenderTransform>
</Rectangle>

Aşağıdaki çizimde iki ScaleTransform işlemi arasındaki fark gösterilmektedir. Noktalı çizgi, ölçeklendirmeden önce dikdörtgenin boyutunu ve konumunu gösterir.

Farklı merkez noktaları ile 2x ölçek
Aynı ScaleX ve ScaleY değerlerine ama farklı merkezlere sahip iki ScaleTransform işlemi

Örneğin tamamı için bkz. 2D Dönüşümler Örneği.

Ayrıca bkz.