gpt4 book ai didi

android:如何截取屏幕截图并将其模糊化?

转载 作者:行者123 更新时间:2023-11-29 18:20:19 25 4
gpt4 key购买 nike

我正在尝试制作一种自定义对话,它将以前的屏幕(镜头)作为背景,有点暗和模糊,好像没有聚焦。

为此,我想,当对话启动时,应该截取屏幕截图,使其变暗、模糊并放置为对话的背景...

您认为最好的方法是什么?

谢谢!

最佳答案

有一种方法,只是一种技巧,可以轻松尝试模糊效果。首先将 Bitmap 缩小到一半大小,然后使用过滤将其放大回原始大小。不过我不知道结果如何。

下面是使用这个想法的简短代码示例。缩放原始位图越小,它就会越“模糊”。但是根据一些实验,如果使用这种技术使用小于一半的尺寸,它会变得非常像素化。超出我的预期。

int width = bitmap.getWidth();
int height = bitmap.getHeight();
Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, width / 2, height / 2, true);

Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setFilterBitmap(true);

Canvas canvas = new Canvas(bitmap);

Rect scaledRect = new Rect(0, 0, scaledBitmap.getWidth(), scaledBitmap.getHeight());
Rect origRect = new Rect(0, 0, width, height);
canvas.drawBitmap(scaledBitmap, scaledRect, origRect, paint);
paint.setColor(Color.argb(80, 0, 0, 0));
canvas.drawRect(origRect, paint);

最后两行在 Bitmap 上绘制了一个半透明的黑色覆盖层,使它更暗。还有 BlurMaskFilter不太可行,因为它仅适用于 alpha channel 。很遗憾。或者也许我只是错过了它的用法。

关于android:如何截取屏幕截图并将其模糊化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5928665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com