매트릭스의 위치좌표를 변경하고, 매트릭스의 회전각을 조정하고, 매트릭스의 크기를 조정하는 작업을 동시에 했다.

이미지가 얼마나 커지는 지를 체크 할 필요가 있었다. 이미지의 배율을 구해서 변화폭을 관찰해야 하는 부분을 구현해야 했다.


하지만 0도일때는 잘 구해지던 것이 90에서는 안 구해지고 180에서는 구해지는데 270도에는 안구해졌다. 


float[] matrixValues = new float[9];

matrix.getValues(matrixValues);

matrixValues[Matrix.MSCALE_X];


위와 같은 코드를 통해서 가로의 크기를 구해줄려고 했는데 ,,,,, 0도에서는 잘 구해지다가 90도에서는 0을 뱉어냈다 ㅜㅜ 270도에서도 0을 반환했다. 


아 .... 수학적인 문제인가를 생각해서 계속 구글링을 하면서 찾아봤는데 좋은 답이 안 나왔다. 


도저히 안되서 matrixValues배열은 3*3 행렬이므로 for문으로 값들을 돌려봤다.


그런데 .... 나의 심각한 오판이 있었다. matrixValues[0]의 값이 0도 일때는 스케일의 배율값이었는데 

90도 일때는 스케일의 배율값이 아니었다. ㅡㅡ 

각도가 바뀔 때마다 각 속성이 뒤바뀌었다. 


정확한 이유는 쫌 더 공부를 해봐야 하겠지만 ....


어쨋든 정리하자면 

for문을 돌려보면서 0도 90도 180도 270도 일 때의 스케일의 배율을 나타내는 값을 찾아내서 

if문 4개에 넣어주었다. 

Posted by slender ankles
,