3 回答

TA貢獻1719條經驗 獲得超6個贊
這不是您鏈接的代碼的全部功能嗎?它需要一個彩色位圖(“ bmp”),創建一個重復的位圖(“ bm”),然后使用該濾鏡將該彩色位圖繪制為“ bm”,以將其轉換為灰度。從那時起,您可以將“ bm”用作實際的灰度位圖,并執行任何您想使用的位圖。
您需要稍微調整一下示例(它使用的是硬編碼的大小,您可能只想克隆原始位圖的大小),但是除此之外,這似乎已經可以隨時使用了。 ,具體取決于您的需求。

TA貢獻1836條經驗 獲得超4個贊
哦,是的,確實如此。我用錯了,感謝您向我指出。(很抱歉,這個無用的問題)這是結束代碼(很大程度上基于所鏈接的內容),因為它可以幫助某人:
public Bitmap toGrayscale(Bitmap bmpOriginal)
{
int width, height;
height = bmpOriginal.getHeight();
width = bmpOriginal.getWidth();
Bitmap bmpGrayscale = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bmpGrayscale);
Paint paint = new Paint();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);
ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);
paint.setColorFilter(f);
c.drawBitmap(bmpOriginal, 0, 0, paint);
return bmpGrayscale;
}
歡迎對此發表任何評論或評論。
- 3 回答
- 0 關注
- 537 瀏覽
添加回答
舉報