gpt4 book ai didi

Android - 选择性地关注位图

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:54:36 24 4
gpt4 key购买 nike

我目前能够模糊整个位图(例如,通过将其缩小而不是放大)。

我试图实现的效果是选择性模糊:结果位图将被模糊,减去它仍然清晰的圆形/椭圆形部分:

Example image

困难的是尖椭圆部分可以变小也可以变大,并且可以移动(它的坐标并不总是在原始位图的中心)。

我已经找到了一个解决方案,但我不认为它是一个好的性能明智的解决方案:

  1. 将原始位图复制成两个不同的位图(背景和前景)
  2. 模糊背景
  3. 将前景裁剪成所需的形状(圆形或椭圆形)
  4. 稍微删除前景的边界(以避免前景和背景图像之间的差异过于明显)
  5. 将两张图片放回原处
  6. 将其导出为位图

Possible solution image

另一个解决方案可能是重新创建一个模糊算法,该算法将遍历原始位图的每个像素,并根据位图的部分应用更高或更低的模糊量。

最佳答案

我最终决定遵循我的第一个想法,使用@DerGolem 链接。这是图表的更新版本:

Updated chart

算法非常简单:

  1. 我们创建位图的两个副本:第一个用作背景,而另一个用作图片的锐利部分。为了避免第二个太尖锐,我们将使用准备好的 mask (存储在 drawables 文件夹中)
  2. 我们尽可能地模糊第一个
  3. 我们将蒙版应用于第二个位图
  4. 我们根据前两个步骤创建位图

我创建了一个示例演示应用程序,托管在 BitBucket 上。你可以clone the project并尝试一下,性能比我预期的要好得多!

为了实现这一目标,我使用了以下资源:

  1. 用于模糊背景的 RenderScript,比上下调整图像大小要好得多:1 , 2
  2. Understand Porter/Duff

正如项目自述文件中所述,所提供的代码远非完美,但它可以工作。

关于Android - 选择性地关注位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27688331/

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