如何实现像photoshop在Android中的平均模糊效果?

时间:2015-12-10 14:19:49

标签: android photoshop

我想做一个像photoshop的平均模糊一样的功能(过滤器>蓝色>平均值)

但我试过像android中的图像获取平均颜色的东西, 但真的很麻烦。大多数图像都是黑色或灰色或白色。

任何可用的lib?或者有任何应用程序可以这样做吗?

效果就像这样。

GOAL:

3 个答案:

答案 0 :(得分:1)

如果您不喜欢颜色值的平均颜色,您可以尝试使用Android的Palette课程。该课程用于根据图像的突出颜色生成颜色调色板,以创建如下内容:

enter image description here

这必须从UI线程异步完成:

Palette.from(bitmap).generate(new PaletteAsyncListener() {
    public void onGenerated(Palette palette) {
        // Use generated palette
    }
});

您可以尝试使用Palette类提供的不同方法(例如getVibrantColorgetMutedColorgetDarkVibrantColor等)来查看您喜欢的返回值。< / p>

答案 1 :(得分:0)

您可以使用此库来模糊任何背景或图像https://github.com/faradaj/BlurBehind

答案 2 :(得分:0)

一个有趣的问题。答案不是直截了当的。

  1. 环顾四周,我发现了这篇文章:How does photoshop calculate the "average blur" (average color) of an image?
  2. 这篇文章指的是代码:http://blog.soulwire.co.uk/code/actionscript-3/extract-average-colours-from-bitmapdata
  3. 这在Android上实现起来并不难。
  4. 但是,我建议您不要在Java中实现这一点,这非常慢。而是在RenderScript上执行此操作,这是一种专为此类任务设计的Google技术 - 一种交叉架构,高度优化的C代码,用于处理图形任务和图像处理。