之前 提過 從 RGB 格式計算其灰階明亮度 的方法。 在 Android 中,若想將整張圖片轉成灰階效果其實有更簡便的方式,只要透過 ColorMatrix 類別的 setSaturation 函式將飽和度設為 0 即可。(您也可以試試從 0~1 之間的值,看看不同飽和度的效果) 詳細方法如下: //colorBitmap 為原始 Bitmap,grayBitmap 則用來存放處理過後的灰階 Bitmap Canvas canvas = new Canvas(grayBitmap); Paint paint = new Paint(); ColorMatrix colorMatrix = new ColorMatrix(); colorMatrix.setSaturation(0); ColorMatrixColorFilter colorMatrixFilter = new ColorMatrixColorFilter(colorMatrix); paint.setColorFilter(colorMatrixFilter); canvas.drawBitmap(colorBitmap, 0, 0, paint); 參考資料: http://developer.android.com/reference/android/graphics/ColorMatrix.html
Creating apps to make your life easier.