Android - 如何将画布保存到内部存储器中的图像

时间:2013-04-24 18:44:13

标签: java android android-canvas

您好我正在制作一款允许用户在屏幕上绘图的Android应用。我有一个按钮,按下时我希望画布作为图像保存到内部存储器中。我尝试了以下代码,但我不断获得FileNotFoundException open failed: EACCES (permission denied)

        String path = Environment.getDataDirectory().getAbsolutePath();
        File file = new File(path+"image.png");

        Bitmap bitmap = Bitmap.createBitmap(100,200,Bitmap.Config.ARGB_8888);

        FileOutputStream ostream;

        try {
            ostream = new FileOutputStream(file);
            bitmap.compress(CompressFormat.PNG, 100, ostream);
            ostream.flush();
            ostream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

2 个答案:

答案 0 :(得分:0)

尝试使用context.openFileInput(String fileName)创建fileoutputstream。

bitmap.compress(CompressFormat.PNG, 100, context.openFileInput(fileName);

答案 1 :(得分:0)

在这一部分尝试改为:

File file = new File(path + File.separator + "image.png");

并确保您的清单中包含以下内容:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />