All Projects → wasabeef → Transformers

wasabeef / Transformers

Licence: apache-2.0
An Android transformation library providing a variety of image transformations for Coil, Glide, Picasso, and Fresco.

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
Gallery
图片缩放以及相册的实现
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
Openisp
Image Signal Processor
Stars: ✭ 158 (-5.39%)
Mutual labels:  image-processing
Smartcrop.js
Content aware image cropping
Stars: ✭ 12,345 (+7292.22%)
Mutual labels:  image-processing
Glideslider
Glide Image Slider
Stars: ✭ 163 (-2.4%)
Mutual labels:  glide
Glide
https://github.com/Masterminds/glide
Stars: ✭ 160 (-4.19%)
Mutual labels:  glide
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.

For Coil

dependencies {
  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)
  )
}

For Glide

dependencies {
  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)

For Picasso

dependencies {
  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)

For Fresco

dependencies {
  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

Original Mask NinePatchMask CropTop
CropCenter CropBottom CropCenterRatio16x9 CropCenterRatio4x3
CropTopRatio16x9 CropBottomRatio4x3 CropSquare CropCircle
CropCircleWithBorder ColorFilter Grayscale RoundedCorners
RoundedCornersTopLeft RSGaussianBlurLight RSGaussianBlurDeep StackBlurLight
StackBlurDeep

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

Development

Setup

Things you will need

$ npm install

Build

$ ./gradlew assemble

Formatting

$ ./gradlew ktlint

Publishing to Maven Central

$ ./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].