Matrix Yapı
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.
2B alanda dönüşümler için kullanılan 3x3 benze dönüştürme matrisi temsil eder.
public value class Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
public struct Matrix : IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
[<System.Serializable>]
type Matrix = struct
interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
type Matrix = struct
interface IFormattable
Public Structure Matrix
Implements IFormattable
- Devralma
- Öznitelikler
- Uygulamalar
Açıklamalar
2B x y düzleminde dönüşümler için 3x3 matris kullanılır. Affine dönüşüm matrisleri, döndürme ve eğim (kaydırma) ve ardından öteleme gibi herhangi bir sayıda doğrusal dönüşüm oluşturmak için çarpılabilir. Bir benzeşim dönüştürme matrisinin son sütunu (0, 0, 1) değerine eşittir, bu nedenle yalnızca ilk iki sütundaki üyelerin belirtilmesi gerekir. Vektörlerin sütun vektörleri olarak değil satır vektörleri olarak ifade edildiğine dikkat edin.
WPF Matrix , satır ana sırası kullanılarak depolanır ve aşağıdaki yapıya sahiptir:
| Sütun 1 | Sütun 2 | Sütun 3 |
|---|---|---|
| M11 | M12 | 0 |
| M21 | M22 | 0 |
| OffsetX | OffsetY | 1 |
Son satırdaki ve OffsetYüyeleri çeviri OffsetX değerlerini temsil eder.
Yöntemler ve özelliklerde, dönüştürme matrisi genellikle yalnızca altı üyeye sahip bir vektör olarak aşağıda gösterildiği gibi belirtilir:
(M11, M12, M21, M22, OffsetX, OffsetY)
Tek tek noktaları çevirmek için veya nesneleri dönüştürmek için bir yapıyı doğrudan kullanabilirsinizMatrix, ancak WPF ayrıca, matrislerle doğrudan çalışmadan nesneleri dönüştürmenizi sağlayan bir sınıf kümesi de sağlar: RotateTransform, ScaleTransform, SkewTransformve TranslateTransform.MatrixTransform
XAML Öznitelik Kullanımı
<object property="m11, m12, m21, m22, offsetX, offsetY"/>
- or -
<object property="Identity"/>
XAML Değerleri
Bu Matrixöğesinin ilk satırındaki ve ilk sütunundaki değer. Daha fazla bilgi için M11 özelliğine bakın.
İlk satır ve ikinci sütundaki değer. Daha fazla bilgi için M12 özelliğine bakın.
İkinci satır ve ilk sütundaki değer. Daha fazla bilgi için M21 özelliğine bakın.
İkinci satır ve ikinci sütundaki değer. Daha fazla bilgi için M22 özelliğine bakın.
OffsetxSystem.Double
Üçüncü satırdaki ve ilk sütundaki değer. Daha fazla bilgi için OffsetX özelliğine bakın.
OffsetySystem.Double
Üçüncü satır ve ikinci sütundaki değer. Daha fazla bilgi için OffsetY özelliğine bakın.
Oluşturucular
| Name | Description |
|---|---|
| Matrix(Double, Double, Double, Double, Double, Double) |
Yapının yeni bir örneğini Matrix başlatır. |
Özellikler
| Name | Description |
|---|---|
| Determinant |
Bu Matrix yapının belirleyicisini alır. |
| HasInverse |
Bu Matrix yapının ters çevrilemez olup olmadığını gösteren bir değer alır. |
| Identity |
Bir kimlik Matrixalır. |
| IsIdentity |
Bu Matrix yapının bir kimlik matrisi olup olmadığını gösteren bir değer alır. |
| M11 |
Bu Matrix yapının ilk satırının ve ilk sütununun değerini alır veya ayarlar. |
| M12 |
Bu Matrix yapının ilk satırının ve ikinci sütununun değerini alır veya ayarlar. |
| M21 |
Bu Matrix yapının ikinci satırının ve ilk sütununun değerini alır veya ayarlar. |
| M22 |
Bu Matrix yapının ikinci satırının ve ikinci sütununun değerini alır veya ayarlar. |
| OffsetX |
Bu Matrix yapının üçüncü satırının ve ilk sütununun değerini alır veya ayarlar. |
| OffsetY |
Bu Matrix yapının üçüncü satırının ve ikinci sütununun değerini alır veya ayarlar. |
Yöntemler
| Name | Description |
|---|---|
| Append(Matrix) | |
| Equals(Matrix, Matrix) |
Belirtilen Matrix iki yapının aynı olup olmadığını belirler. |
| Equals(Matrix) |
Belirtilen Matrix yapının bu örnekle aynı olup olmadığını belirler. |
| Equals(Object) |
Belirtilen Object öğesinin bu Matrixile aynı olan bir Matrix yapı olup olmadığını belirler. |
| GetHashCode() |
Bu Matrix yapı için karma kodu döndürür. |
| Invert() |
Bu Matrix yapıyı ters çevirir. |
| Multiply(Matrix, Matrix) | |
| Parse(String) |
Matrisin gösterimini String eşdeğer Matrix yapıya dönüştürür. |
| Prepend(Matrix) | |
| Rotate(Double) |
Bu Matrix yapının kaynağı hakkında belirtilen açının döndürmesini uygular. |
| RotateAt(Double, Double, Double) |
Bu matrisi belirtilen nokta hakkında döndürür. |
| RotateAtPrepend(Double, Double, Double) |
Belirtilen noktada belirtilen açının döndürmesini bu Matrix yapıya ekler. |
| RotatePrepend(Double) |
Belirtilen açının döndürmesini bu Matrix yapıya ekler. |
| Scale(Double, Double) |
Belirtilen ölçek vektörlerini bu Matrix yapıya ekler. |
| ScaleAt(Double, Double, Double, Double) |
Bunu Matrix , belirtilen nokta hakkında belirtilen miktara göre ölçeklendirir. |
| ScaleAtPrepend(Double, Double, Double, Double) |
Bu Matrixöğesinin belirtilen noktası hakkında belirtilen ölçeğin başına ekler. |
| ScalePrepend(Double, Double) |
Belirtilen ölçek vektörlerini bu Matrix yapıya ekler. |
| SetIdentity() |
Bu Matrix yapıyı bir kimlik matrisine değiştirir. |
| Skew(Double, Double) |
X ve y boyutlarında belirtilen derecelerin dengesizliğini bu Matrix yapıya ekler. |
| SkewPrepend(Double, Double) |
X ve y boyutlarında belirtilen derecelerin eğriliğini bu Matrix yapıya ekler. |
| ToString() | |
| ToString(IFormatProvider) |
Kültüre özgü biçimlendirme bilgileriyle bu Matrix yapının bir String gösterimini oluşturur. |
| Transform(Point) |
Belirtilen noktayı ile Matrix dönüştürür ve sonucu döndürür. |
| Transform(Point[]) |
Belirtilen noktaları bu Matrixile dönüştürür. |
| Transform(Vector) |
Belirtilen vektörü bu Matrixile dönüştürür. |
| Transform(Vector[]) |
Belirtilen vektörleri bu Matrixile dönüştürür. |
| Translate(Double, Double) |
Belirtilen uzaklıkların çevirisini bu Matrix yapıya ekler. |
| TranslatePrepend(Double, Double) |
Belirtilen uzaklıkların çevirisini bu Matrix yapıya ekler. |
İşleçler
| Name | Description |
|---|---|
| Equality(Matrix, Matrix) |
Belirtilen Matrix iki yapının aynı olup olmadığını belirler. |
| Inequality(Matrix, Matrix) |
Belirtilen Matrix iki yapının özdeş olup olmadığını belirler. |
| Multiply(Matrix, Matrix) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Belirtilen biçimi kullanarak geçerli örneğin değerini biçimlendirin. |