我試圖在圖像上應用一些過濾器。要應用過濾器,我必須先創建一個數組:避免內存異常將過濾器應用於圖像(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