6

我正在尝试为 imageview 提供 Photoshop 分色效果。这是一个正常的图像。

在此处输入图像描述

应用后化效果后应该是这样的,这个效果取自pixlr 图像编辑器

在此处输入图像描述

我想要以编程方式获得确切的效果。

我尝试过的是,我正在尝试使用 SaturationFilter 类效果获得类似的效果,因为我无法找到 android 的后处理方法。

这是我的功能http://pastie.org/8007887

得到的图像是,如下图,它看起来不像 Photoshop 的分色效果,我尝试过几个饱和度,但没有运气。我希望有人能以正确的方式指导我。

在此处输入图像描述

找到了一些方法,http://developer.android.com/reference/android/media/effect/EffectFactory.html这里是posterization effect的指导方针,适用于android API level 14,使用API​​ level的设备呢<14?

4

3 回答 3

3

有一个很好的库,名为JHLabs 的 Java Image Processing

它有很多可用的图像处理过滤器。我也在我的应用程序中使用该库。它也与Android非常兼容。

您还可以下载源代码并运行示例应用程序。

JAR 下载:http ://www.jhlabs.com/ip/filters/Filters.zip

于 2013-06-05T06:37:59.270 回答
1

您可以使用以下
1. Android + Open CV
2. Android + Openframeworks

http://www.openframeworks.cc/setup/android-eclipse/在https://github.com/nkint/ofxPosterize
查看示例

于 2013-06-05T06:05:39.203 回答
0

您可以通过播放不同的可用源代码来应用这种效果

我建议您使用此网址并检查不同的效果https://xjaphx.wordpress.com/learning/tutorials/

下面提到了我能看到的最相关的功能,请尝试根据您的需要进行修改

int width = mImage.getWidth();
        int height = mImage.getHeight();
        int[] pixels = new int[width * height];
        mImage.getPixels(pixels, 0, width, 0, 0, width, height);

        for(int x = 0; x < pixels.length; ++x) {
            pixels[x] = (pixels[x] == fromColor) ? targetColor : pixels[x];
        }

        Bitmap newImage = Bitmap.createBitmap(width, height, mImage.getConfig());
        newImage.setPixels(pixels, 0, width, 0, 0, width, height);

        return newImage;
于 2015-07-29T13:31:34.347 回答