11

我不知道如何对图像应用不同的效果,

我已经看到效果类中的EffectFactory类和Effect类有一种方法apply 但我不确定在inputTexId和optputTexId中传递什么,以及从哪里获得新的更新图像,如何将更新的图像存储在imageView中,

请帮助我解决这个问题。是否有任何开源库可用于在 Image.js 上提供效果。

谢谢,

4

4 回答 4

9

我已经实现了Jerry 的 Java 图像处理库。对我来说很好。

下载AndroidJars

编辑

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
//Find the bitmap's width height
int width = AndroidUtils.getBitmapOfWidth(getResources(), R.drawable.ic_launcher);
int height = AndroidUtils.getBitmapOfHeight(getResources(), R.drawable.ic_launcher);
//Create a filter object.
GaussianFilter filter = new GaussianFilter();
//set???? function to specify the various settings.
filter.setRadius(8.5f);
//Change int Array into a bitmap
int[] src = AndroidUtils.bitmapToIntArray(bitmap);
//Applies a filter.
filter.filter(src, width, height);
//Change the Bitmap int Array (Supports only ARGB_8888)
Bitmap dstBitmap = Bitmap.createBitmap(src, width, height, Config.ARGB_8888);

在Android-jhlabs中查找更多详细信息

于 2013-04-30T05:33:11.850 回答
6

您可以使用 Catalano 框架:

http://code.google.com/p/catalano-framework/

FastBitmap image = new FastBitmap(bitmap);
image.toRGB();

//Sepia
Sepia sepia = new Sepia();
sepia.applyInPlace(image);

//Blur
Blur blur = new Blur();
blur.applyInPlace(image);

//Emboss
Emboss emboss = new Emboss();
emboss.applyInPlace(image);

//Retrieve bitmap
bitmap = fb.toBitmap();
于 2013-07-12T05:50:07.307 回答
4

你也可以试试这个项目它处理一些位图处理

过滤器:-

  • 增强颜色
  • 亮度
  • 颜色深度
  • 彩色滤光片
  • 对比
  • 浮雕
  • 翻转和旋转
  • 伽玛
  • 高斯模糊
  • 灰度
  • 色调
  • 倒置
  • 噪音
  • 饱和
  • 棕褐色
  • 锐化
  • 草图
  • 着色
  • 小插图

由于它是在 Java 中进行像素标签处理的,它不如大多数基于 C++ 的库那么快,但如果位图大小不是很大,例如缩略图,它就可以很好地工作。

于 2016-04-18T06:21:15.127 回答
2

这是一个优秀的库,易于与 gradle 集成,它快速高效,节省了我的时间:

https://github.com/wasabeef/picasso-transformations

这是它如何使用的一个例子:

 Transformation trans1 = new ContrastFilterTransformation(getActivity(), 1.5f);
 Transformation trans2 = new BrightnessFilterTransformation(getActivity(), 0.2f);
 Picasso.with(getActivity()).load(uri)
        .transform(trans1).transform(trans2).into(imageview3);
于 2015-06-01T10:49:49.123 回答