2011-01-23 4 views
19

ImageView.setImageMatrix (매트릭스)를 사용하여 이미지를 회전하고 싶지만 단순히 효과가 없습니다. 나는 matrix.postRotate (45, 20, 20)를 호출한다. 위의 함수에 전달하기 전에 효과는 없지만 이미지는 회전되지 않습니다. 왜?ImageView.setImageMatrix()가 작동하지 않는 이유는 무엇입니까?

matrix.postRotate(45, 20, 20); 
ImageView.setImageMatrix(matrix) 

답변

58

는 정말 모르겠어요하지만 난 당신이 규모의 유형을 설정해야한다고 생각 :

imgView.setScaleType(ScaleType.MATRIX); 

또한 수행 할 수 android:scaleType="matrix"와 XML이다.

+0

@ Mr. 롤랜드 : 오. 나는 최근에 ImageView 소스를보고 다른 이미지 모드에서도'mMatrix' (이미지 행렬)가 읽혀지기 때문에 확신하지 못했습니다. 그러나 다시 보았습니다. 실제로'Matrix.set *()'를 사용하여 리셋됩니다. 일련의 방법. – bigstones

+5

나를 위해 작동하지 않습니다. 내 코드'Matrix matrix = new Matrix(); \t matrix.postRotate (90); \t \t my_img.setScaleType (ScaleType.MATRIX); \t my_img.setImageMatrix (매트릭스); 그리고 아무 일도 일어나지 않습니다! – thomaus

+1

'matrix.postRotate (90, imageWidth/2, imageHeigth/2);를 사용해야합니다. –

관련 문제