All Projects → zjupure → Glidewebpdecoder

zjupure / Glidewebpdecoder

Licence: apache-2.0
A Glide WebpDecoder Intergration Library for decoding and displaying webp images

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Glidewebpdecoder

Apng4android
Android animation support for APNG & Animated WebP & Gif,High performance
Stars: ✭ 222 (-54.13%)
Mutual labels:  webp, glide
Imageloaderframework
打造统一的图片加载框架,融合Glide(4.x),Fresco,不侵入业务代码,一套API兼容两种加载库
Stars: ✭ 422 (-12.81%)
Mutual labels:  glide
Glidefacedetectiontransformation
A memory efficient Android image transformation library providing cropping above Face Detection (Face Centering) for Glide.
Stars: ✭ 348 (-28.1%)
Mutual labels:  glide
Imagebutter
Makes dealing with images buttery smooth.
Stars: ✭ 395 (-18.39%)
Mutual labels:  webp
Androidproject
Android 技术中台,但愿人长久,搬砖不再有
Stars: ✭ 4,398 (+808.68%)
Mutual labels:  glide
Pinremoteimage
A thread safe, performant, feature rich image fetcher
Stars: ✭ 3,929 (+711.78%)
Mutual labels:  webp
Jetpack github
基于Kotlin + Jetpack全家桶 + Coroutines(协程) + Flutter等架构实现的一款精简版Github客户端项目,望与广大小伙伴一起成长,欢迎start or fork!
Stars: ✭ 314 (-35.12%)
Mutual labels:  glide
Webponize
macOS application that converts images to WebP.
Stars: ✭ 477 (-1.45%)
Mutual labels:  webp
Mort
Storage and image processing server written in Go
Stars: ✭ 420 (-13.22%)
Mutual labels:  webp
Gulp Tutorial
Code examples for my Gulp.js tutorial series
Stars: ✭ 383 (-20.87%)
Mutual labels:  webp
Mvvmsmart
基于谷歌最新AAC架构,MVVM设计模式的一套快速开发库,整合ViewModel+Lifecycles+Navigation+DataBinding+LiveData+Okhttp+Retrofit+RxJava+Glide等主流模块,满足日常开发需求。使用该框架可以快速开发高质量、易维护的Android应用。 项目组会持续维护,请放心使用.欢迎Start并Fork交流.
Stars: ✭ 382 (-21.07%)
Mutual labels:  glide
Imaginary
Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing
Stars: ✭ 4,107 (+748.55%)
Mutual labels:  webp
Wanandroid
🏄 基于Architecture Components dependencies (Lifecycles,LiveData,ViewModel,Room)构建的WanAndroid开源项目。 你值得拥有的MVVM快速开发框架:https://github.com/jenly1314/MVVMFrame
Stars: ✭ 410 (-15.29%)
Mutual labels:  glide
Geeknews
📚A pure reading App based on Material Design + MVP + RxJava2 + Retrofit + Dagger2 + Realm + Glide
Stars: ✭ 3,496 (+622.31%)
Mutual labels:  glide
Automator Workflows
A collection of Automator workflows (services) that speed up your design / development process. Compatible with LaunchBar 6 and 7 Actions
Stars: ✭ 439 (-9.3%)
Mutual labels:  webp
Laravel Glide
Easily convert images with Glide
Stars: ✭ 333 (-31.2%)
Mutual labels:  glide
Sharp
High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library.
Stars: ✭ 21,131 (+4265.91%)
Mutual labels:  webp
Materialimageloading
Material image loading implementation
Stars: ✭ 396 (-18.18%)
Mutual labels:  glide
Scrollgalleryview
🌉 Android image gallery with bottom scroll view
Stars: ✭ 481 (-0.62%)
Mutual labels:  glide
Govips
A lightning fast image processing and resizing library for Go
Stars: ✭ 442 (-8.68%)
Mutual labels:  webp

GlideWebpDecoder

license Release Version PRs Welcome

GlideWebpDecoder is a Glide integration library for decoding and displaying webp images on Android platforms. It is based on libwebp project and takes some implementation from Fresco and GlideWebpSupport as references.

Features

  • play animated webp images on all Android versions
  • show transparent or lossless webp images on Android devices lower than 4.2.1 (BitmapFactory support webp decode on 4.2+ android system so we have no need to handle)

Dependency Integration

Library is available in jcenter. If you build with Gradle, just add the following dependencies to your build.gradle file. Different Glide version is corresponding to different GlideWebpDecoder due to the annotation processor compatibility. The version rule of GlideWebpDecoder is "{major_version}.{glide_version}". For example, if you use glide 4.12.0, the corresponding version of GlideWebpDecoder should be 2.0.4.12.0

Library will only follow the latest three version of Glide. If you use a lower version glide, please clone the project and modify it yourself.

Notice

Since Glide 4.10.0 has migrate to AndroidX, so your project must use AndroidX with Glide 4.10.0+.

WebpDecoder with AndroidX support starts from version 1.6.{GLIDE_VERSION} and won't support glide version below 4.10.0 anymore.

If your project use glide version below 4.10.0, you can only use webpdecoder 1.6 version or below.

def GLIDE_VERSION = "4.12.0"
// webpdecoder
implementation "com.zlc.glide:webpdecoder:2.0.${GLIDE_VERSION}"
// glide 4.10.0+
implementation "com.github.bumptech.glide:glide:${GLIDE_VERSION}"
annotationProcessor "com.github.bumptech.glide:compiler:${GLIDE_VERSION}"

Then you are free to use GlideWebpDecoder just like using other Glide integration library.

Usage

Basic usage see Glide API documents

If you want to use BitmapTransformation or library glide-transformations, please use WebpDrawableTransformation to wrap your original BitmapTransformation when loading image with Glide request.

Code Snippet as follow. Run sample project to see other Glide built-in transformation effect.

Transformation<Bitmap> circleCrop = new CircleCrop();
GlideApp.with(mContext)
        .load(url)
        .optionalTransform(circleCrop)
        .optionalTransform(WebpDrawable.class, new WebpDrawableTransformation(circleCrop))
        .into(imageView);

Proguard

The library use native code to decode webp, so you should put the following lines to your proguard.cfg and keep the jni interface.

-keep public class com.bumptech.glide.integration.webp.WebpImage { *; }
-keep public class com.bumptech.glide.integration.webp.WebpFrame { *; }
-keep public class com.bumptech.glide.integration.webp.WebpBitmapFactory { *; }

Acknowledgement

License

The Library is Apache-2.0-licensed, part code is MIT-licensed see Fresco for detail.

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