优化
This commit is contained in:
@@ -8,6 +8,7 @@ import android.renderscript.Allocation
|
|||||||
import android.renderscript.Element
|
import android.renderscript.Element
|
||||||
import android.renderscript.RenderScript
|
import android.renderscript.RenderScript
|
||||||
import android.renderscript.ScriptIntrinsicBlur
|
import android.renderscript.ScriptIntrinsicBlur
|
||||||
|
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.CenterCrop
|
||||||
import java.security.MessageDigest
|
import java.security.MessageDigest
|
||||||
@@ -19,7 +20,11 @@ import kotlin.math.roundToInt
|
|||||||
* 模糊
|
* 模糊
|
||||||
* @radius: 0..25
|
* @radius: 0..25
|
||||||
*/
|
*/
|
||||||
class BlurTransformation(context: Context, private val radius: Int) : CenterCrop() {
|
class BlurTransformation(
|
||||||
|
context: Context,
|
||||||
|
@IntRange(from = 0, to = 25) private val radius: Int
|
||||||
|
) : CenterCrop() {
|
||||||
|
|
||||||
private val rs: RenderScript = RenderScript.create(context)
|
private val rs: RenderScript = RenderScript.create(context)
|
||||||
|
|
||||||
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
|
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
|
||||||
|
|||||||
@@ -63,11 +63,6 @@ object BookCover {
|
|||||||
}.getOrDefault(appCtx.resources.getDrawable(R.drawable.image_cover_default, null))
|
}.getOrDefault(appCtx.resources.getDrawable(R.drawable.image_cover_default, null))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getBlurDefaultCover(context: Context): RequestBuilder<Drawable> {
|
|
||||||
return ImageLoader.load(context, defaultDrawable)
|
|
||||||
.apply(RequestOptions.bitmapTransform(BlurTransformation(context, 25)))
|
|
||||||
}
|
|
||||||
|
|
||||||
fun load(
|
fun load(
|
||||||
context: Context,
|
context: Context,
|
||||||
path: String?,
|
path: String?,
|
||||||
@@ -90,16 +85,18 @@ object BookCover {
|
|||||||
path: String?,
|
path: String?,
|
||||||
loadOnlyWifi: Boolean = false
|
loadOnlyWifi: Boolean = false
|
||||||
): RequestBuilder<Drawable> {
|
): RequestBuilder<Drawable> {
|
||||||
|
val loadBlur = ImageLoader.load(context, defaultDrawable)
|
||||||
|
.apply(RequestOptions.bitmapTransform(BlurTransformation(context, 25)))
|
||||||
return if (AppConfig.useDefaultCover) {
|
return if (AppConfig.useDefaultCover) {
|
||||||
getBlurDefaultCover(context)
|
loadBlur.centerCrop()
|
||||||
.centerCrop()
|
|
||||||
} 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)
|
||||||
.transition(DrawableTransitionOptions.withCrossFade(1500))
|
.transition(DrawableTransitionOptions.withCrossFade(1500))
|
||||||
.thumbnail(getBlurDefaultCover(context))
|
.thumbnail(loadBlur)
|
||||||
.apply(RequestOptions.bitmapTransform(BlurTransformation(context, 25)))
|
.apply(RequestOptions.bitmapTransform(BlurTransformation(context, 25)))
|
||||||
|
.centerCrop()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user