wasabeef / Transformers
Licence: apache-2.0
An Android transformation library providing a variety of image transformations for Coil, Glide, Picasso, and Fresco.
Stars: ✭ 167
Programming Languages
kotlin
9241 projects
Projects that are alternatives of or similar to Transformers
BaseDevelop
an android project for now fashion open source framework
Stars: ✭ 24 (-85.63%)
Mutual labels: picasso, glide, fresco
Scrollgalleryview
🌉 Android image gallery with bottom scroll view
Stars: ✭ 481 (+188.02%)
Mutual labels: picasso, glide, fresco
AvatarImageGenerator
Android library to generate image avatar from the first letter of a username. Letter avatar like Gmail Android best practice
Stars: ✭ 61 (-63.47%)
Mutual labels: picasso, glide
Imageloader
a wrapper for fresco,glidev3,v4, a solution for image load and big image preview, and provide debug tool for imageview
Stars: ✭ 224 (+34.13%)
Mutual labels: glide, fresco
neon
Provides Jetpack Compose support for different image loading libraries.
Stars: ✭ 13 (-92.22%)
Mutual labels: picasso, glide
Materialimageloading
Material image loading implementation
Stars: ✭ 396 (+137.13%)
Mutual labels: picasso, glide
Picassopalette
Android Lollipop Palette is now easy to use with Picasso !
Stars: ✭ 366 (+119.16%)
Mutual labels: picasso, glide
Imageloaderframework
打造统一的图片加载框架,融合Glide(4.x),Fresco,不侵入业务代码,一套API兼容两种加载库
Stars: ✭ 422 (+152.69%)
Mutual labels: glide, fresco
Glide Transformations
An Android transformation library providing a variety of image transformations for Glide.
Stars: ✭ 9,540 (+5612.57%)
Mutual labels: image-processing, glide
Glidepalette
Android Lollipop Palette is now easy to use with Glide
Stars: ✭ 1,670 (+900%)
Mutual labels: picasso, glide
Composable Images
The Composable Images is a library providing Jetpack Compose wrapper for Glide, Picasso, and Coil.
Stars: ✭ 107 (-35.93%)
Mutual labels: picasso, glide
Gpuimage X
A Cross-platform (for both Android & iOS) Framework for GPU-based Filters, Video and Image Processing.
Stars: ✭ 154 (-7.78%)
Mutual labels: gpuimage, image-processing
Iread
Using Retrofit2,RxJava,RxKotlin,OkHttp,lottie,Material Design combined with Kotlin to display the wanAndroid's article and Douban hot movie and zhihu daily newspaper.
Stars: ✭ 158 (-5.39%)
Mutual labels: glide
Pdftabextract
A set of tools for extracting tables from PDF files helping to do data mining on (OCR-processed) scanned documents.
Stars: ✭ 1,969 (+1079.04%)
Mutual labels: image-processing
Gasyori100knock
image processing codes to understand algorithm
Stars: ✭ 1,988 (+1090.42%)
Mutual labels: image-processing
What is Transformers?
An Android transformation library providing a variety of image transformations for Coil, Glide, Picasso, and Fresco.
Part of the sample
Glide Transformations, Picasso Transformations, Fresco Processors are deprecated.
Development will stop soon.. For an up-to-date version, please use this.
Installation
Requirements
- Android 5.0+ Lollipop (API level 21)
Gradle settings
repositories {
mavenCentral()
}
This Transformer is NOT using android.support.v8.rendererscript because librs.so
make the APK file too big.
Coil
Fordependencies {
implementation 'jp.wasabeef.transformers:coil:1.0.3'
// Use the GPU Filters
implementation 'jp.wasabeef.transformers:coil-gpu:1.0.3'
}
imageView.load(IMAGE_URL) {
transformations(
CropCenterTransformation(),
RoundedCornersTransformation(radius = 120, cornerType = CornerType.DIAGONAL_FROM_TOP_LEFT)
)
}
Glide
Fordependencies {
implementation 'jp.wasabeef.transformers:glide:1.0.3'
// Use the GPU Filters
implementation 'jp.wasabeef.transformers:glide-gpu:1.0.3'
}
Glide.with(context)
.load(IMAGE_URL)
.apply(
bitmapTransform(
MultiTransformation(
CropCenterTransformation(),
BlurTransformation(context, 15, sampling = 1)
)
)
).into(imageView)
Picasso
Fordependencies {
implementation 'jp.wasabeef.transformers:picasso:1.0.3'
// Use the GPU Filters
implementation 'jp.wasabeef.transformers:picasso-gpu:1.0.3'
}
Picasso.get()
.load(IMAGE_URL)
.fit().centerInside()
.transform(
mutableListOf(
CropCenterTransformation(),
BlurTransformation(context, 25, sampling = 4)
)
).into(imageView)
Fresco
Fordependencies {
implementation 'jp.wasabeef.transformers:fresco:1.0.3'
// Use the GPU Filters
implementation 'jp.wasabeef.transformers:fresco-gpu:1.0.3'
}
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()
With Jetpack Compose
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)
)
)
Sample transformations
coil, glide, picasso
- BlurTransformation
- ColorFilterTransformation
- CropCenterBottomTransformation
- CropCenterTopTransformation
- CropCenterTransformation
- CropCircleTransformation
- CropCircleWithBorderTransformation
- CropSquareTransformation
- CropTransformation
- GrayscaleTransformation
- MaskTransformation
- RoundedCornersTransformation
fresco
- BlurPostprocessor
- ColorFilterPostprocessor
- CombinePostProcessors
- GrayscalePostprocessor
- MaskPostprocessor
GPUImage
Sample transformations withWe 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
Development
Setup
Things you will need
- Linux, Mac OS X, or Windows.
- Android Studio (Preview)
- npm
$ npm install
Build
$ ./gradlew assemble
Formatting
$ ./gradlew ktlint
Maven Central
Publishing to$ ./gradlew clean build publish
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].