ANDROID
[안드로이드] 사용자 정의 matrix를 사용해 ImageView의 Bitmap 조정하기
언제나중수
2018. 12. 3. 13:29
기존 안드로이드 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 관련