我想模糊ImageView
此代码不起作用,并且ScriptIntrinsicBlur
行强制关闭
模糊类 :
private static final float BLUR_RADIUS = 20f;
public Bitmap blur(Bitmap image) {
if (null == image)
return null;
Bitmap outputBitmap = Bitmap.createBitmap(image);
final RenderScript renderScript = RenderScript.create(this);
Allocation tmpIn = Allocation.createFromBitmap(renderScript, image);
Allocation tmpOut = Allocation.createFromBitmap(renderScript, outputBitmap);
ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(renderScript, Element.U8_4(renderScript));
theIntrinsic.setRadius(BLUR_RADIUS);
theIntrinsic.setInput(tmpIn);
theIntrinsic.forEach(tmpOut);
tmpOut.copyTo(outputBitmap);
return outputBitmap;
}
设置模糊代码:
bmp = BitmapFactory.decodeStream(urlImage.openConnection().getInputStream());
bmp = blur(bmp);
imgPost.setImageBitmap(bmp);
和错误日志:
https://i.stack.imgur.com/sL2BT.jpg
根据 ScriptIntrinsicBlur 文档,该类是在 API 17 中添加的,因此在此之前不存在。您可以使用 Renderscript 支持库访问 Renderscript 返回 API 8,包括 android.support.v8.renderscript.ScriptIntrinsicBlur