优化
This commit is contained in:
@@ -3,7 +3,7 @@ package io.legado.app.help.glide
|
|||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
import androidx.annotation.IntRange
|
import androidx.annotation.IntRange
|
||||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool
|
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool
|
||||||
import com.bumptech.glide.load.resource.bitmap.CenterCrop
|
import com.bumptech.glide.load.resource.bitmap.BitmapTransformation
|
||||||
import io.legado.app.utils.stackBlur
|
import io.legado.app.utils.stackBlur
|
||||||
import java.security.MessageDigest
|
import java.security.MessageDigest
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ import java.security.MessageDigest
|
|||||||
*/
|
*/
|
||||||
class BlurTransformation(
|
class BlurTransformation(
|
||||||
@IntRange(from = 0, to = 25) private val radius: Int
|
@IntRange(from = 0, to = 25) private val radius: Int
|
||||||
) : CenterCrop() {
|
) : BitmapTransformation() {
|
||||||
|
|
||||||
override fun transform(
|
override fun transform(
|
||||||
pool: BitmapPool,
|
pool: BitmapPool,
|
||||||
@@ -21,8 +21,7 @@ class BlurTransformation(
|
|||||||
outWidth: Int,
|
outWidth: Int,
|
||||||
outHeight: Int
|
outHeight: Int
|
||||||
): Bitmap {
|
): Bitmap {
|
||||||
val transform = super.transform(pool, toTransform, outWidth, outHeight)
|
return toTransform.stackBlur(radius)
|
||||||
return transform.stackBlur(radius)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun updateDiskCacheKey(messageDigest: MessageDigest) {
|
override fun updateDiskCacheKey(messageDigest: MessageDigest) {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.content.Context
|
|||||||
import android.graphics.drawable.BitmapDrawable
|
import android.graphics.drawable.BitmapDrawable
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
import com.bumptech.glide.RequestBuilder
|
import com.bumptech.glide.RequestBuilder
|
||||||
|
import com.bumptech.glide.load.resource.bitmap.CenterCrop
|
||||||
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
|
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
|
||||||
import com.bumptech.glide.request.RequestOptions
|
import com.bumptech.glide.request.RequestOptions
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
@@ -86,14 +87,14 @@ object BookCover {
|
|||||||
loadOnlyWifi: Boolean = false
|
loadOnlyWifi: Boolean = false
|
||||||
): RequestBuilder<Drawable> {
|
): RequestBuilder<Drawable> {
|
||||||
val loadBlur = ImageLoader.load(context, defaultDrawable)
|
val loadBlur = ImageLoader.load(context, defaultDrawable)
|
||||||
.transform(BlurTransformation(25))
|
.transform(BlurTransformation(25), CenterCrop())
|
||||||
return if (AppConfig.useDefaultCover) {
|
return if (AppConfig.useDefaultCover) {
|
||||||
loadBlur
|
loadBlur
|
||||||
} else {
|
} else {
|
||||||
val options = RequestOptions().set(OkHttpModelLoader.loadOnlyWifiOption, loadOnlyWifi)
|
val options = RequestOptions().set(OkHttpModelLoader.loadOnlyWifiOption, loadOnlyWifi)
|
||||||
ImageLoader.load(context, path)
|
ImageLoader.load(context, path)
|
||||||
.apply(options)
|
.apply(options)
|
||||||
.transform(BlurTransformation(25))
|
.transform(BlurTransformation(25), CenterCrop())
|
||||||
.transition(DrawableTransitionOptions.withCrossFade(1500))
|
.transition(DrawableTransitionOptions.withCrossFade(1500))
|
||||||
.thumbnail(loadBlur)
|
.thumbnail(loadBlur)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user