본문 바로가기

Android.log

ImageView ColorFilter 로 이미지 색변경하기

반응형

이미지 선택,클릭 효과를 주기 위해서 xml selector 로 처리 하거나 코드 상으로 리스너에서 직접 설정을 합니다. 

주로 가이드 상 이미지를 미리 제공 받아서 리소스를 추가된 상태로 작업을 하였습니다..



이미지를 다운로드 받아서 써야 하는경우에 어떻게 처리 해야 할까요??


상태에 따라 이미지를 변경 하려면 변경할 이미지를 미리 다운로드 받지 않고 사용 하려면 다운로드, 캐시 등의 문제로 동작이 어색 할 수 있습니다.


ImageView 에 준비된 ColorFilter 를 사용하면 쉽게 이미지 컬러를 변경 처리 할 수 있습니다.


https://developer.android.com/reference/android/graphics/PorterDuff.Mode

 

PorterDuff.Mode 에 정의된 값을 보는 것처럼 많은 종류에 이미지 처리를 지원하고 있습니다.


각각 상황에 맞게 적용하시면 좋을거 같습니다.


imageView.setColorFilter(Color.parseColor("#ffff0000"), PorterDuff.Mode.SRC_IN);


ColorFilter 초기화 시에는 null을 넣어주면 됩니다.


imageView.setColorFilter(null);



투명 이미지 타입별 샘플



일반 이미지 타입별 샘플

 -Blending modes 에 경우 이미지에 뿌옇게 보여주는 효과로 쓰기에 유용해 보인다.





반응형