Matrix Struktur
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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
Nilai di baris pertama dan kolom pertama dari ini Matrix. Untuk informasi selengkapnya, lihat properti M11.
Nilai di baris pertama dan kolom kedua. Untuk informasi selengkapnya, lihat properti M12.
Nilai di baris kedua dan kolom pertama. Untuk informasi selengkapnya, lihat properti M21.
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) | |
| 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() | |
| 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) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Memformat nilai instans saat ini menggunakan format yang ditentukan. |