다음을 통해 공유


Matrix 구조체

정의

2-D 공간에서의 변형에 사용되는 3x3 유사 변형 매트릭스를 나타냅니다.

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
상속
Matrix
특성
구현

설명

3x3 행렬은 2차원 x-y 평면의 변환에 사용됩니다. 행렬 유사 변환을 곱하면 회전, 기울이기 등 원하는 개수의 선형 변형 후 변환을 구성할 수 있습니다. 3x3 유사 변형 매트릭스에의 마지막 열은 (0, 0, 1) 이므로 처음 두 열 멤버만 지정할 수 있습니다. 참고 벡터는 열 벡터가 아니라 행 벡터로 표현 됩니다.

WPF Matrix 는 행 주 순서를 사용하여 저장되며 다음과 같은 구조가 있습니다.

M11 M12 0
M21 M22 0
OffsetX OffsetY 1

마지막 행에 있는 멤버 OffsetXOffsetY, 변환 값을 나타냅니다.

메서드 및 속성의 변형 매트릭스 일반적으로 6 명의 멤버를 사용 하 여 벡터를 다음과 같이 지정 됩니다.

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

구조를 사용하여 Matrix 개별 점을 직접 변환하거나 MatrixTransform 개체를 변환할 수 있지만 WPF는 행렬SkewTransformRotateTransformScaleTransformTranslateTransform을 직접 작업하지 않고 개체를 변환할 수 있는 클래스 집합도 제공합니다.

XAML 특성 사용

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

XAML 값

m11
System.Double

첫 번째 행과 첫째 열 값 Matrix합니다. 자세한 내용은 M11 속성을 참조하세요.

m12
System.Double

첫 번째 행과 둘째 열 값입니다. 자세한 내용은 M12 속성을 참조하세요.

m21
System.Double

두 번째 행과 첫째 열 값입니다. 자세한 내용은 M21 속성을 참조하세요.

m22
System.Double

두 번째 행과 둘째 열 값입니다. 자세한 내용은 M22 속성을 참조하세요.

Offsetx
System.Double

세 번째 행과 첫째 열 값입니다. 자세한 내용은 OffsetX 속성을 참조하세요.

Offsety
System.Double

세 번째 행과 둘째 열 값입니다. 자세한 내용은 OffsetY 속성을 참조하세요.

생성자

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

Matrix 구조체의 새 인스턴스를 초기화합니다.

속성

Determinant

Matrix 구조체의 행렬식을 가져옵니다.

HasInverse

Matrix 구조체를 반전할 수 있는지 여부를 나타내는 값을 가져옵니다.

Identity

항등 Matrix를 가져옵니다.

IsIdentity

Matrix 구조체가 항등 행렬인지 여부를 나타내는 값을 가져옵니다.

M11

Matrix 구조체의 첫 번째 행과 첫 번째 열 값을 가져오거나 설정합니다.

M12

Matrix 구조체의 첫 번째 행과 두 번째 열 값을 가져오거나 설정합니다.

M21

Matrix 구조체의 두 번째 행과 첫 번째 열 값을 가져오거나 설정합니다.

M22

Matrix 구조체의 두 번째 행과 두 번째 열 값을 가져오거나 설정합니다.

OffsetX

Matrix 구조체의 세 번째 행과 첫 번째 열 값을 가져오거나 설정합니다.

OffsetY

Matrix 구조체의 세 번째 행과 두 번째 열 값을 가져오거나 설정합니다.

메서드

Append(Matrix)

지정한 Matrix 구조체를 이 Matrix 구조체 뒤에 추가합니다.

Equals(Matrix)

지정한 Matrix 구조체가 이 인스턴스와 같은지 여부를 결정합니다.

Equals(Matrix, Matrix)

지정한 두 Matrix 구조체가 같은지 여부를 결정합니다.

Equals(Object)

지정한 Object가 이 Matrix와 같은 Matrix 구조체인지 여부를 결정합니다.

GetHashCode()

Matrix 구조체의 해시 코드를 반환합니다.

Invert()

Matrix 구조체를 반전합니다.

Multiply(Matrix, Matrix)

Matrix 구조체에 다른 Matrix 구조체를 곱합니다.

Parse(String)

매트릭스의 String 표현을 해당 Matrix 구조체로 변환합니다.

Prepend(Matrix)

지정한 Matrix 구조체를 이 Matrix 구조체 앞에 추가합니다.

Rotate(Double)

원점을 기준으로 지정한 각도만큼 이 Matrix 구조체에 회전을 적용합니다.

RotateAt(Double, Double, Double)

지정한 점을 기준으로 이 매트릭스를 회전합니다.

RotateAtPrepend(Double, Double, Double)

지정한 점을 기준으로 하는 지정한 각도의 회전을 이 Matrix 구조체 앞에 추가합니다.

RotatePrepend(Double)

지정한 각도의 회전을 이 Matrix 구조체 앞에 추가합니다.

Scale(Double, Double)

지정한 배율 벡터를 이 Matrix 구조체 뒤에 추가합니다.

ScaleAt(Double, Double, Double, Double)

지정한 점을 기준으로 지정한 크기만큼 이 Matrix의 배율을 조정합니다.

ScaleAtPrepend(Double, Double, Double, Double)

지정한 점을 기준으로 하는 지정한 배율 조정을 이 Matrix 앞에 추가합니다.

ScalePrepend(Double, Double)

지정한 배율 벡터를 이 Matrix 구조체 앞에 추가합니다.

SetIdentity()

Matrix 구조체를 항등 매트릭스로 변경합니다.

Skew(Double, Double)

X축 및 Y축 방향의 지정한 각도의 기울이기를 이 Matrix 구조체 뒤에 추가합니다.

SkewPrepend(Double, Double)

X축 및 Y축 방향의 지정한 각도의 기울이기를 이 Matrix 구조체 앞에 추가합니다.

ToString()

String 구조체의 Matrix 표현을 만듭니다.

ToString(IFormatProvider)

문화권별 형식 지정 정보를 사용하여 이 String 구조체의 Matrix 표현을 만듭니다.

Transform(Point)

Matrix를 사용하여 지정한 점을 변환한 다음 결과를 반환합니다.

Transform(Point[])

Matrix를 사용하여 지정한 점을 변환합니다.

Transform(Vector)

Matrix를 사용하여 지정한 벡터를 변환합니다.

Transform(Vector[])

Matrix를 사용하여 지정한 벡터를 변환합니다.

Translate(Double, Double)

지정한 오프셋 변환을 이 Matrix 구조체 뒤에 추가합니다.

TranslatePrepend(Double, Double)

지정한 오프셋 변환을 이 Matrix 구조체 앞에 추가합니다.

연산자

Equality(Matrix, Matrix)

지정한 두 Matrix 구조체가 같은지 여부를 결정합니다.

Inequality(Matrix, Matrix)

지정한 두 Matrix 구조체가 같지 않은지 여부를 결정합니다.

Multiply(Matrix, Matrix)

Matrix 구조체에 다른 Matrix 구조체를 곱합니다.

명시적 인터페이스 구현

IFormattable.ToString(String, IFormatProvider)

지정된 형식을 사용하여 현재 인스턴스 값의 형식을 지정합니다.

적용 대상

추가 정보