android平台的图片滤镜
2014-11-27 15:53
323 查看
http://www.icodelogic.com/?p=575 这里提供了几种滤镜的实现.我也下载了代码试了效果,如果图片较小,还是可以接受的,如果图片较大,有些处理过程会失败,内存不足,作者主要是将一些处理用jni实现,并不像其它的库用c来处理的,当然可能种种原因了.
还有一些java处理的,好像是老外写的:http://www.jhlabs.com/ip/filters/index.html,
还有http://www.cnblogs.com/daizhj/archive/2012/05/15/2501406.html也是纯java实现的.
不管如何,对于移动设备的java,内存稍不注意就会出现不够用的情况,况且,如果是一个图片应用,本身其它列表已经加载了不少的内存,再处理一张图片的话,就很容易崩溃了.
常见一些软件的图片滤镜处理能力还是不错的,如腾讯微博的,我就试过,一张图片i9000拍照的最高精度,缩放1/2再加载,然后用腾讯的库处理滤镜的效果,内存大约是占用了9m,速度相当快.谁叫人家有钱,请的都是高手.
说了这么多,其实主要目的在于说明.滤镜的处理虽然用c,但java通过jni与c连接,还是可以反编译出来的.
在这里是技术交流,我也不会把腾讯的库反编译了然后再弄一个java调用的例子放上来,这是不合法地.
从jni调用来看,它的流程大约是这样的:
先实例化一个jni连接的类,里面有5个方法.分别是初始化设置图片数据,释放内存,处理滤镜,获取高,获取宽.
外部的调用过程:先设置图片数据,初始化滤镜的种类,这个种类是从资源文件里读取的,大约10种,然后在gallery中选中某种效果后找到对应种类的索引值,氢把这个索引值与之前的bitmap的byte[]数组一起传入,之后就可以得到一个rgb数组了,然后用这个rgv数组进行构造bitmap.
这些调用jni是在一个iamge360jni类中,然后记得在处理完成后得到了想要的图片,需要进行资源释放 .调用recycle,名字混淆了自己找吧.
如果有兴趣的,可以把它的程序拿出来看看,过程还是蛮容易的.在graphic包中包含了一个e类,包含这些调用.jni类比较单独,容易找的
还有一些java处理的,好像是老外写的:http://www.jhlabs.com/ip/filters/index.html,
还有http://www.cnblogs.com/daizhj/archive/2012/05/15/2501406.html也是纯java实现的.
不管如何,对于移动设备的java,内存稍不注意就会出现不够用的情况,况且,如果是一个图片应用,本身其它列表已经加载了不少的内存,再处理一张图片的话,就很容易崩溃了.
常见一些软件的图片滤镜处理能力还是不错的,如腾讯微博的,我就试过,一张图片i9000拍照的最高精度,缩放1/2再加载,然后用腾讯的库处理滤镜的效果,内存大约是占用了9m,速度相当快.谁叫人家有钱,请的都是高手.
说了这么多,其实主要目的在于说明.滤镜的处理虽然用c,但java通过jni与c连接,还是可以反编译出来的.
在这里是技术交流,我也不会把腾讯的库反编译了然后再弄一个java调用的例子放上来,这是不合法地.
从jni调用来看,它的流程大约是这样的:
先实例化一个jni连接的类,里面有5个方法.分别是初始化设置图片数据,释放内存,处理滤镜,获取高,获取宽.
外部的调用过程:先设置图片数据,初始化滤镜的种类,这个种类是从资源文件里读取的,大约10种,然后在gallery中选中某种效果后找到对应种类的索引值,氢把这个索引值与之前的bitmap的byte[]数组一起传入,之后就可以得到一个rgb数组了,然后用这个rgv数组进行构造bitmap.
这些调用jni是在一个iamge360jni类中,然后记得在处理完成后得到了想要的图片,需要进行资源释放 .调用recycle,名字混淆了自己找吧.
如果有兴趣的,可以把它的程序拿出来看看,过程还是蛮容易的.在graphic包中包含了一个e类,包含这些调用.jni类比较单独,容易找的
相关文章推荐
- Android, WindowsPhone7, IOS ,vc2010平台40多套图片滤镜开源
- Android, WindowsPhone7, IOS ,vc2010平台40多套图片滤镜开源
- Android, WindowsPhone7, IOS ,vc2010平台40多套图片滤镜开源
- Android, WindowsPhone7, IOS ,vc2010平台40多套图片滤镜开源
- Android平台上实现图片的缩放,圆角,倒影效果
- Android平台上使用skia库进行jpeg图片解码
- CCSprite在Android平台下显示SDCard中的图片
- Android平台利用ZXING生成二维码图片
- dp和px,那些不得不吐槽的故事——Android平台图片文字元素单位浅析
- Android平台利用ZXING生成二维码图片
- Android平台利用ZXING生成二维码图片
- android背景图片点击效果的实现(android平台下使用点九PNG技术)
- 【Android开发学习46】Android平台分割PNG图片成小png图片
- 在android平台缩放和旋转图片
- android平台UniversalImageLoader(异步加载大量图片
- 在android平台微信分享图片中带超链接
- dp和px,那些不得不吐槽的故事——Android平台图片文字元素单位浅析
- Android平台利用ZXING生成二维码图片
- android 图片处理 (滤镜,图片位置)
- Twitter的照片滤镜功能可能已经上线,内部员工正在对IOS和Android平台应用程序上进行测试