본문 바로가기

ANDROID

[안드로이드] 사용자 정의 matrix를 사용해 ImageView의 Bitmap 조정하기

기존 안드로이드 Imageview 내에 png 파일이나 비트맵 파일을 집어넣을 때 scaleType 옵션을 사용해


꽉 차게, 혹은 중앙에 위치하는 등의 오토 스케일링이 가능한데, 사용자가 좀 더 세밀하게, 그리고 다양한 옵션을 주고 싶을 때는


이 scaleType 옵션만으로는 성에 차지 않을 수 있다.



본인도 똑같은 이유로 자료를 좀 찾아보았는데, scaleType의 옵션 중 matrix라는 것이 있는데, 이를 사용하면


이미지 회전, 이미지 확대 축소와 이동까지 다양한 옵션을 달아 적용할 수 있는 것이었다.



사용법은 단순하다. 레이아웃의 ImageView의 scaleType의 옵션을 matrix (scaleType="matrix")로 두고


매트릭스 객체를 하나 생성한 뒤에 이를 ImageView에 



이미지뷰.setImageMatrix(만든매트릭스객체); 



로 정의하면 끝난다.


다이나믹하게도 설정 가능한지는 문서를 더 찾아봐야겠지만, 충분히 가능하지 않을까 짐작 중.




 + 이외에 추가로 레이아웃 파라미터를 사용하여 이미지를 정렬하는 stackOverflow 자료도 있어 추가로 명시함.




<참조>


- scaleType과 Matrix 관련


https://developer.android.com/reference/android/widget/ImageView.ScaleType


http://www.shop-wiz.com/document/android/sample5_use_matrix



- LayoutParams 관련


https://stackoverflow.com/questions/4819923/how-to-set-androidlayout-alignparentleft-attribute-to-imageview-in-code/4819982#4819982