eclipse中使用Glide进行高斯模糊处理

来源:互联网 发布:java核心技术 下载 编辑:程序博客网 时间:2024/06/06 02:40

1、下载Glide的jar包,地址:http://pan.baidu.com/s/1ge8ptIV

2、导入eclipse

3、创建类BlurTransformation继承import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;

package com.it.utils;import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;import android.content.Context;import android.graphics.Bitmap;import android.renderscript.Allocation;import android.renderscript.Element;import android.renderscript.RenderScript;import android.renderscript.ScriptIntrinsicBlur;public class BlurTransformation extends BitmapTransformation {    private RenderScript rs;    public BlurTransformation(Context context) {    super(context);        rs = RenderScript.create( context );    }    @Override    protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {        Bitmap blurredBitmap = toTransform.copy( Bitmap.Config.ARGB_8888, true );        // Allocate memory for Renderscript to work with        Allocation input = Allocation.createFromBitmap(            rs,             blurredBitmap,             Allocation.MipmapControl.MIPMAP_FULL,             Allocation.USAGE_SHARED        );        Allocation output = Allocation.createTyped(rs, input.getType());        // Load up an instance of the specific script that we want to use.        ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));        script.setInput(input);        // Set the blur radius        script.setRadius(20);        // Start the ScriptIntrinisicBlur        script.forEach(output);        // Copy the output to the blurred bitmap        output.copyTo(blurredBitmap);        toTransform.recycle();        return blurredBitmap;    }    @Override    public String getId() {        return "blur";    }}
4、使用

       Glide.with(this).load(picUrl).bitmapTransform(new BlurTransformation(this),
new CenterCrop(this)).into(layCover);

       其中picUrl为图片URL,layCover为加载图片的ImageView


0 0