Glide解析heic
时间: 2024-06-08 22:05:35 浏览: 300
glide源码解析
Glide 是一个很流行的 Android 图片加载库,但是目前 Glide 并不支持直接加载 HEIC 格式的图片。不过我们可以通过添加一个第三方库来实现对 HEIC 格式的支持。
其中比较常用的是 Android-Image-Cropper 库,在 Glide 中使用也非常简单,只需要在 build.gradle 文件中添加以下依赖即可:
```
dependencies {
implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.+'
}
```
然后在 Glide 加载图片时,指定使用 HEIC 格式的解码器即可,示例代码如下:
```
GlideApp.with(context)
.asBitmap()
.load(uri)
.format(DecodeFormat.PREFER_ARGB_8888)
.override(Target.SIZE_ORIGINAL)
.into(object : SimpleTarget<Bitmap>() {
override fun onResourceReady(
bitmap: Bitmap,
transition: Transition<in Bitmap>?
) {
// 对 bitmap 进行操作
}
})
.transcode(HeicBitmapDrawableTranscoder(context), Bitmap::class.java)
```
其中 `HeicBitmapDrawableTranscoder` 是一个实现了 `ResourceTranscoder` 接口的类,主要负责将 HEIC 格式的文件转换为 `Bitmap` 对象。这个类的具体实现可以参考 Android-Image-Cropper 库的源代码。
阅读全文