안드로이드 개발 질문/답변
(글 수 45,052)
현재 이미지를 ImageView로 읽어와서
버튼을 누르면 밝기를 밝게..또는 어둡게 하고 싶습니다.
아직 안드로이드는 초보라 모르는게 너무 많네요!(안드로이드펌의 도움 많이 받는중입니다..^^감사)
찾아보니 이미지 보정을 위해서는 ColorBitmap을 사용한다고 했는데..
예제는 Canvas에 드로우해서 쓰는것뿌니 없던데..
ImageView에도 찾아보니 ColorBitmap을 set해주는 함수가 없더라구요..ㅠ.ㅠ
ColorBitmap을 사용하려면 ImageView에서는 사용 못하나요? 사용할 수 있다면 예제라도.ㅠ..ㅠ
아..그리고 이미지 줌을 했는데 하나는 ImageView에서 또하나는 View의 Canvas에서 해보았습니다.
둘의 차이점이 몬가요? 기본이 없어서요..ㅠ.ㅠ 어떤게 더 좋은 건지.ㅠㅠ




이미지뷰는 뷰를 상속합니다. 이미지뷰도 뷰와 마찬가지로 결국엔 자신의 캔버스에 이미지를 그려서(drawBitmap) 화면에 보여줍니다.
다만 이미지뷰는 이미지를 보여주기 위해 최적화된 위젯이므로 이미지를 보여주기 위한 유용한 메서드들이 제공되지요. 즉 사용자가 뷰의 캔버스에 비트맵을 직접 그리는 것보다는 이미지뷰가 제공하는 setImageBitmap(Bitmap b) 메서드로 비트맵을 표시하는 게 더 고급스런 방법입니다. 그러면 이미지뷰가 알아서 비트맵을 리사이징해서 자신의 캔버스에 비트맵을 그리니까요.
말씀하신 것처럼 이미지 밝기를 조절하신다면 비트맵을 직접 수정하지 않고도 이미지뷰가 제공하는 setColorFilter() 메서드로 필터만 걸어줘도 됩니다.