An Android transformation library providing a variety of image transformations for Coil, Glide, Picasso, and Fresco.
Glide Transformations, Picasso Transformations, Fresco Processors are deprecated.
Development will stop soon.. For an up-to-date version, please use this.
- Android 5.0+ Lollipop (API level 21)
repositories { mavenCentral() }This Transformer is NOT using android.support.v8.rendererscript because librs.so make the APK file too big.
For Coil 
dependencies { implementation 'jp.wasabeef.transformers:coil:1.0.6' // Use the GPU Filters implementation 'jp.wasabeef.transformers:coil-gpu:1.0.6' }imageView.load(IMAGE_URL) { transformations( CropCenterTransformation(), RoundedCornersTransformation(radius = 120, cornerType = CornerType.DIAGONAL_FROM_TOP_LEFT) ) }For Glide 
dependencies { implementation 'jp.wasabeef.transformers:glide:1.0.6' // Use the GPU Filters implementation 'jp.wasabeef.transformers:glide-gpu:1.0.6' }Glide.with(context) .load(IMAGE_URL) .apply( bitmapTransform( MultiTransformation( CropCenterTransformation(), BlurTransformation(context, 15, sampling = 1) ) ) ).into(imageView)For Picasso 
dependencies { implementation 'jp.wasabeef.transformers:picasso:1.0.6' // Use the GPU Filters implementation 'jp.wasabeef.transformers:picasso-gpu:1.0.6' }Picasso.get() .load(IMAGE_URL) .fit().centerInside() .transform( mutableListOf( CropCenterTransformation(), BlurTransformation(context, 25, sampling = 4) ) ).into(imageView)For Fresco 
dependencies { implementation 'jp.wasabeef.transformers:fresco:1.0.6' // Use the GPU Filters implementation 'jp.wasabeef.transformers:fresco-gpu:1.0.6' }val request: ImageRequest = ImageRequestBuilder.newBuilderWithSource(IMAGE_URL.toUri()) .setPostprocessor(BlurPostprocessor(context, 25, 4)) .build() holder.image.controller = Fresco.newDraweeControllerBuilder() .setImageRequest(request) .setOldController(draweeView.controller) .build()Use Composable Images when using with Jetpack Compose.
GlideImage( model = IMAGE_URL, modifier = Modifier.preferredWidth(120.dp), options = RequestOptions().transform( BlurTransformation(context, radius = 25, sampling = 4) ) )coil, glide, picasso
- BlurTransformation
- ColorFilterTransformation
- CropCenterBottomTransformation
- CropCenterTopTransformation
- CropCenterTransformation
- CropCircleTransformation
- CropCircleWithBorderTransformation
- CropSquareTransformation
- CropTransformation
- GrayscaleTransformation
- MaskTransformation
- RoundedCornersTransformation
fresco
- BlurPostprocessor
- ColorFilterPostprocessor
- CombinePostProcessors
- GrayscalePostprocessor
- MaskPostprocessor
Sample transformations with GPUImage
We recommend that you have a ToneCurve file, as you can apply any filters you like.
| Original | Sepia | Contrast | Invert |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
| PixelLight | PixelDeep | Sketch | Swirl |
![]() | ![]() | ||
| Brightness | Kuawahara | Vignette | ZoomBlur |
![]() | ![]() | ![]() | ![]() |
| WhiteBalance | Halftone | Sharpness | Toon |
![]() | ![]() | ![]() | ![]() |
| ToneCurve | |||
![]() |
coil-gpu, glide-gpu, picasso-gpu
- BrightnessFilterTransformation
- ContrastFilterTransformation
- HalftoneFilterTransformation
- InvertFilterTransformation
- KuwaharaFilterTransformation
- PixelationFilterTransformation
- SepiaFilterTransformation
- SharpenFilterTransformation
- SketchFilterTransformation
- SwirlFilterTransformation
- ToneCurveFilterTransformation
- ToonFilterTransformation
- VignetteFilterTransformation
- WhiteBalanceFilterTransformation
- ZoomBlurFilterTransformation
fresco-gpu
- BrightnessFilterPostprocessor
- ContrastFilterPostprocessor
- HalftoneFilterPostprocessor
- InvertFilterPostprocessor
- KuwaharaFilterPostprocessor
- PixelationFilterPostprocessor
- SepiaFilterPostprocessor
- SharpenFilterPostprocessor
- SketchFilterPostprocessor
- SwirlFilterPostprocessor
- ToneCurveFilterPostprocessor
- ToonFilterPostprocessor
- VignetteFilterPostprocessor
- WhiteBalanceFilterPostprocessor
- ZoomBlurFilterPostprocessor
Things you will need
- Linux, Mac OS X, or Windows.
- Android Studio (Preview)
- npm
$ npm install $ ./gradlew assemble $ ./gradlew ktlint Publishing to Maven Central
$ ./gradlew :core:clean :core:build :core:publish .... .... 


































