裁剪图像保存在内部存储中并从uri获取位图

时间:2015-09-03 07:52:36

标签: android android-bitmap

我编写了一个代码裁剪图像。图像可能有点大,所以我使用intent.putExtra("return-data", false);intent.putExtra("output", outputUri);所以我应该解码uri以获取位图。就像这样(omActivityResult) )

InputStream is = null;
is = getContentResolver().openInputStream(outputUri);
Bitmap avatar = BitmapFactory.decodeStream(is);

我首先制作外部存储来存储裁剪图像。它运行良好。

outputUri = Uri.fromFile(new File("/storage/emulated/0/upload.jpg"));

但我需要将其存储在内部存储中。我遵循Android developer

保存在内部存储中。代码如下。

FileOutputStream os = null;
    try
    {
        os = openFileOutput("upload.jpg", 0);
    }
    catch (FileNotFoundException e)
    {
    }
    finally
    {
        if (os != null)
        {
            try
            {
                os.close();
            }
            catch (IOException e)
            {
            }
        }

    }

    outputUri = Uri.fromFile(new File(getFilesDir().getAbsolutePath(), "upload.jpg"));

avatar将为null。我已经在stackoverflow中阅读了很多问题,但它不起作用。你能救我吗?

0 个答案:

没有答案