2012-11-16 53 views
3

我在我的項目中有一個簡單的圖像,用於android 2.3.3,我想知道第一個像素的顏色並用該顏色將每個像素替換爲背景顏色....我試過一切都像迭代像素,並設置像素的顏色,我什麼也沒有......例如,與畫面:在位圖中轉換顏色android

https://www.dropbox.com/s/e9dcq72c9u5o3op/img2.jpg

我想要得到這樣的結果:https://www.dropbox.com/s/r9zox7zueekq2xe/img3.jpg

我是一個非常新的Android開發者,因爲我的NAIF問題感到抱歉!

+1

中斷的http鏈接。 – powder366

回答

4

只需使用ColorFilter即可實現此目的。它將用另一種顏色代替一種顏色。工作示例:

Paint pnt = new Paint(); 
    Bitmap myBit = BitmapFactory.decodeFile(pathName); 
    Canvas myCanvas = new Canvas(myBit); 

    int myColor = myBit.getPixel(0, 0); 

    // Set the colour to replace. 
    ColorFilter filter = new LightingColorFilter(myColor, Color.WHITE); 
    pnt.setColorFilter(filter); 

    // Draw onto new bitmap. result Bitmap is newBit 
    myCanvas.drawBitmap(myBit,0,0, pnt); 
+0

而不是創建一個副本位圖可以在原始位圖上執行此操作(在您的代碼中是myBit)。 –

+0

@ RicardoMarquesdeSousa Yea。請參閱編輯。我只是爲了便於閱讀而這樣做,但你說得對,爲了節省內存更好。這將在其本身之上繪製新的。 – Doomsknight

+0

我現在測試你的解決方案,它不起作用:( –