将位图保存到位置

将位图保存到位置

我正在编写一个函数,从Web服务器下载图像,在屏幕上显示,如果用户希望保存图像,请将其保存在某个文件夹的SD卡上。有没有一种简单的方法来获取一个位图,然后将它保存到我所选择的文件夹中的SD卡中?

我的问题是,我可以下载图像,并显示在屏幕上的位图。我找到将图像保存到特定文件夹的唯一方法是使用FileOutputStream,但这需要一个字节数组。我不知道如何将位图转换为字节数组(如果这甚至是正确的话),所以我可以使用FileOutputStream来编写数据。

另一个选择是使用MediaStore:

MediaStore.Images.Media.insertImage(getContentResolver(), bm,
    barcodeNumber + ".jpg Card Image", barcodeNumber + ".jpg Card Image");

这可以很好地保存到SD卡,但不允许您自定义文件夹。


BIG阳
浏览 359回答 3
3回答

隔江千里

try (FileOutputStream out = new FileOutputStream(filename)) {     bmp.compress(Bitmap.CompressFormat.PNG, 100, out); // bmp is your Bitmap instance     // PNG is a lossless format, the compression factor (100) is ignored} catch (IOException e) {     e.printStackTrace();}

繁华开满天机

outStream&nbsp;=&nbsp;new&nbsp;FileOutputStream(file);将在AndroidManifest.xml中未经允许抛出异常(至少在os2.2中如此):<uses-permission&nbsp;android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android