压缩从布局创建的位图时出现空指针异常
Null Pointer Exception when Compressing a Bitmap created from layout
我正在尝试从布局制作图像并下载。我下载这个作为测试以确保图像正确,然后我尝试将位图转换为 PDF 以供下载。
我收到一个空指针异常,我在尝试解决这个问题时遇到了问题。
Bitmap bitmap = Bitmap.createBitmap(relativeLayout.getWidth(), relativeLayout.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
relativeLayout.draw(canvas);
File filepath = Environment.getExternalStorageDirectory();
File dir = new File(filepath.getAbsolutePath() + "/Demo/");
dir.mkdir();
File file = new File(dir, System.currentTimeMillis() + ".jpg");
try {
outputStream = new FileOutputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
bitmap.compress(Bitmap.CompressFormat.JPEG, 0, outputStream);
try {
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
}
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
File file = new File(dir, System.currentTimeMillis() + ".jpg");
您在这里声明了 File
,但没有创建它
尝试file.createNewFile()
我正在尝试从布局制作图像并下载。我下载这个作为测试以确保图像正确,然后我尝试将位图转换为 PDF 以供下载。
我收到一个空指针异常,我在尝试解决这个问题时遇到了问题。
Bitmap bitmap = Bitmap.createBitmap(relativeLayout.getWidth(), relativeLayout.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
relativeLayout.draw(canvas);
File filepath = Environment.getExternalStorageDirectory();
File dir = new File(filepath.getAbsolutePath() + "/Demo/");
dir.mkdir();
File file = new File(dir, System.currentTimeMillis() + ".jpg");
try {
outputStream = new FileOutputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
bitmap.compress(Bitmap.CompressFormat.JPEG, 0, outputStream);
try {
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
}
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
File file = new File(dir, System.currentTimeMillis() + ".jpg");
您在这里声明了 File
,但没有创建它
尝试file.createNewFile()