【发布时间】:2012-05-25 14:50:27
【问题描述】:
我正在使用以下代码来保存图像
FrameLayout mainLayout = (FrameLayout) findViewById(R.id.frame);
// File root = Environment.getExternalStorageDirectory();
// File file = new File(root, "androidlife.jpg");
// File file = new File(Environment.getExternalStorageDirectory()
// + File.separator + "/test.jpg");
Random fCount = new Random();
// for (int i = 0; i < 10; i++) { Comment by Lucifer
int roll = fCount.nextInt(600) + 1;
//System.out.println(roll);
File file = new File(Environment.getExternalStorageDirectory()
+ File.separator + "/test" + String.valueOf(roll) +".jpg" );
Bitmap b = Bitmap.createBitmap(mainLayout.getWidth(),
mainLayout.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
mainLayout.draw(c);
FileOutputStream fos = null;
try {
fos = new FileOutputStream(file);
if (fos != null) {
b.compress(Bitmap.CompressFormat.JPEG, 90, fos);
fos.close();
}
} catch (Exception e) {
e.printStackTrace();
}
// } Comment by Lucifer
它完美地保存了图像,但是当我按两次保存按钮时会覆盖...可能是什么问题?有什么建议吗??
【问题讨论】:
-
第二次按下按钮时,您希望/期望发生什么?
-
@Lucifer 我试过你的答案,它一次点击保存图像 5 次,并保存在根文件夹中
-
你能上传你更新的代码吗?
-
@Lucifer 找到我更新的代码!!!
-
为什么要使用 for 循环,只需删除它,您的代码就准备好了亲爱的
标签: android image sd-card save overwrite