我有一個截屏方法,它從 XML 獲取視圖并轉換為位圖物件,并且我在布局視圖上有多個 PNG。一些 PNG 具有透明區域,在位圖中顯示為黑色(我想將其更改為白色)或想要擺脫黑色透明區域。
private void takescreenshot(LinearLayout preview) throws IOException
{
View z = preview; // get whole layout view
z.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(z.getDrawingCache());
z.destroyDrawingCache();
}
uj5u.com熱心網友回復:
創建一個新的空白位圖
創建畫布物件
填充畫布背景
將舊位圖放入畫布中。
Bitmap newBitmap = Bitmap.create(bitmap.width,bitmap.height,ARGB_8888)
Canvas canvas = new Canvas(newBitmap)
canvas.drawColor(Color.white)
canvas.drawBitmap(bitmap,0F,0F,null)
uj5u.com熱心網友回復:
最后我也想出了解決方案
View z = preview; // get whole layout view
z.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(z.getDrawingCache());
z.destroyDrawingCache();
Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),ARGB_8888);
newBitmap.eraseColor(Color.WHITE);
Canvas canvas2 = new Canvas(newBitmap);
canvas2.drawBitmap(bitmap,0F,0F,null);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/367376.html
下一篇:如何剪輯影像以洗掉其填充
