Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Özgün resmin sol üst, sağ üst ve sol alt köşeleri için hedef noktaları belirterek görüntüyü döndürebilir, yansıtabilir ve eğebilirsiniz. Üç hedef noktası, özgün dikdörtgen görüntüyü paralelkenara dönüştüren bir afin dönüşümünü belirler.
Örnek
Örneğin, özgün görüntünün sol üst köşesi (0, 0), sağ üst köşesi (100, 0) ve sol alt köşesi (0, 50) olan bir dikdörtgen olduğunu varsayalım. Şimdi bu üç noktayı aşağıdaki gibi hedef noktalara eşlediğiniz varsayın.
Özgün nokta | Hedef noktası |
---|---|
Sol üst (0, 0) | (200, 20) |
Sağ üst (100, 0) | (110, 100) |
Sol alt (0, 50) | (250, 30) |
Aşağıdaki çizimde özgün görüntü ve paralelkenarla eşlenen görüntü gösterilmektedir. Özgün görüntü eğilmiş, yansıtılmış, döndürülmüş ve çevrilmiştir. Özgün görüntünün üst kenarı boyunca uzanan x ekseni, (200, 20) ve (110, 100) noktalarından geçen doğru ile eşleştirilir. Özgün görüntünün sol kenarı boyunca y ekseni, (200, 20) ve (250, 30) arasında uzanan çizgiyle haritalanır.
Aşağıdaki çizimde, bir fotoğraf görüntüsüne uygulanan benzer bir dönüşüm gösterilmektedir:
Aşağıdaki çizimde, meta dosyaya uygulanan benzer bir dönüştürme gösterilmektedir:
Aşağıdaki örnek, ilk çizimde gösterilen görüntüleri oluşturur.
Point[] destinationPoints = {
new Point(200, 20), // destination for upper-left point of
// original
new Point(110, 100), // destination for upper-right point of
// original
new Point(250, 30)}; // destination for lower-left point of
// original
Image image = new Bitmap("Stripes.bmp");
// Draw the image unaltered with its upper-left corner at (0, 0).
e.Graphics.DrawImage(image, 0, 0);
// Draw the image mapped to the parallelogram.
e.Graphics.DrawImage(image, destinationPoints);
' New Point(200, 20) = destination for upper-left point of original
' New Point(110, 100) = destination for upper-right point of original
' New Point(250, 30) = destination for lower-left point of original
Dim destinationPoints As Point() = { _
New Point(200, 20), _
New Point(110, 100), _
New Point(250, 30)}
Dim image As New Bitmap("Stripes.bmp")
' Draw the image unaltered with its upper-left corner at (0, 0).
e.Graphics.DrawImage(image, 0, 0)
' Draw the image mapped to the parallelogram.
e.Graphics.DrawImage(image, destinationPoints)
Kodu Derleme
Yukarıdaki örnek, Windows Forms ile kullanılmak üzere tasarlanmıştır ve PaintEventArgs olay işleyicisinin bir parametresi olan e
Paintgerektirir. yerine Stripes.bmp
sisteminizde geçerli olan bir görüntünün yolunu belirttiğinizden emin olun.
Ayrıca bakınız
.NET Desktop feedback