0

我正在将视图导出到文件中。

我的问题是我使用的是 Holo Light 主题,但导出的文件有深色背景。

编码:

Bitmap b = Bitmap.createBitmap(totalWidth, totalHeight, Bitmap.Config.ARGB_8888);
Canvas mCanvas = new Canvas(b);
miVista.draw(mCanvas);          
FileOutputStream fos = new FileOutputStream(file);
b.compress(Bitmap.CompressFormat.JPEG, 100, fos); 

我已经尝试了很多方法来将它涂成黑色以外的其他颜色,例如drawcolor,setpixels等,但我找不到我的问题的正确答案。

链接到您在终端中可以看到的图片

链接到导出的图片

4

2 回答 2

1

清除画布例如

mCanvas.drawColor(Color.WHITE); 

那么它将有白色背景。你期待什么样的背景?

于 2013-03-11T17:08:14.503 回答
0

我在另一篇文章中找到了解决方案: 将视图转换为位图...

Bitmap b = Bitmap.createBitmap(totalWidth, totalHeight, Bitmap.Config.ARGB_8888);
Canvas mCanvas = new Canvas(b);
Drawable bgDrawable =miVista.getBackground();
if (bgDrawable!=null) 
    bgDrawable.draw(mCanvas);
else 
    mCanvas.drawColor(Color.WHITE);
miVista.draw(mCanvas);  

解决方案是使用 Drawable 对象...

于 2013-03-19T08:10:11.947 回答