我们可以将EffectFactory Class用于较低版本

时间:2013-12-27 07:05:58

标签: android image-processing

对于我的新作业,我想使用一些可以提供 “Posterize效果”的库 。我找到了许多类似Aviary SDKjhlabs的库,是的,这些都很容易使用,但这些使代码更重。所以我一直在寻找Android的API本身,它可以完成类似的任务。经过大量的RnD,我终于找到了一个节省时间的 EffectsFactory ,它提供了我想要的相同功能。我也在我的作业中应用了它。但它在API级别14中添加了一件坏事,而我的应用程序应至少与API级别8兼容。

所以,我的问题是,

我可以将EffectFactory类用于较低版本吗?如果是,那么如何?

或者,如果不是,那么Android SDK中是否有任何类似于effectfactory的API?

请避免引用任何库或NDK的open cv库。

1 个答案:

答案 0 :(得分:3)

不,没有Android API可以在API 14下面对图像进行分色。即使是上面的API 14 EffectsFactory也可能无效,正如Android documentation中所述:

  

某些效果可能并非在所有平台上都可用,因此在创建特定效果之前,应用程序应通过调用isEffectSupported(String)确认此平台支持该效果。

但是,您可以轻松自己制作轻量级解决方案。海报化是一个简单的过程。例如,JHlabs' posterize filter后面的代码是less than 50 lines(其中大部分都是糖)。在你的鞋子里,如果使用第三方图书馆是不可能的,我会毫不犹豫地写自己的。

修改:如果您正在将应用从相机中拍摄的图像分色,还有Camera.Parameters.setColorEffect(),但同样在所有设备上都不支持此功能,因为它在{ {3}}:

  

例如,应用程序应在调用getSupportedColorEffects()之前调用setColorEffect(String)