pull/1744/head
kunfei 3 years ago
parent bc4e2d3e35
commit 174e383d70
  1. 7
      app/src/main/java/io/legado/app/help/glide/BlurTransformation.kt
  2. 5
      app/src/main/java/io/legado/app/model/BookCover.kt

@ -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)
} }

Loading…
Cancel
Save