将图像从Android上的可绘制资源保存到SD卡

Mou*_*ssa 22 android sd-card drawable android-image android-button

我想知道如何通过点击按钮将图像保存到用户的SD卡.有人可以告诉我该怎么做.Image为.png格式,存储在drawable目录中.我想编写一个按钮将该图像保存到用户的SD卡.

Imr*_*ana 39

保存文件(在您的情况下是图像)的过程在此处描述:save-file-to-sd-card


从drawble资源将图像保存到SD卡:

假设您的drawable中有一个图像即ic_launcher.然后从这个图像获取一个位图对象,如:

Bitmap bm = BitmapFactory.decodeResource( getResources(), R.drawable.ic_launcher);
Run Code Online (Sandbox Code Playgroud)

可以使用以下方法检索SD卡的路径:

String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令保存到按钮单击上的SD卡:

File file = new File(extStorageDirectory, "ic_launcher.PNG");
    FileOutputStream outStream = new FileOutputStream(file);
    bm.compress(Bitmap.CompressFormat.PNG, 100, outStream);
    outStream.flush();
    outStream.close();
Run Code Online (Sandbox Code Playgroud)

不要忘记添加android.permission.WRITE_EXTERNAL_STORAGE权限.

这是用于从drawable保存的修改文件:SaveToSd ,一个完整的示例项目:SaveImage