출처 - http://gun0912.tistory.com/34
우리는 이미지를 사용하면서 여러종류로 이미지를 변형하고 싶을때가 있습니다.
- SNS에서 자주이용되는 원형의 프로필이미지
- 색깔을 넣은 컬러 필터 이미지
- 정사각형 모양의 이미지
- 블러로 느낌있는 배경의 이미지
- 등등등
제가 개발해서 운영중인 [셀폰]이라는 앱에도 여러가지형태로 이미지를 변형해서 쓰고있는데요.
그중에서 내 프로필화면에서 쓰인부분을 예시로 보여드리겠습니다.
프로필이미지를 Circle로 만들어주었고
해당 프로필이미지를 블러로 처리하여 배경화면으로 만들어주는 작업을 해주고 있습니다.
이러한것처럼 우리는 여러가지 방법으로 이미지를 변형할 수 있겠지만 이미지로딩 라이브러리를 사용하고 계신다면 해당 라이브러리에서 제공해주는 기능을 이용하면 좋습니다.
물론 해당 각 이미지로딩 라이브러리에 맞는 Transformation 라이브러리도 존재합니다.
Transform 적용 예시
이 라이브러리는 Glide 이미지로딩 라이브러리를 사용하고계신분들에게 유용한 Transformation 라이브러리입니다.
[안드로이드]유용한 라이브러리 - Glide (이미지 로딩 라이브러리)
Picasoo나 Fresco 이미지로딩 라이브러리를 사용하신다면 아래 링크를 통해 Transformation을 이용하실 수 있습니다.
Glide Transformations
https://github.com/wasabeef/glide-transformations
1. gradle 추가
compile 'jp.wasabeef:glide-transformations:1.0.6@aar'
2. bitmapTransform()함수에 transformation 클래스 추가
Glide.with(this).load(R.drawable.ic_selphone)
.bitmapTransform(new CropCircleTransformation(context))
.into(iv_selphone);
끝!
어때요? 참 쉽죠?
bitmapTransform()함수에는 파라미터로 1개의 transformation클래스만이 아니라 여러개의 클래스도 추가해줄수 있습니다.
Glide.with(this).load(R.drawable.ic_selphone)
.bitmapTransform(new BlurTransformation(context, 25, 2), new CropCircleTransformation(context))
.into(iv_selphone);
Transformation 라이브러리에서는 아래와같은 다양한 transformation을 제공합니다.
Crop
CropTransformation, CropCircleTransformation, CropSquareTransformation, RoundedCornersTransformation
Color
ColorFilterTransformation, GrayscaleTransformation
Blur
BlurTransformation
Mask
MaskTransformation
그외 GPUImage를 이용한 GPU Filter도 사용할 수 있습니다.
'개발 > 안드로이드' 카테고리의 다른 글
안드로이드 스크린샷 화면캡쳐 방지 (0) | 2016.06.17 |
---|---|
ImageView ScaleType Tutorial (0) | 2016.06.15 |
Android Studio 2.2 Preview 살펴보기 (0) | 2016.06.04 |
Android Wear 2.0 Developer Preview (0) | 2016.06.04 |
안드로이드 N 멀티윈도우 지원하기 (0) | 2016.06.04 |
댓글