Aracılığıyla paylaş


Gerçek Koordinat Dönüştürmesini Kullanma

Dünya dönüşümü sınıfının bir özelliğidir Graphics . Dünya dönüştürmesini belirten sayılar, 3×3 matrisini temsil eden bir nesnede Matrix depolanır. Matrix ve Graphics sınıfları, dünya dönüştürme matrisindeki sayıları ayarlamak için çeşitli yöntemlere sahiptir.

Farklı Dönüşüm Türleri

Aşağıdaki örnekte kod ilk olarak 50×50 dikdörtgen oluşturur ve kaynağında (0, 0) bulur. Kaynak, istemci alanının sol üst köşesindedir.

Rectangle rect = new Rectangle(0, 0, 50, 50);
Pen pen = new Pen(Color.FromArgb(128, 200, 0, 200), 2);
e.Graphics.DrawRectangle(pen, rect);
Dim rect As New Rectangle(0, 0, 50, 50)
Dim pen As New Pen(Color.FromArgb(128, 200, 0, 200), 2)
e.Graphics.DrawRectangle(pen, rect)

Aşağıdaki kod, dikdörtgeni x yönünde 1,75 kat genişleten ve dikdörtgeni y yönünde 0,5 kat küçülten bir ölçeklendirme dönüşümü uygular:

e.Graphics.ScaleTransform(1.75f, 0.5f);
e.Graphics.DrawRectangle(pen, rect);
e.Graphics.ScaleTransform(1.75F, 0.5F)
e.Graphics.DrawRectangle(pen, rect)

Sonuç, x yönünde daha uzun ve y yönünde özgünden daha kısa olan bir dikdörtgendir.

Dikdörtgeni ölçeklendirmek yerine döndürmek için aşağıdaki kodu kullanın:

e.Graphics.ResetTransform();
e.Graphics.RotateTransform(28); // 28 degrees
e.Graphics.DrawRectangle(pen, rect);
e.Graphics.ResetTransform()
e.Graphics.RotateTransform(28) ' 28 degrees
e.Graphics.DrawRectangle(pen, rect)

Dikdörtgeni çevirmek için aşağıdaki kodu kullanın:

e.Graphics.ResetTransform();
e.Graphics.TranslateTransform(150, 150);
e.Graphics.DrawRectangle(pen, rect);
e.Graphics.ResetTransform()
e.Graphics.TranslateTransform(150, 150)
e.Graphics.DrawRectangle(pen, rect)

Ayrıca bkz.