2016-06-14 3 views
0

System.Drawing.Drawing2D으로 행렬을 초기화하는 방법; 나는이 기능을 사용할 수있는 가능성을 가지고이 행렬을 itnitialise 수있는 방법행렬을 초기화하는 방법

(a, 0 ,0; 0 , a,0, 0,0,a) 

:이 매트릭스를 필요로하면서

private Matrix Rb = new Matrix (); 

는하지만 그것은 나에게 단지 신원 매트릭스를 제공합니다 :

나는이 시도 반전 회전 등?

+1

다른 오버로드를 사용해보십시오. https://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix(v=vs.110).aspx –

+0

실제로 세 번째 열에 값을 설정할 수 없습니다. – TaW

답변

0

실제로 세 번째 열에 값을 설정할 수 없습니다. here을 참조하십시오.

GDI +에서는 아핀 변환을 Matrix 개체에 저장할 수 있습니다. 어파인 변환을 나타내는 행렬의 세 번째 열은 항상 (0, 0, 1)이기 때문에 Matrix 객체를 구성 할 때 처음 두 열에는 의 여섯 개의 숫자 만 지정하면됩니다.

는에 전달할 수는 constructor overload 6 개 번호를 사용하여 처음 두 열을 설정합니다.

0

Matrix 클래스는 3x3 크기의 아핀 행렬을 캡슐화합니다.

그리고 당신이처럼 initalize 수 있습니다 : 다음은 첫 번째 행의 값과 새로운 매트릭스의 첫 번째 열 (https://msdn.microsoft.com/en-us/library/d0616edf(v=vs.110).aspx)

Matrix matrix = new Matrix(m11, m12, m21,m22, dx,dy); 

의 모든 수치는

  • m11floats이다.
  • m12 : 새 행렬의 첫 번째 행과 두 번째 열의 값입니다.
  • m21 : 새 Matrix의 두 번째 행과 첫 번째 열의 값입니다.
  • m22 : 새 매트릭스의 두 번째 행과 두 번째 열의 값입니다.
  • dx : 새 매트릭스의 세 번째 행과 첫 번째 열의 값입니다.
  • dy : 새 매트릭스의 세 번째 행과 두 번째 열의 값입니다.
관련 문제