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.
Kesme vektörlerini önceden kaldırarak belirtilen kesme vektörlerini buna Matrix uygular.
Aşırı Yüklemeler
Shear(Single, Single, MatrixOrder) |
Belirtilen kesme vektörlerini belirtilen sırada buna Matrix uygular. |
Shear(Single, Single) |
Kesme dönüştürmesini önceden kaldırarak belirtilen kesme vektörlerini buna Matrix uygular. |
Shear(Single, Single, MatrixOrder)
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
Belirtilen kesme vektörlerini belirtilen sırada buna Matrix 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
MatrixOrder Kesmenin uygulandığı sırayı (ekleme veya dik) belirten bir.
Örnekler
Ö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. Çıkış noktasındaki bir dikdörtgene uygulanırsa, faktör 0 olduğunda shearY
dönüştürme, alt kenarı dikdörtgenin yüksekliğine göre yatay olarak shearX
taşır. shearX
Faktör 0 olduğunda, sağ kenarı dikdörtgenin genişliğini çarpı çarpı dikey olarak shearY
taşır. 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 düzlemin tamamını tek bir satıra sıkıştırılır.
Şunlara uygulanır
Shear(Single, Single)
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
- Kaynak:
- Matrix.cs
Kesme dönüştürmesini önceden kaldırarak belirtilen kesme vektörlerini buna 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 bir Paint olay nesnesi gerektirir.PaintEventArgse
Kod aşağıdaki eylemi gerçekleştirir:
Ölçeklendirme dönüşümü uygulamadan önce yeşil kalem kullanarak ekrana dikdörtgen çizer.
oluşturur Matrix ve bunu kullanarak için Graphicsbir dünya koordinatı dönüşümü ayarlar.
Kırmızı kalem kullanarak başka bir dikdörtgen çizer.
Mavi kalem kullanarak bir elips çizer.
Sonuç yeşil dikdörtgen, kırmızı paralelogram ve dönüştürülmüş mavi elipstir. Yeşil dikdörtgenin (dönüşümü ayarlamadan önce çizilmiş) doğrudan çağrıda sağlanan koordinatları kullandığına DrawRectangle dikkat edin. Diğer iki şekil çizim öncesinde 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 (yaslandığına) ve dolayısıyla paralelogramı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. Çıkış noktasındaki bir dikdörtgene uygulanırsa, faktör 0 olduğunda shearY
dönüştürme, alt kenarı dikdörtgenin yüksekliğine göre yatay olarak shearX
taşır. shearX
Faktör 0 olduğunda, sağ kenarı dikdörtgenin genişliğini çarpı çarpı dikey olarak shearY
taşır. 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 düzlemin tamamını tek bir satıra sıkıştırılır.
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin