2010-07-05 87 views
1

我已經看到了網絡上的驗證碼轉動色BMP爲灰度:

Bitmap grayscaleBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565); 

Canvas c = new Canvas(grayscaleBitmap); 
Paint p = new Paint(); 
ColorMatrix cm = new ColorMatrix(); 

cm.setSaturation(0); 
ColorMatrixColorFilter filter = new ColorMatrixColorFilter(cm); 
p.setColorFilter(filter); 
c.drawBitmap(bmp, 0, 0, p); 

我的問題是:1。 應該是顏色位圖我想影響「BMP」? 2.如何獲得灰度的0-255值?

謝謝。

回答

2
  1. 這取決於BMP是如何定義的(但看起來是一個正確的假設)
  2. 灰色=(0.299 * R + 0.587 * G + 0.114 * B); (來自here