2012-08-10 91 views
0

我拿一個視圖的屏幕截圖(包含在白色背景上繪製的黑線):將位圖轉換的透明背景爲白色

myView.setDrawingCacheEnabled(true); 
Bitmap drawing = Bitmap.createBitmap(myView.getDrawingCache()); 

如果我旋轉此位圖如下所示:

Matrix matrix = new Matrix(); 
matrix.postRotate(45); 
drawing = Bitmap.createBitmap(drawing, 0, 0, drawing.getWidth(), drawing.getHeight(), matrix, true); 

我會得到一個透明背景的圖像。

爲了用白色替換透明顏色而不留下任何僞影,我需要做些什麼?這甚至有可能嗎?

回答

0

由於我的圖像只包含黑色背景上的黑色線條,因此我能夠以非常低效的方式解決此問題:遍歷圖像中的所有像素,如果它們不是黑色,則用白色替換它們的顏色。看起來在Color.TRANSPARENT和Color.WHITE之間有一個分隔區,寬度只有幾個像素,這會讓有人想要獲得相同效果以獲得更加豐富多彩的圖像,這會讓人難以接受。