小编web*_*ass的帖子

将位图保存到应用程序文件夹

当我的应用程序第一次启动时,它让用户选择个人资料图片。这可以通过拍摄照片或从图库中选择来完成。

用户获得图片后,必须将其保存在设备的内部存储中,并将在应用程序中用作用户的个人资料图片。

这个过程工作正常,用户获取图片,并在保存之前显示在图像视图中。但是要将图像保存在内部存储器中,我遇到了一些麻烦。我尝试了几种方法来做到这一点,其中大多数似乎都有效。但是当我尝试它们时,图片没有被保存,或者至少我没有找到保存它的文件夹。

我已经尝试过这3种方式:

第一的:

File directory = getDir("profile", Context.MODE_PRIVATE);
File mypath = new File(directory, "thumbnail.png");

FileOutputStream fos = null;
try {
    fos = new FileOutputStream(mypath);
    mybitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
    fos.close();
} catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

第二:

ByteArrayOutputStream bytes = new ByteArrayOutputStream();
mybitmap.compress(Bitmap.CompressFormat.PNG, 90, bytes);

FileOutputStream fos = null;
try {
    fos = openFileOutput("thumbnail.png", Context.MODE_PRIVATE);
    fos.write(bytes.toByteArray());
    fos.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

第三:

ByteArrayOutputStream bytes = new ByteArrayOutputStream();
mybitmap.compress(Bitmap.CompressFormat.PNG, 90, bytes); …
Run Code Online (Sandbox Code Playgroud)

android bitmap

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

bitmap ×1