使用 MediaStore.Images.Media 将位图保存在特定文件夹中

Using MediaStore.Images.Media to save bitmap in particular folder

我必须将在 canvas 上绘制的位图保存到我自己的文件夹中。

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

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

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

File mFile = new File("/sdcard/tmp");

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

查看 this link 以供参考。

使用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。不要忘记处理异常