【问题标题】:Using MediaStore.Images.Media to save bitmap in particular folder使用 MediaStore.Images.Media 将位图保存在特定文件夹中
【发布时间】:2016-04-07 09:29:59
【问题描述】:

我必须保存在画布上绘制的位图才能保存在我自己的文件夹中。

String imgSaved = MediaStore.Images.Media.insertImage(
                    getContentResolver(), drawView.getDrawingCache(),
                    UUID.randomUUID().toString() + ".png", "drawing"); 

我应该如何给出目录的路径?例如"/sdcard/MyPictures/"

【问题讨论】:

    标签: android bitmap saving-data


    【解决方案1】:

    使用 Bitmap.compress 在所需位置另存为 JPG 或 PNG

    File file = new File(yourpath, "yourfile.jpg");
    FileOutputStream out = new FileOutputStream(filename);
    yourbitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
    

    注意:90compression,其中100 表示不压缩。它适用于 JPG 而不适用于 PNG。不要忘记处理异常

    【讨论】:

    • 您认为在您的代码之后需要out.flush();out.close(); 吗?
    【解决方案2】:

    尝试为您想要的路径创建 File 对象

    File mFile = new File("/sdcard/tmp");
    
    String imgSaved=MediaStore.Images.Media.insertImage(getContentResolver(),mFile.getAbsolutePath(),UUID.randomUUID().toString()+".png", "drawing"); 
    

    查看this link 以供参考。

    【讨论】:

    • 这里没有显示如何将 drawView.getCache 图像插入特定目录(mFile)。你能展示如何做到这一点。 Android文档不清楚,insertImage方法重载了两种方法,但是都不清楚怎么做。谢谢
    猜你喜欢
    • 1970-01-01
    • 2013-05-27
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多