android - 从位图保存图像时出错。给出 NullPointException 错误
问题描述
我正在尝试从相机意图中拍照并在图像(叠加)上添加一些文本视图,然后保存此混合图像。为此,我使用下面的代码。
主要问题:当我把它放在按钮的点击列表下时,这段代码工作得很好。但是当我把它放在“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 天的时间。
解决方案
推荐阅读
- python - 卷积输出巨大的值而不是 0-1 范围
- windows - 在 Windows 防火墙中使用通配符
- sql - 在 SQL Server 的两个表中执行基于一到多行的左连接
- java - 从 google/noto 字体创建 java.awt.Font
- git - git push -f 只改变了 master 的历史,而不是文件
- regex - Google Script - 在单元格(电子表格)中获取带有撇号的文本并在 Google Doc 的正文中搜索它
- batch-file - 使用文件夹名称键将文件夹移动到相应的子文件夹
- vba - 计算 Excel 行中的颜色变化
- php - 将 Moodle 模块从资源转移到活动
- xml - ORA-06502: PL/SQL: 尝试将 XML 保存到文件时出现数字或值错误