package com.xscm.moduleutil.utils; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.Paint; import android.graphics.PorterDuff; import android.text.TextUtils; import android.view.View; import android.widget.ImageView; import androidx.annotation.NonNull; import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; import com.bumptech.glide.request.RequestOptions; import com.xscm.moduleutil.R; import com.xscm.moduleutil.widget.GrayscaleTransformation; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; /** * Copyright (c) 1 * */ public class ImageLoader { public static void loadHead(Context context, ImageView view, String url) { RequestOptions options = RequestOptions.circleCropTransform(); Glide.with(context).load(url).apply(options).error(com.xscm.moduleutil.R.mipmap.default_avatar).placeholder(R.mipmap.default_avatar).diskCacheStrategy(DiskCacheStrategy.ALL).into(view); } public static void loadHead(ImageView view, String url) { RequestOptions options = RequestOptions.circleCropTransform(); Glide.with(view).load(url).apply(options).error(R.mipmap.default_avatar).placeholder(R.mipmap.default_avatar).diskCacheStrategy(DiskCacheStrategy.ALL).into(view); } public static void loadImage(ImageView view, String url) { Glide.with(view).load(url).error(R.mipmap.default_image).placeholder(R.mipmap.default_image).diskCacheStrategy(DiskCacheStrategy.ALL).into(view); } public static void loadImage(Context context, ImageView view, String url) { Glide.with(context).load(url).error(R.mipmap.default_image).placeholder(R.mipmap.default_image) .diskCacheStrategy(DiskCacheStrategy.ALL).into(view); } /** * 加载图片并灰度 * @param context * @param view * @param url * @param placeholder */ public static void loadImage(Context context,ImageView view, String url, Float placeholder) { Glide.with(context).load(url).apply(RequestOptions.bitmapTransform(new GrayscaleTransformation(placeholder))) .error(R.mipmap.default_image).placeholder(R.mipmap.default_image).diskCacheStrategy(DiskCacheStrategy.ALL).into(view); } // 可调节灰度程度的方法 public static void loadGrayscaleImage(Context context, String url, ImageView imageView, float saturation) { Glide.with(context) .load(url) .apply(RequestOptions.bitmapTransform(new GrayscaleTransformation(saturation))) .into(imageView); } public static void loadIcon(Context context, ImageView view, String url) { if (TextUtils.isEmpty(url)) { view.setVisibility(View.GONE); } else { view.setVisibility(View.VISIBLE); } Glide.with(context).load(url).diskCacheStrategy(DiskCacheStrategy.ALL).into(view); } }