Matrix.Shear Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen kesme vektörlerini bu Matrix kesme vektörlerini önceden kaldırarak uygular.
Aşırı Yüklemeler
Shear(Single, Single) |
Kesme dönüştürmesini önleyerek belirtilen kesme vektörlerini bu Matrix uygular. |
Shear(Single, Single, MatrixOrder) |
Belirtilen kesme vektörlerini bu Matrix belirtilen sırayla uygular. |
Shear(Single, Single)
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
Kesme dönüştürmesini önleyerek belirtilen kesme vektörlerini bu Matrix uygular.
public:
void Shear(float shearX, float shearY);
public void Shear (float shearX, float shearY);
member this.Shear : single * single -> unit
Public Sub Shear (shearX As Single, shearY As Single)
Parametreler
- shearX
- Single
Yatay kesme faktörü.
- shearY
- Single
Dikey kesme faktörü.
Örnekler
Aşağıdaki kod örneği, Windows Forms ile kullanılmak üzere tasarlanmıştır ve Paint bir olay nesnesi PaintEventArgse
gerektirir. Kod aşağıdaki eylemi gerçekleştirir:
Ölçeklendirme dönüştürmesi uygulamadan önce yeşil kalem kullanarak ekrana dikdörtgen çizer.
bir Matrix oluşturur ve bunu kullanarak Graphicsiçin dünya koordinatlı bir dönüşüm ayarlar.
Kırmızı kalem kullanarak başka bir dikdörtgen çizer.
Mavi kalem kullanarak üç nokta çizer.
Sonuç yeşil dikdörtgen, kırmızı paralelkenar ve dönüştürülmüş mavi üç noktadır. Yeşil dikdörtgenin (dönüşümü ayarlamadan önce çizilmiş) doğrudan DrawRectangle çağrısında sağlanan koordinatları kullandığına dikkat edin. Diğer iki şekil çizimden önce dönüştürülür. Dikdörtgen paralelograma (kırmızı) dönüştürülür ve üç nokta (mavi) dönüştürülmüş paralelograma sığacak şekilde dönüştürülür. Dikdörtgenin alt kısmının x ekseninde dikdörtgenin yüksekliğinin iki katı kadar bir faktörle taşındığına (kırpıldığından) ve paralelkenarın oluştuğuna dikkat edin.
public:
void MatrixShearExample( PaintEventArgs^ e )
{
Matrix^ myMatrix = gcnew Matrix;
myMatrix->Shear( 2, 0 );
e->Graphics->DrawRectangle( gcnew Pen( Color::Green ), 0, 0, 100, 50 );
e->Graphics->MultiplyTransform( myMatrix );
e->Graphics->DrawRectangle( gcnew Pen( Color::Red ), 0, 0, 100, 50 );
e->Graphics->DrawEllipse( gcnew Pen( Color::Blue ), 0, 0, 100, 50 );
}
public void MatrixShearExample(PaintEventArgs e)
{
Matrix myMatrix = new Matrix();
myMatrix.Shear(2, 0);
e.Graphics.DrawRectangle(new Pen(Color.Green), 0, 0, 100, 50);
e.Graphics.MultiplyTransform(myMatrix);
e.Graphics.DrawRectangle(new Pen(Color.Red), 0, 0, 100, 50);
e.Graphics.DrawEllipse(new Pen(Color.Blue), 0, 0, 100, 50);
}
Public Sub MatrixShearExample(ByVal e As PaintEventArgs)
Dim myMatrix As New Matrix
myMatrix.Shear(2, 0)
e.Graphics.DrawRectangle(New Pen(Color.Green), 0, 0, 100, 50)
e.Graphics.MultiplyTransform(myMatrix)
e.Graphics.DrawRectangle(New Pen(Color.Red), 0, 0, 100, 50)
e.Graphics.DrawEllipse(New Pen(Color.Blue), 0, 0, 100, 50)
End Sub
Açıklamalar
Bu yöntemde uygulanan dönüştürme yalnızca parametrelerden biri 0 olduğunda saf bir kesme işlemidir. Kaynaktaki bir dikdörtgene uygulandığında, shearY
faktörü 0 olduğunda dönüştürme, alt kenarı dikdörtgenin yüksekliğini shearX
kat yatay olarak taşır.
shearX
faktörü 0 olduğunda, sağ kenarı dikdörtgenin genişliğinin shearY
kat daha fazla dikey olarak hareket eder. Her iki parametre de sıfırdan farklı olduğunda dikkatli olun çünkü sonuçları tahmin etmek zordur. Örneğin, her iki faktör de 1 ise, dönüştürme tekildir (dolayısıyla tersinemez) ve tüm düzlemi tek bir satıra sıkıştırılır.
Şunlara uygulanır
Shear(Single, Single, MatrixOrder)
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
Belirtilen kesme vektörlerini bu Matrix belirtilen sırayla uygular.
public:
void Shear(float shearX, float shearY, System::Drawing::Drawing2D::MatrixOrder order);
public void Shear (float shearX, float shearY, System.Drawing.Drawing2D.MatrixOrder order);
member this.Shear : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub Shear (shearX As Single, shearY As Single, order As MatrixOrder)
Parametreler
- shearX
- Single
Yatay kesme faktörü.
- shearY
- Single
Dikey kesme faktörü.
- order
- MatrixOrder
Kesmenin uygulandığı sırayı (ekleme veya ön ek) belirten bir MatrixOrder.
Örnekler
Bir örnek için bkz. Shear(Single, Single).
Açıklamalar
Bu yöntemde uygulanan dönüştürme yalnızca parametrelerden biri 0 olduğunda saf bir kesme işlemidir. Kaynaktaki bir dikdörtgene uygulandığında, shearY
faktörü 0 olduğunda dönüştürme, alt kenarı dikdörtgenin yüksekliğini shearX
kat yatay olarak taşır.
shearX
faktörü 0 olduğunda, sağ kenarı dikdörtgenin genişliğinin shearY
kat daha fazla dikey olarak hareket eder. Her iki parametre de sıfırdan farklı olduğunda dikkatli olun çünkü sonuçları tahmin etmek zordur. Örneğin, her iki faktör de 1 ise, dönüştürme tekildir (dolayısıyla tersinemez) ve tüm düzlemi tek bir satıra sıkıştırılır.