Matrix Matrix Matrix Matrix Struct

定義

2-D 空間での変換に使用される 3 x 3 アフィン変換行列を表します。Represents a 3x3 affine transformation matrix used for transformations in 2-D space.

public value class Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
type Matrix = struct
    interface IFormattable
Public Structure Matrix
Implements IFormattable
継承
属性
実装

注釈

3 2-D2-D x 3 行列は、x-y 平面の変換に使用されます。A 3x3 matrix is used for transformations in a 2-D2-D x-y plane. アフィン変換行列を乗算して、回転や傾斜 (傾斜) の後に平行移動などの任意の数の線形変換を形成できます。Affine transformation matrices can be multiplied to form any number of linear transformations, such as rotation and skew (shear), followed by translation. アフィン変換行列の最終的な列は (0, 0, 1) と等しくなるため、最初の2つの列のメンバーのみを指定する必要があります。An affine transformation matrix has its final column equal to (0, 0, 1), so only the members in the first two columns need to be specified. ベクターは、列ベクターではなく、行ベクターとして表されることに注意してください。Note that vectors are expressed as row-vectors, not column vectors.

WPFWPFMatrix行優先順を使用して格納され、次の構造を持ちます。A WPFWPF Matrix is stored using row-major order and has the following structure:

M11 M12 00
M21 M22 00
OffsetX OffsetY 11

最後の行OffsetXのメンバーであるとOffsetYは、翻訳値を表します。The members in the last row, OffsetX and OffsetY, represent translation values.

メソッドとプロパティでは、通常、次のように、変換行列は6つのメンバーのみを持つベクトルとして指定されます。In methods and properties, the transformation matrix is usually specified as a vector with only six members, as follows:

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

個々の点を変換Matrixするために構造体を直接使用することMatrixTransformも、を使用WPFWPFしてオブジェクトを変換することもできますが、では、マトリックスを直接操作しなくてもオブジェクトを変換できるクラスのセットが用意されています。、、、およびTranslateTransformRotateTransform ScaleTransform SkewTransformAlthough you can use a Matrix structure directly to translate individual points, or with a MatrixTransform to transform objects, WPFWPF also provides a set of classes that enable you to transform objects without working directly with matrices: RotateTransform, ScaleTransform, SkewTransform, and TranslateTransform.

XAML 属性の使用方法XAML Attribute Usage

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

XAML 値XAML Values

m11m11
System.Double

このMatrixの第1行、第1列の値。The value in the first row and first column of this Matrix. 詳細については、M11 プロパティを参照してください。For more information, see the M11 property.

m12m12
System.Double

1行目と2番目の列の値。The value in the first row and second column. 詳細については、M12 プロパティを参照してください。For more information, see the M12 property.

m21m21
System.Double

2番目の行と最初の列の値。The value in the second row and first column. 詳細については、M21 プロパティを参照してください。For more information, see the M21 property.

m22m22
System.Double

2番目の行と2番目の列の値。The value in the second row and second column. 詳細については、M22 プロパティを参照してください。For more information, see the M22 property.

offsetXoffsetX
System.Double

3番目の行と1番目の列の値。The value in the third row and first column. 詳細については、OffsetX プロパティを参照してください。For more information, see the OffsetX property.

offsetYoffsetY
System.Double

3番目の行と2番目の列の値。The value in the third row and second column. 詳細については、OffsetY プロパティを参照してください。For more information, see the OffsetY property.

コンストラクター

Matrix(Double, Double, Double, Double, Double, Double) Matrix(Double, Double, Double, Double, Double, Double) Matrix(Double, Double, Double, Double, Double, Double) Matrix(Double, Double, Double, Double, Double, Double)

Matrix 構造体の新しいインスタンスを初期化します。Initializes a new instance of the Matrix structure.

プロパティ

Determinant Determinant Determinant Determinant

この Matrix 構造体の行列式を取得します。Gets the determinant of this Matrix structure.

HasInverse HasInverse HasInverse HasInverse

この Matrix 構造体が反転可能かどうかを示す値を取得します。Gets a value that indicates whether this Matrix structure is invertible.

Identity Identity Identity Identity

恒等 Matrix を取得します。Gets an identity Matrix.

IsIdentity IsIdentity IsIdentity IsIdentity

この Matrix 構造体が恒等行列かどうかを示す値を取得します。Gets a value that indicates whether this Matrix structure is an identity matrix.

M11 M11 M11 M11

この Matrix 構造体の第 1 行、第 1 列の値を取得または設定します。Gets or sets the value of the first row and first column of this Matrix structure.

M12 M12 M12 M12

この Matrix 構造体の第 1 行、第 2 列の値を取得または設定します。Gets or sets the value of the first row and second column of this Matrix structure.

M21 M21 M21 M21

この Matrix 構造体の第 2 行、第 1 列の値を取得または設定します。Gets or sets the value of the second row and first column of this Matrix structure.

M22 M22 M22 M22

この Matrix 構造体の第 2 行、第 2 列の値を取得または設定します。Gets or sets the value of the second row and second column of this Matrix structure.

OffsetX OffsetX OffsetX OffsetX

この Matrix 構造体の第 3 行、第 1 列の値を取得または設定します。Gets or sets the value of the third row and first column of this Matrix structure.

OffsetY OffsetY OffsetY OffsetY

この Matrix 構造体の第 3 行、第 2 列の値を取得または設定します。Gets or sets the value of the third row and second column of this Matrix structure.

メソッド

Append(Matrix) Append(Matrix) Append(Matrix) Append(Matrix)

指定した Matrix 構造体をこの Matrix 構造体に追加します。Appends the specified Matrix structure to this Matrix structure.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定した Object が、この Matrix と同じ Matrix 構造体であるかどうかを判断します。Determines whether the specified Object is a Matrix structure that is identical to this Matrix.

Equals(Matrix) Equals(Matrix) Equals(Matrix) Equals(Matrix)

指定した Matrix 構造体がこのインスタンスと同一であるかどうかを判断します。Determines whether the specified Matrix structure is identical to this instance.

Equals(Matrix, Matrix) Equals(Matrix, Matrix) Equals(Matrix, Matrix) Equals(Matrix, Matrix)

指定した 2 つの Matrix 構造体が同一かどうかを判断します。Determines whether the two specified Matrix structures are identical.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

この Matrix 構造体のハッシュ コードを返します。Returns the hash code for this Matrix structure.

Invert() Invert() Invert() Invert()

この Matrix 構造体を反転します。Inverts this Matrix structure.

Multiply(Matrix, Matrix) Multiply(Matrix, Matrix) Multiply(Matrix, Matrix) Multiply(Matrix, Matrix)

Matrix 構造体に別の Matrix 構造体を乗算します。Multiplies a Matrix structure by another Matrix structure.

Parse(String) Parse(String) Parse(String) Parse(String)

行列の String 表現を、等価の Matrix 構造体に変換します。Converts a String representation of a matrix into the equivalent Matrix structure.

Prepend(Matrix) Prepend(Matrix) Prepend(Matrix) Prepend(Matrix)

指定した Matrix 構造体をこの Matrix 構造体の前に付加します。Prepends the specified Matrix structure onto this Matrix structure.

Rotate(Double) Rotate(Double) Rotate(Double) Rotate(Double)

この Matrix 構造体の原点を中心とする指定した角度の回転を適用します。Applies a rotation of the specified angle about the origin of this Matrix structure.

RotateAt(Double, Double, Double) RotateAt(Double, Double, Double) RotateAt(Double, Double, Double) RotateAt(Double, Double, Double)

指定した点を中心にこの行列を回転します。Rotates this matrix about the specified point.

RotateAtPrepend(Double, Double, Double) RotateAtPrepend(Double, Double, Double) RotateAtPrepend(Double, Double, Double) RotateAtPrepend(Double, Double, Double)

指定した点における指定した角度の回転を、この Matrix 構造体の前に付加します。Prepends a rotation of the specified angle at the specified point to this Matrix structure.

RotatePrepend(Double) RotatePrepend(Double) RotatePrepend(Double) RotatePrepend(Double)

指定した角度の回転を、この Matrix 構造体の前に付加します。Prepends a rotation of the specified angle to this Matrix structure.

Scale(Double, Double) Scale(Double, Double) Scale(Double, Double) Scale(Double, Double)

指定したスケールのベクターを Matrix 構造体に追加します。Appends the specified scale vector to this Matrix structure.

ScaleAt(Double, Double, Double, Double) ScaleAt(Double, Double, Double, Double) ScaleAt(Double, Double, Double, Double) ScaleAt(Double, Double, Double, Double)

この Matrix を、指定した点を中心として指定した量だけスケーリングします。Scales this Matrix by the specified amount about the specified point.

ScaleAtPrepend(Double, Double, Double, Double) ScaleAtPrepend(Double, Double, Double, Double) ScaleAtPrepend(Double, Double, Double, Double) ScaleAtPrepend(Double, Double, Double, Double)

この Matrix の指定した点を中心とする指定したスケールを前に付加します。Prepends the specified scale about the specified point of this Matrix.

ScalePrepend(Double, Double) ScalePrepend(Double, Double) ScalePrepend(Double, Double) ScalePrepend(Double, Double)

指定したスケールのベクターをこの Matrix 構造体の前に付加します。Prepends the specified scale vector to this Matrix structure.

SetIdentity() SetIdentity() SetIdentity() SetIdentity()

この Matrix 構造体を恒等行列に変更します。Changes this Matrix structure into an identity matrix.

Skew(Double, Double) Skew(Double, Double) Skew(Double, Double) Skew(Double, Double)

x 次元と y 次元の指定した角度の傾斜を、この Matrix 構造体に追加します。Appends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

SkewPrepend(Double, Double) SkewPrepend(Double, Double) SkewPrepend(Double, Double) SkewPrepend(Double, Double)

x 次元と y 次元の指定した角度の傾斜を、この Matrix 構造体の前に付加します。Prepends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

ToString() ToString() ToString() ToString()

この String 構造体の Matrix 表現を作成します。Creates a String representation of this Matrix structure.

ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider)

カルチャ固有の書式設定情報を使用して、この String 構造体の Matrix 表現を作成します。Creates a String representation of this Matrix structure with culture-specific formatting information.

Transform(Point) Transform(Point) Transform(Point) Transform(Point)

指定した点を Matrix で変換し、その結果を返します。Transforms the specified point by the Matrix and returns the result.

Transform(Point[]) Transform(Point[]) Transform(Point[]) Transform(Point[])

指定した点をこの Matrix で変換します。Transforms the specified points by this Matrix.

Transform(Vector) Transform(Vector) Transform(Vector) Transform(Vector)

指定したベクターをこの Matrix で変換します。Transforms the specified vector by this Matrix.

Transform(Vector[]) Transform(Vector[]) Transform(Vector[]) Transform(Vector[])

指定したベクターをこの Matrix で変換します。Transforms the specified vectors by this Matrix.

Translate(Double, Double) Translate(Double, Double) Translate(Double, Double) Translate(Double, Double)

指定したオフセットの変換をこの Matrix 構造体に追加します。Appends a translation of the specified offsets to this Matrix structure.

TranslatePrepend(Double, Double) TranslatePrepend(Double, Double) TranslatePrepend(Double, Double) TranslatePrepend(Double, Double)

指定したオフセットの変換をこの Matrix 構造体の前に付加します。Prepends a translation of the specified offsets to this Matrix structure.

演算子

Equality(Matrix, Matrix) Equality(Matrix, Matrix) Equality(Matrix, Matrix) Equality(Matrix, Matrix)

指定した 2 つの Matrix 構造体が同一かどうかを判断します。Determines whether the two specified Matrix structures are identical.

Inequality(Matrix, Matrix) Inequality(Matrix, Matrix) Inequality(Matrix, Matrix) Inequality(Matrix, Matrix)

指定した 2 つの Matrix 構造体が異なるかどうかを判断します。Determines whether the two specified Matrix structures are not identical.

Multiply(Matrix, Matrix) Multiply(Matrix, Matrix) Multiply(Matrix, Matrix) Multiply(Matrix, Matrix)

Matrix 構造体に別の Matrix 構造体を乗算します。Multiplies a Matrix structure by another Matrix structure.

明示的なインターフェイスの実装

IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider)

指定した書式を使用して、現在のインスタンスの値に書式を付けます。Formats the value of the current instance using the specified format.

適用対象

こちらもご覧ください