Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A Glide WebpDecoder Intergration Library for decoding and displaying webp images

License

NotificationsYou must be signed in to change notification settings

zjupure/GlideWebpDecoder

Repository files navigation

licenseMaven CentralPRs Welcome

GlideWebpDecoder is aGlide integration library for decoding and displaying webp images on Android platforms. It is based onlibwebp project and takes some implementation fromFresco andGlideWebpSupport 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 MavenCentral. If you build with Gradle, just add the following dependencies to yourbuild.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.16.0, the corresponding version of GlideWebpDecoder should be 2.6.4.16.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.

Attention

SinceJCenter is being taken down on May 1 2021 and then close their service, so the library has migrate artifacts toMaven Central. See issue#76 for more detail.

Changes:

  • library group id has changed fromcom.zlc.glide tocom.github.zjupure
  • addmavenCentral() in yourbuild.gradle to fetch this library
  • only 2.0 version with glide 4.10~4.16 has been migrated and older version not support anymore

If your project use old library version below 2.0, you should upgrade the library to the latest 2.0 version.

defGLIDE_VERSION="4.16.0"// webpdecoderimplementation"com.github.zjupure:webpdecoder:2.6.${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 seeGlide APIdocuments

If you want to useBitmapTransformation or libraryglide-transformations, please useWebpDrawableTransformation to wrap your originalBitmapTransformation 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 yourproguard.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 isApache-2.0-licensed, part code isMIT-licensed seeFresco for detail.


[8]ページ先頭

©2009-2025 Movatter.jp