我正在开发一个项目,用于对将从图库中选择或通过相机捕获的图像应用一些效果。
我使用GPUImageView库对图像应用不同的效果,还实现了搜索栏来增加和减少效果。一切正常。
问题是现在我想将该效果应用图像保存到 sdcard 中。我已经为它编写了代码并且它工作成功,但是保存的图像仍然是黑色的。每当我从 sdcard 检查图像时,除了黑屏外,它不会显示修改后的图像。
我不知道为什么它显示黑色图像。
这是我将GPUImageView
as drawingcachedenabled 设置为 true 并将其保存为图像的代码。
mGPUImageView.setDrawingCacheEnabled(true);
Bitmap bitmap = mGPUImageView.getDrawingCache();
String path = Environment.getExternalStorageDirectory()
.getAbsolutePath();
File fil = new File(path + "/MyPics");
fil.mkdir();
Random rand = new Random();
int aa = rand.nextInt();
String filename = "Photo" + aa+".jpg";
File newImg = new File(fil, filename);
try {
FileOutputStream out = new FileOutputStream(newImg);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
}
Toast.makeText(this,"File Saved at Path---->" + newImg.getAbsolutePath(),
Toast.LENGTH_LONG).show();
mGPUImageView.setDrawingCacheEnabled(false);
请帮我解决问题。