屏幕截图中的错误(Android)

时间:2011-11-04 16:00:21

标签: android eclipse screenshot

我使用以下代码截取TableLayout的屏幕截图。我必须补充一点,我的android应用程序的主题设置为LIGHT。它在模拟器屏幕上显示完全正常(就像它应该的那样)....但是,一旦拍摄截图,图像就会变成这样......任何人都可以帮助指出我在做错了什么?谢谢!

private void getScreen()
            {
                View content = findViewById(R.id.TransactionLog);
                content.setDrawingCacheEnabled(true);

                content.buildDrawingCache(true);

                Bitmap bitmap = Bitmap.createBitmap(content.getDrawingCache());


                content.setDrawingCacheEnabled(false); // clear drawing cache

                File file = new File(Environment.getExternalStorageDirectory() + 
                         File.separator + "logDetails.jpeg");




                        try 
                            {
                                file.createNewFile();
                                FileOutputStream ostream = new FileOutputStream(file);
                                bitmap.compress(CompressFormat.JPEG, 100, ostream);

                                ostream.flush();
                                ostream.close();

                            } 
                        catch (Exception e) 
                            {
                                e.printStackTrace();
                            }

                        if (!file.exists()) {
                            sendmail();
                        }
            }

The background shows black

1 个答案:

答案 0 :(得分:2)

1)你应该使用png。 Jpeg是照片(基本上)。

2)因为你正在使用Jpeg,我认为那些黑色区域会透明。 Png支持透明度。 Jpeg没有。我没有尝试过drawingCache,所以也许它也不支持透明度,我完全错了,但那是我的猜测。

所以,总结一下,试试Png。