Glide是目前比较主流的图片加载开源框架,我学习了之后发现真的非常好用!
首先我(在build.gradle)导入一下complie:
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'jp.wasabeef:glide-transformations:2.0.1'
// If you want to use the GPU Filters
compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.3.0'
接着就可以使用非常方便的图片加载框架Glide了:
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new CenterCrop(Context),
new MaskTransformation(Context, R.mipmap.ic_launcher))
.into(image);
2.截取图片的上部分
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(
new CropTransformation(Context, 300, 100, CropTransformation.CropType.TOP))
.into(image);
3.截取图片的中间部分
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new CropTransformation(Context, 300, 100))
.into(image);
4.截取图片的下部分
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(
new CropTransformation(Context, 300, 100, CropTransformation.CropType.BOTTOM))
.into(holder.image);
5.将图片截成圆形
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new CropCircleTransformation(Context))
.into(image);
6.进行滤色效果(1)
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new ColorFilterTransformation(Context, Color.argb(80, 255, 0, 0)))
.into(image);
7.进行滤色效果(2)
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new ColorFilterTransformation(Context, Color.argb(80, 255, 0, 0)))
.into(image);
8.进行灰度级别处理
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new GrayscaleTransformation(Context))
.into(image);
9.图片圆角处理
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new RoundedCornersTransformation(Context, 30, 0,
RoundedCornersTransformation.CornerType.BOTTOM))
.into(image);
10.图片模糊处理
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new BlurTransformation(Context, 25))
.into(image);
11.图片滤镜处理
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new ToonFilterTransformation(Context))
.into(image);
12.特殊滤镜处理
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new SepiaFilterTransformation(Context))
.into(image);
13.对比度处理
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new ContrastFilterTransformation(Context, 2.0f))
.into(image);
14.色彩属性反相处理
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new InvertFilterTransformation(Context))
.into(image);
15.像素化处理
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new PixelationFilterTransformation(Context, 20))
.into(image);
16.素描效果
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new SketchFilterTransformation(Context))
.into(image);
17.旋转效果
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(
new SwirlFilterTransformation(Context, 0.5f, 1.0f, new PointF(0.5f, 0.5f)))
.into(image);
18.高亮处理
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new BrightnessFilterTransformation(Context, 0.5f))
.into(image);
19.过滤波纹处理
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new KuwaharaFilterTransformation(Context, 25))
.into(image);
20.虚光处理
Glide.with(Context)
.load(R.drawable.taylor_ic)
.bitmapTransform(new VignetteFilterTransformation(Context, new PointF(0.5f, 0.5f),
new float[] { 0.0f, 0.0f, 0.0f }, 0f, 0.75f))
.into(image);
效果图如下: