答案 1
最简单的方法是使用库。看看这个:https://github.com/wasabeef/Blurry
使用库,您只需要执行以下操作:
Blurry.with(context)
.radius(10)
.sampling(8)
.color(Color.argb(66, 255, 255, 0))
.async()
.onto(rootView);
答案 2
这是一种使用我在本文中发现的Android的RenderScript有效地模糊图像的简单方法。
-
创建一个名为 BlurBuilder 的类
public class BlurBuilder { private static final float BITMAP_SCALE = 0.4f; private static final float BLUR_RADIUS = 7.5f; public static Bitmap blur(Context context, Bitmap image) { int width = Math.round(image.getWidth() * BITMAP_SCALE); int height = Math.round(image.getHeight() * BITMAP_SCALE); Bitmap inputBitmap = Bitmap.createScaledBitmap(image, width, height, false); Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap); RenderScript rs = RenderScript.create(context); ScriptIntrinsicBlur 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; } }
将任何图像复制到可绘制文件夹
-
在您的活动中使用BlurBuilder,如下所示:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_login); mContainerView = (LinearLayout) findViewById(R.id.container); Bitmap originalBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.background); Bitmap blurredBitmap = BlurBuilder.blur( this, originalBitmap ); mContainerView.setBackground(new BitmapDrawable(getResources(), blurredBitmap));
-
Renderscript 包含在支持 v8 中,使此答案能够深入到 api 8。要使用 gradle 启用它,请将这些行包含在您的 gradle 文件中(从此答案)
defaultConfig { ... renderscriptTargetApi *your target api* renderscriptSupportModeEnabled true }
结果
推荐
-
如何在整个字符串中搜索特定单词? 我有这个代码,它搜索一个字符串数组,如果输入字符串与字符串的第一个字符匹配,则返回结果: 但是我想得到那些字符串,其中输入字符串不仅在第一个字符中匹配,而且在字符串中的任
-
添加Android应用程序的快捷方式到主屏幕打开按钮点击 我想通过按下按钮轻松将我的应用程序添加到主屏幕。因此,我在想的是我的应用程序底部的一个按钮,上面写着“添加到主屏幕”,当按下它时,它会在不关闭应用程序的情况下将快捷方式添
-
将屏幕亮度控制添加到安卓应用程序 我希望在我的应用程序菜单中添加控件以在本地调整屏幕亮度,但似乎不知道如何操作。我已经看到了最大化或调暗亮度的示例,但我希望添加控件,以便用户可以控制和设置亮度级别。有没有
-
-
由以下原因引起:java.lang.IllegalStateException: ParsePlugins 已被初始化 我退出了应用程序,重新启动了它,我得到了一个例外。 编辑: 我想知道为什么Parse会为此抛出一个异常。为什么不继续前进。它已初始化,如果我再次初始化它,那就太大了。 溶液 我已
标签
推荐