使用纯色生成等于屏幕大小的位图并保存

时间:2017-06-22 12:38:36

标签: android bitmap compression

我正在尝试创建一个可以生成尺寸等于用户手机屏幕尺寸的图像文件(JPEG / PNG)并使用单一纯色(黑色/蓝色/灰色等)填充的应用。生成后,它应该将图像保存到外部存储,以便在任何其他应用程序中使用。 任何帮助,将不胜感激。 到目前为止,我已经能够基于一些答案做到这一点,但它不会生成任何图像文件。 (我已经允许写入外部存储空间)

Bitmap bmp = Bitmap.createBitmap(640, 480, Bitmap.Config.ARGB_8888);//MUTABLE bitmap
            File file = new File(Environment.getExternalStorageDirectory(),"/image" + System.currentTimeMillis() + ".png");
            FileOutputStream str;
            try {

                str = new FileOutputStream(file);
                bmp.compress(Bitmap.CompressFormat.PNG,100,str);
            }
            catch (IOException e) {
                e.printStackTrace();
            }

这只是试图检查是否会生成/存储任何图像。

1 个答案:

答案 0 :(得分:0)

尝试关闭流:str.close()后写入 编辑:因为它工作,让我解释一下:流保持缓存在内存中的所有内容,直到一段时间(这不是一个完全确定的事情),所以如果你关闭流,它会刷新它缓冲的所有内容。因此,关闭流是一种很好的做法。