Aracılığıyla paylaş


Matrix Yapı

Tanım

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
Matrix
Ö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

m11System.Double

Bu Matrixöğesinin ilk satırındaki ve ilk sütunundaki değer. Daha fazla bilgi için M11 özelliğine bakın.

m12System.Double

İlk satır ve ikinci sütundaki değer. Daha fazla bilgi için M12 özelliğine bakın.

m21System.Double

İkinci satır ve ilk sütundaki değer. Daha fazla bilgi için M21 özelliğine bakın.

m22System.Double

İ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)

Belirtilen Matrix yapıyı bu Matrix yapıya ekler.

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)

Bir yapıyı başka Matrix bir Matrix yapıyla çarpar.

Parse(String)

Matrisin gösterimini String eşdeğer Matrix yapıya dönüştürür.

Prepend(Matrix)

Belirtilen Matrix yapıyı bu Matrix yapıya ekler.

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()

Bu Matrix yapının bir String gösterimini oluşturur.

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)

Bir yapıyı başka Matrix bir Matrix yapıyla çarpar.

Belirtik Arabirim Kullanımları

Name Description
IFormattable.ToString(String, IFormatProvider)

Belirtilen biçimi kullanarak geçerli örneğin değerini biçimlendirin.

Şunlara uygulanır

Ayrıca bkz.