Matrix 構造体
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
2-D 空間での変換に使用される 3 x 3 アフィン変換行列を表します。
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
- 継承
- 属性
- 実装
注釈
3x3 行列は、2-D x-y 平面の変換に使用されます。 アフィン変換マトリックスでは、平行移動前の任意の数の線形変換 (回転やスキュー (せん断) など) を 1 つのマトリックスの乗算にまとめることができます。 アフィン変換行列の最終列は (0, 0, 1) であるため、最初の 2 つの列のメンバーのみを指定する必要があります。 ベクトルは、列ベクトルではなく行ベクトルとして表されることに注意してください。
WPF Matrix は行メジャー順を使用して格納され、次の構造を持ちます。
M11 | M12 | 0 |
M21 | M22 | 0 |
OffsetX | OffsetY | 1 |
最後の行の メンバー と OffsetYは、OffsetX翻訳値を表します。
メソッドとプロパティでは、変換行列は通常、次のように 6 つのメンバーのみを持つベクトルとして指定されます。
(M11, M12, M21, M22, OffsetX, OffsetY)
構造体をMatrix直接使用して個々のポイントを変換することも、 を使用MatrixTransformしてオブジェクトを変換することもできますが、WPF には、マトリックス SkewTransformRotateTransformScaleTransform、 を直接操作せずにオブジェクトを変換できるクラスのセットも用意されています。TranslateTransform
XAML 属性の使用方法
<object property="m11, m12, m21, m22, offsetX, offsetY"/>
- or -
<object property="Identity"/>
XAML 値
m11
System.Double
この Matrixの最初の行と最初の列の値。 詳細については、M11 プロパティを参照してください。
m12
System.Double
最初の行と 2 番目の列の値。 詳細については、M12 プロパティを参照してください。
m21
System.Double
2 番目の行と最初の列の値。 詳細については、M21 プロパティを参照してください。
m22
System.Double
2 番目の行と 2 番目の列の値。 詳細については、M22 プロパティを参照してください。
Offsetx
System.Double
3 行目と 1 列目の値。 詳細については、OffsetX プロパティを参照してください。
Offsety
System.Double
3 行目と 2 番目の列の値。 詳細については、OffsetY プロパティを参照してください。
コンストラクター
Matrix(Double, Double, Double, Double, Double, Double) |
Matrix 構造体の新しいインスタンスを初期化します。 |
プロパティ
Determinant |
この Matrix 構造体の行列式を取得します。 |
HasInverse |
この Matrix 構造体が反転可能かどうかを示す値を取得します。 |
Identity |
恒等 Matrix を取得します。 |
IsIdentity |
この Matrix 構造体が恒等行列かどうかを示す値を取得します。 |
M11 |
この Matrix 構造体の第 1 行、第 1 列の値を取得または設定します。 |
M12 |
この Matrix 構造体の第 1 行、第 2 列の値を取得または設定します。 |
M21 |
この Matrix 構造体の第 2 行、第 1 列の値を取得または設定します。 |
M22 |
この Matrix 構造体の第 2 行、第 2 列の値を取得または設定します。 |
OffsetX |
この Matrix 構造体の第 3 行、第 1 列の値を取得または設定します。 |
OffsetY |
この Matrix 構造体の第 3 行、第 2 列の値を取得または設定します。 |
メソッド
演算子
Equality(Matrix, Matrix) |
指定した 2 つの Matrix 構造体が同一かどうかを判断します。 |
Inequality(Matrix, Matrix) |
指定した 2 つの Matrix 構造体が異なるかどうかを判断します。 |
Multiply(Matrix, Matrix) |
明示的なインターフェイスの実装
IFormattable.ToString(String, IFormatProvider) |
指定された書式を使用して現在のインスタンスの値を書式設定します。 |