我试图在图像上应用一些过滤器。要应用过滤器,我必须先创建一个数组:避免内存异常将过滤器应用于图像(Android)
int[] arr = new int[image.width*image.height];// to store each pixel
然后我可以将它传递给将应用过滤器的函数。
问题:如果我有超过500KB(约)更大的图像,OOME有没有说我打招呼。
我的尝试:划分满图像分为四个部分以及各部分应用过滤器,并加入他们的行列,但我再次创造int数组时,得到OOME在同一直线上,即。
我不想妥协的图像质量和缩小它。
我真正想要的只是一个提示/逻辑/建筑可在大的图像一样大5 MB ....来处理这个
我想知道过滤图像的方法是什么样子,如果你不介意? – Jave 2011-12-20 09:18:17
正如我告诉你的,应用过滤器不产生OOME,但在应用之前,我需要转换成数组,在这里我得到OOME ...如果你仍然需要看到过滤器代码让我知道,我不介意。 – Farhan 2011-12-20 10:23:54
我对于你在图像上做了什么操作大多好奇。许多简单的操作(如色彩移动等)可以用[ColorMatrix] [1]完成,在这种情况下,您不需要创建新的整数数组。 [1]:http://developer.android.com/reference/android/graphics/ColorMatrix。html – Jave 2011-12-20 10:26:54