2011-01-21 55 views
4

我正在開發android.i中的圖像處理軟件,想要更改特定圖像的亮度。它可以在代碼中完成嗎?如何更改android中圖像的亮度?

+1

堆棧溢出不是一個代碼寫入服務。你有沒有實施?有任何想法嗎?你已經使用的任何代碼?在這個過程中你究竟在哪裏卡住? – slhck 2011-01-21 09:12:36

+0

這並不是那麼糟糕,真的。 – hpique 2011-01-21 09:32:07

回答

3

你可能想看看LightingColorFilterDrawable,或者如果你想手動執行操作,看Bitmap - 特別getPixelssetPixels(或copyPixelsFromBuffercopyPixelsToBuffer,如果你願意的話)。

7

我使用這樣的事情在此刻:

if (brighter) 
{ 
    darknessPaint.setColorFilter(new PorterDuffColorFilter(Color.argb(level, 255, 255, 255), Mode.SRC_OVER)); 
} 
else 
{ 
    darknessPaint.setColorFilter(new PorterDuffColorFilter(Color.argb(level, 0, 0, 0), Mode.SRC_ATOP)); 
} 

darknessCanvas.setBitmap(dst); 
darknessCanvas.drawBitmap(src, 0, 0, darknessPaint); 

事實上,你可以使用LightningColorFilter過或ColorMatrixColorFilter。如果任何人有更好的(我的意思是更快,除了使用我還沒有嘗試過的JNI)方法,請讓我知道。

相關問題