如何以编程方式将示例图像从可绘制文件夹复制到 SDCARD 文件夹



我的可绘制文件夹中有图片/图像,我想将它们全部复制到我的 sdcard 文件夹中,具有相同的质量和细节?如果我有例如这个。

Integer[] mThumbIds = {
        R.drawable.pic_1, R.drawable.pic_2,
        R.drawable.pic_3, R.drawable.pic_4,
        R.drawable.pic_5, R.drawable.pic_6,
        R.drawable.pic_7
};

然后我的应用程序在 sdcard 中创建一个自己的目录,如下所示:

String newFolder = "/myFolder2";
String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
File myNewFolder = new File(extStorageDirectory + newFolder);
myNewFolder.mkdir();

我怎样才能实现将可绘制的所有这些图片以相同的质量和细节传输到SD卡中创建的文件夹?

可绘制文件夹中的这些图像可以通过 BitmapFactory 访问,您可以将位图保存为 PNG 或 JPG。

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
    File sd = Environment.getExternalStorageDirectory();
    String fileName = "test.png";
    File dest = new File(sd, fileName);
    try {
        FileOutputStream out;
        out = new FileOutputStream(dest);
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
        out.flush();
        out.close();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

对于其他类型的图像,我认为将它们放入资产文件夹是一种更好的方法。

此致敬意王正红

最新更新