我正在尝试从相机意图拍照并在图像上添加一些textview(叠加),然后保存此混合图像。为此,我使用下面的代码。
主要问题:当我将其放在点击列表按钮的按钮下时,此代码可以正常工作。但是当我将其放在“ onCreate”方法中时,它在屏幕上显示错误“尝试调用虚拟方法'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap $ CompressFormat,int,java.io.OutputStream)”空对象引用”。
我为此进行了大量搜索。尝试了stackvoerflow中提供的几乎所有解决方案。
private void saveImage() {
try {
frameLayout.setDrawingCacheEnabled(true);
frameLayout.buildDrawingCache();
// drawingCache = BitmapFactory.decodeResource(getResources(), R.id.imageview);
// drawingCache = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
drawingCache = frameLayout.getDrawingCache();
String timeStamp = new SimpleDateFormat("ddMMyyyy_hhmmss").format(new Date());
saveImageFile = new File(path, "my_folder" + timeStamp + ".jpg");
OutputStream fOut = new FileOutputStream(saveImageFile);
tempPhoto = saveImageFile;
drawingCache.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
fOut.flush();
fOut.close();
Toast.makeText(this, "Image Saved Successfully", Toast.LENGTH_SHORT).show();
deleteTempImage(mCurrentPhotoPath);
// Toast.makeText(this, mCurrentPhotoPath, Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
我想在onCreate方法上执行saveImage函数,否则用户将每次都强制单击“保存”按钮。请帮我。我花了将近2天的时间。