我有一个添加新帖子的活动,每个帖子用户都可以从画廊中选择图片或使用相机拍照。对于从相机拍摄的图片,我可以使用保存图像的方法,但是当我从图库中选择图片时,只需在文件夹中保存带有黑色图片的图片名称即可。
public void saveImage(Bitmap myBitmap) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
File wallpaperDirectory = new File(
Environment.getExternalStorageDirectory() + IMAGE_DIRECTORY);
if (!wallpaperDirectory.exists()) {
wallpaperDirectory.mkdirs();
}
try {
File f = new File(wallpaperDirectory, Calendar.getInstance()
.getTimeInMillis() + ".jpg");
img_name = f.getAbsolutePath();
f.createNewFile();
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
MediaScannerConnection.scanFile(this,
new String[]{f.getPath()},
new String[]{"image/jpeg"}, null);
fo.close();
Log.d("TAG", "File Saved::--->" + f.getAbsolutePath());
return f.getAbsolutePath();
} catch (IOException e1) {
e1.printStackTrace();
}
return "";
在我的RecyclerView中什么也没显示。
答案 0 :(得分:0)
您只是在创建一个新的图像文件,而不在其中保存任何内容。 使用以下
FileOutputStream fo = new FileOutputStream(f);
myBitmap.compress(Bitmap.CompressFormat.PNG, 100, fo); // bmp is your Bitmap instance
fo.write(bytes.toByteArray());
您缺少此myBitmap.compress(Bitmap.CompressFormat.PNG, 100, fo);
,因此添加它。