保存图片

时间:2015-11-01 07:05:15

标签: android eclipse

我正在制作我的第一款Android游戏,让用户设计一匹马,我希望用户在完成后保存他们的工作并将其显示为图库类型但是当我尝试保存图像时,我得到的只是是黑屏而不是图像。我一直在为项目使用KiloBolt框架工作。我相信我得到一个黑屏的原因是因为它依赖于没有布局的屏幕格式,因此从未真正创建过它。那么,如果这是问题,或者我保存文件的方式是什么问题,我如何获得它的视图?如果您需要其他任何代码,请告诉我,我会发布。

保存代码

 private void takeScreenshot() {

            Date now = new Date();
            android.text.format.DateFormat.format("yyyy-MM-dd_hh:mm:ss", now);

            try {
                // image naming and path  to include sd card  appending name you choose for file
                String mPath = Environment.getExternalStorageDirectory().toString() + "/" + now + ".png";

                // create bitmap screen capture

                View  v1 =  ((Activity) game).getWindow().getDecorView().getRootView();

                v1.setDrawingCacheEnabled(true);
                Bitmap bitmap = null;

               int width = v1.getWidth();
                int height = v1.getHeight();

                    bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
                    bitmap.copy(Bitmap.Config.ARGB_8888, false);
                    Canvas c = new Canvas(bitmap);
                    v1.draw(c);

                v1.setDrawingCacheEnabled(false);

                File imageFile = new File(mPath);

                FileOutputStream outputStream = new FileOutputStream(imageFile );

                int quality = 100;
                bitmap.compress(Bitmap.CompressFormat.PNG, quality, outputStream);
                outputStream.flush();
                outputStream.close();

            } catch (Throwable e) {
                // Several error may come out with file handling or OOM
                e.printStackTrace();
                Log.d("CAB", "error" + e);
            }

        }

0 个答案:

没有答案