2013-11-27 80 views
1

有沒有辦法以某種方式編輯圖像,例如在圖像被緩存之前在圖像上添加水印?所以,每當View(GridView在我的情況)刷新自己,水印不會一次又一次地添加到適配器的instantiateItem方法中,這會增加整個過程的滯後性。在通用圖像加載器中緩存之前編輯圖像

可選閱讀: 我正在使用我的相機應用拍攝的照片(就像拼圖遊戲一樣)。它們存儲在SD卡上,但由於擾亂,用戶無法使用畫廊中的圖片,他不得不使用我的應用程序在運行時對圖像進行解密,並向用戶顯示正確的圖像。這個過程讓我可以免費試用我的應用程序模型,如果用戶付費購買應用程序,可以在外面使用這些圖片。

問題是,除了在圖庫的gridview中,一切正常。會發生什麼情況是每次使用長按(用於編輯等)來選擇圖像時,GridView刷新自身並且所有圖像重新加載並且因此再次解密,這增加了加載的額外滯後並且總體用戶體驗惡化。有沒有什麼辦法可以在緩存圖像之前解密圖像,以避免這種情況發生?

回答

2

首先,您應該創建自己的實現BitmapProcessor

如果要在保存到光盤緩存之前處理圖像,請使用ImageLoaderConfiguration..discCacheExtraOptions(..., processor)。 在保存到磁盤之前,將對每個圖像執行處理。

如果要在保存到內存緩存之前處理圖像,請使用DisplayImageOptions.preProcessor(processor)。 處理將被執行的任務將有這個處理器的選項。

+0

是否有可能創建兩個版本的相同bitamp(從相同的URL獲取) - 預處理和原始?我試圖實現淡出模糊效果,我需要兩個圖像。如何將它們都存儲在磁盤緩存中並使用它們? –

+0

您可以在磁盤和緩存上保存多種尺寸。操縱一個大小,並嘗試看看它是如何工作的。這只是一個建議,並沒有試圖實施它。 –