我需要帮助实施模糊解决方案才能完成以下任务:
标题实际上是一个模糊传入内容然后从屏幕上消失的内容。
我尝试使用许多库,例如Stackblur,paveldudka's blurring,最后500px own library。
其中一些失败(要么没有模糊,要么没有预期的结果),我仍然试图找出原因......
所有这些都使用相同的技术Android RenderScript Library
。
主要问题是这些库提供了一次性渲染。意思是,他们的模糊一次就是这样。它非常适合固定的背景/内容。
500px库最接近我要找的内容:
查看代码时,模糊将在动画侦听器的更新方法中重新呈现。这是非常昂贵的,我想知道它是否可行。
答案 0 :(得分:0)
如果您没有找到任何足够的解决方案,我将添加如何模糊我的整个屏幕,这应该是使用RS执行此操作的最快捷方式:
private static final float BITMAP_SCALE = 0.05f;
private static final float BLUR_RADIUS = 8.0f;
private Bitmap blurImage (Bitmap input) {
if (input == null){
return null;
}
int width = Math.round(input.getWidth() * BITMAP_SCALE);
int height = Math.round(input.getHeight() * BITMAP_SCALE);
Bitmap inputBitmap = Bitmap.createScaledBitmap(input, width, height, false);
Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap);
ScriptIntrinsicBlur theIntrinsic = null;
theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap);
Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);
theIntrinsic.setRadius(BLUR_RADIUS);
theIntrinsic.setInput(tmpIn);
theIntrinsic.forEach(tmpOut);
tmpOut.copyTo(outputBitmap);
return outputBitmap;
}