比方說,我有這樣的位圖,這是畫全黑隨機的形狀,並說我想成爲包來改變它的顏色,做我的位圖已被全部塗成白色的第一或有沒有其他的東西呢?安卓:更改位圖的顏色
回答
如果你使用Canvas更改位圖的顏色的辦法是改變自身的位圖。所涉及的步驟如下:
說你要加載現有的位圖,你有地方,你要着色它在某種程度上紅色。
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap);
之後,您想在將其繪製到畫布上之前修改位圖的像素。您可以創建一個int數組來保存所有的像素。
int[] pixels;
bitmap.getPixels(pixels, 0, 0, 0, 0, width, height);
之後,您需要修改數組(比如添加到紅色組件)。但是,現在我們所有的像素數組都是int值。 R,G和B都裝在裏面。如何檢索它們?
int red = Color.red(pixels[n]);
int green = Color.green(pixels[n]);
int blue= Color.blue(pixels[n]);
然後修改通過任何你想要的像素的值,你可以把它放在一個循環或你喜歡的,然後把它放回原來的像素陣列。此外,由於RGB值是8位值,因此RGB值從0到255。
之後,你會使用完全相反的功能回來。
bitmap.setPixels(pixels, 0, 0, 0, 0, width, height);
然後你就可以去調用Canvas.drawBitmap();
請記住,這個過程應該如果你這樣做頻繁,除了Canvas是做事情的,如果你有興趣的實時應用程序,如遊戲緩慢的方式是緩慢的。
希望它有幫助!
首先,我告訴我我需要初始化像素,所以我是int []像素= null;或者我也有一個編譯錯誤..第二我不能輸入for(int n = 0; n
沒關係,我用了一個雙循環:) , 有效。謝謝 :) – 2012-07-12 15:48:39
- 1. 更改背景顏色動態(安卓)
- 2. 安卓achartengine,改變點價值顏色
- 3. 更改位圖的像素顏色
- 4. Android - 更改位圖的像素顏色
- 5. 安卓:試圖從顏色代碼位圖。它返回null
- 6. 安卓更改一個詞的顏色觸摸
- 7. 更改textview的顏色問題 - 安卓android片段
- 8. 安卓:更改竊聽的TextView的顏色爲綠色,其他黑色
- 9. 使用功能更改位圖顏色
- 10. 安卓主題顏色
- 11. 安卓:更改標籤文字顏色編程
- 12. 安卓按鈕更改顏色和增加尺寸
- 13. 安卓:位圖
- 14. 更改圖像的顏色
- 15. 更改圖像的顏色
- 16. 安卓谷歌地圖圖標標記只是顏色白色
- 17. 更改ImagePlus圖像顏色
- 18. 更改圖片顏色
- 19. 更改圖像顏色
- 20. Java更改圖像顏色
- 21. 安卓TransalteAnimation位圖
- 22. 安卓:從位圖
- 23. 更改顏色條標題的位置
- 24. 如何更改AVAssetReaderTrackOutput中的位顏色?
- 25. 安卓:更改視圖的Z順序
- 26. 從位圖圖像的特定部分更改顏色
- 27. AS3將位圖顏色更改爲黑色
- 28. 更改視圖顏色基於另一個視圖的顏色
- 29. 更改顏色
- 30. 更改顏色
它的沒必要,你的位圖應該被繪成白色首先你可以設置任何時間與任何背景 – AkashG 2012-07-12 10:20:52
比爲什麼當我使用命令drawBitmap(位圖,矩陣,油漆(顏色綠色));我的位圖仍然是黑色..這是這樣做的方式,或者我把它搞砸了嗎? – 2012-07-12 10:24:18
我認爲一定有問題的東西在塗料(顏色綠色)這就是爲什麼它不繪畫。只通過參數繪畫和設置顏色綠色在paint作爲paint.setColor(Color.GREEN); – AkashG 2012-07-12 10:37:52