亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Android中將位圖轉換為GrayScale

在Android中將位圖轉換為GrayScale

大話西游666 2019-11-27 13:19:52
我是這個網站的新手,并且提出了有關Android的問題。有什么方法可以將位圖轉換為灰度?我知道如何繪制灰度位圖(使用畫布操作:http : //www.mail-archive.com/[email protected]/msg38890.html),但我確實需要使用灰色的實際位圖(或至少可以在以后轉換為位圖的東西)。我是否必須手動實施(逐像素操作)?我已經搜索了很多,但仍然找不到。任何人都知道一種簡單/有效的方法嗎?
查看完整描述

3 回答

?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

這不是您鏈接的代碼的全部功能嗎?它需要一個彩色位圖(“ bmp”),創建一個重復的位圖(“ bm”),然后使用該濾鏡將該彩色位圖繪制為“ bm”,以將其轉換為灰度。從那時起,您可以將“ bm”用作實際的灰度位圖,并執行任何您想使用的位圖。

您需要稍微調整一下示例(它使用的是硬編碼的大小,您可能只想克隆原始位圖的大小),但是除此之外,這似乎已經可以隨時使用了。 ,具體取決于您的需求。


查看完整回答
反對 回復 2019-11-27
?
HUH函數

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;

}

歡迎對此發表任何評論或評論。


查看完整回答
反對 回復 2019-11-27
  • 3 回答
  • 0 關注
  • 537 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號