public Bitmap gaussianBlurBitmap(Bitmap image, int width, int height) {
Log.d("inputimg", Integer.toString(image.getByteCount()));
Bitmap inputBitmap = Bitmap.createScaledBitmap(image, width, height, false);
Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap);
RenderScript rs = RenderScript.create(getApplicationContext());
ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap);
Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);
blurScript.setRadius(15);
blurScript.setInput(tmpIn);
blurScript.forEach(tmpOut);
tmpOut.copyTo(outputBitmap);
rs.destroy();
Log.d("outimg", Integer.toString(outputBitmap.getByteCount()));
return outputBitmap;
}
输入Bitmap类型图片,输出Bitmap模糊后的图片。
ImageView设置Bitmap类型图片
// 获取资源图片bitmap
//Bitmap bitmap = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.lyric_bg);
imageView.setImageBitmap(bitmapOutput);