728x90
프로젝트에서 이미지를 블러 처리할 일 이 생겨서 방법을 찾아 보았다.
처음에는 Glide에서 BlurTransformation 을 지원해주는 줄 알았지만 wasabeef 의 라이브러리를 추가해 주어야 했다.
여기서 BlurTransformation()이 사용이안되어서 오랜시간 삽질을 했다.
이미지를 처리하기 위한 라이브러리 추가
사용방법
Glide.with(requireContext())
.load(showDetail.poster)
.apply(RequestOptions.bitmapTransform(BlurTransformation(15, 1)))
.into(ivSimplePosterBlur)
이미지를 블러 처리하는 부분
.apply(RequestOptions.bitmapTransform(BlurTransformation(15, 1)))
BlurTransformation 은 radius (15) , sampling (1) 를 매개변수로 받는다.
Radius
- 수치가 높을 수록 더 강한 블러처리 (이 값이 클수록 이미지가 더 흐릿해짐)
- radius가 클수록 더 많은 픽셀이 블러 처리
- 보통 1부터 25까지 처리 가능
sampling
- 이미지를 샘플링하는 데 사용
- 블러 효과의 품질을 결정
- 높은 샘플링 값은 더 고해상도의 이미지를 사용하여 블러를 생성하므로 더 세밀한 블러를 얻을 수 있지만, 그만큼 처리 시간이 더 오래 걸릴 수 있음 (sampling 값을 높이면 성능은 향상되지만, 이미지의 디테일이 손실될 수 있음)
- 최소값은 1 (1을 설정하면 이미지를 축소하지 않고 원본 해상도 그대로 블러 처리)
라이브러리 깃 허브
BlurTransformation
https://github.com/wasabeef/glide-transformations
Glide
https://github.com/bumptech/glide