Bagikan melalui


Matrix Struktur

Definisi

Mewakili matriks transformasi affine 3x3 yang digunakan untuk transformasi dalam ruang 2D.

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
Warisan
Matrix
Atribut
Penerapan

Keterangan

Matriks 3x3 digunakan untuk transformasi dalam bidang 2D x-y. Matriks transformasi affine dapat dikalikan untuk membentuk sejumlah transformasi linier, seperti rotasi dan condong (geser), diikuti dengan terjemahan. Matriks transformasi affine memiliki kolom akhir yang sama dengan (0, 0, 1), sehingga hanya anggota di dua kolom pertama yang perlu ditentukan. Perhatikan bahwa vektor dinyatakan sebagai vektor baris, bukan vektor kolom.

WPF Matrix disimpan menggunakan urutan utama baris dan memiliki struktur berikut:

Kolom 1 Kolom 2 Kolom 3
M11 M12 0
M21 M22 0
OffsetX OffsetY 1

Anggota di baris terakhir, OffsetX dan OffsetY, mewakili nilai terjemahan.

Dalam metode dan properti, matriks transformasi biasanya ditentukan sebagai vektor dengan hanya enam anggota, sebagai berikut:

(M11, M12, M21, M22, OffsetX, ) OffsetY

Meskipun Anda dapat menggunakan Matrix struktur secara langsung untuk menerjemahkan titik individual, atau dengan MatrixTransform objek untuk mengubah, WPF juga menyediakan sekumpulan kelas yang memungkinkan Anda mengubah objek tanpa bekerja langsung dengan matriks: RotateTransform, , ScaleTransformSkewTransform, dan TranslateTransform.

Penggunaan Atribut XAML

<object property="m11, m12, m21, m22, offsetX, offsetY"/>
- or -
<object property="Identity"/>

Nilai XAML

m11System.Double

Nilai di baris pertama dan kolom pertama dari ini Matrix. Untuk informasi selengkapnya, lihat properti M11.

m12System.Double

Nilai di baris pertama dan kolom kedua. Untuk informasi selengkapnya, lihat properti M12.

m21System.Double

Nilai di baris kedua dan kolom pertama. Untuk informasi selengkapnya, lihat properti M21.

m22System.Double

Nilai di baris kedua dan kolom kedua. Untuk informasi selengkapnya, lihat properti M22.

offsetXSystem.Double

Nilai di baris ketiga dan kolom pertama. Untuk informasi selengkapnya, lihat properti OffsetX.

offsetYSystem.Double

Nilai di baris ketiga dan kolom kedua. Untuk informasi selengkapnya, lihat properti OffsetY.

Konstruktor

Nama Deskripsi
Matrix(Double, Double, Double, Double, Double, Double)

Menginisialisasi instans Matrix baru struktur.

Properti

Nama Deskripsi
Determinant

Mendapatkan penenun struktur ini Matrix .

HasInverse

Mendapatkan nilai yang menunjukkan apakah struktur ini Matrix tidak dapat dibalik.

Identity

Mendapatkan identitas Matrix.

IsIdentity

Mendapatkan nilai yang menunjukkan apakah struktur ini Matrix adalah matriks identitas.

M11

Mendapatkan atau mengatur nilai baris pertama dan kolom pertama struktur ini Matrix .

M12

Mendapatkan atau mengatur nilai baris pertama dan kolom kedua dari struktur ini Matrix .

M21

Mendapatkan atau mengatur nilai baris kedua dan kolom pertama struktur ini Matrix .

M22

Mendapatkan atau mengatur nilai baris kedua dan kolom kedua dari struktur ini Matrix .

OffsetX

Mendapatkan atau mengatur nilai baris ketiga dan kolom pertama struktur ini Matrix .

OffsetY

Mendapatkan atau mengatur nilai baris ketiga dan kolom kedua dari struktur ini Matrix .

Metode

Nama Deskripsi
Append(Matrix)

Menambahkan struktur yang ditentukan Matrix ke struktur ini Matrix .

Equals(Matrix, Matrix)

Menentukan apakah dua struktur yang ditentukan Matrix identik.

Equals(Matrix)

Menentukan apakah struktur yang ditentukan Matrix identik dengan instans ini.

Equals(Object)

Menentukan apakah yang ditentukan Object adalah Matrix struktur yang identik dengan ini Matrix.

GetHashCode()

Mengembalikan kode hash untuk struktur ini Matrix .

Invert()

Menginversi struktur ini Matrix .

Multiply(Matrix, Matrix)

Mengalikan Matrix struktur dengan struktur lain Matrix .

Parse(String)

Mengonversi representasi matriks String menjadi struktur yang setara Matrix .

Prepend(Matrix)

Menambahkan struktur yang ditentukan Matrix ke struktur ini Matrix .

Rotate(Double)

Menerapkan rotasi sudut yang ditentukan tentang asal struktur ini Matrix .

RotateAt(Double, Double, Double)

Putar matriks ini tentang titik yang ditentukan.

RotateAtPrepend(Double, Double, Double)

Menambahkan rotasi dari sudut yang ditentukan pada titik yang ditentukan ke struktur ini Matrix .

RotatePrepend(Double)

Menambahkan rotasi dari sudut yang ditentukan ke struktur ini Matrix .

Scale(Double, Double)

Menambahkan vektor skala yang ditentukan ke struktur ini Matrix .

ScaleAt(Double, Double, Double, Double)

Menskalakan ini Matrix dengan jumlah yang ditentukan tentang titik yang ditentukan.

ScaleAtPrepend(Double, Double, Double, Double)

Menambahkan skala yang ditentukan tentang titik yang ditentukan dari ini Matrix.

ScalePrepend(Double, Double)

Menambahkan vektor skala yang ditentukan ke struktur ini Matrix .

SetIdentity()

Mengubah struktur ini Matrix menjadi matriks identitas.

Skew(Double, Double)

Menambahkan ke condong derajat yang ditentukan dalam dimensi x dan y ke struktur ini Matrix .

SkewPrepend(Double, Double)

Menambahkan penyimpangan derajat yang ditentukan dalam dimensi x dan y ke struktur ini Matrix .

ToString()

String Membuat representasi struktur iniMatrix.

ToString(IFormatProvider)

String Membuat representasi struktur ini Matrix dengan informasi pemformatan khusus budaya.

Transform(Point)

Mengubah titik yang ditentukan dengan Matrix dan mengembalikan hasilnya.

Transform(Point[])

Mengubah titik yang ditentukan dengan ini Matrix.

Transform(Vector)

Mengubah vektor yang ditentukan dengan ini Matrix.

Transform(Vector[])

Mengubah vektor yang ditentukan dengan ini Matrix.

Translate(Double, Double)

Menambahkan terjemahan offset yang ditentukan ke struktur ini Matrix .

TranslatePrepend(Double, Double)

Menambahkan terjemahan offset yang ditentukan ke struktur ini Matrix .

Operator

Nama Deskripsi
Equality(Matrix, Matrix)

Menentukan apakah dua struktur yang ditentukan Matrix identik.

Inequality(Matrix, Matrix)

Menentukan apakah dua struktur yang ditentukan Matrix tidak identik.

Multiply(Matrix, Matrix)

Mengalikan Matrix struktur dengan struktur lain Matrix .

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IFormattable.ToString(String, IFormatProvider)

Memformat nilai instans saat ini menggunakan format yang ditentukan.

Berlaku untuk

Lihat juga