Хорошо, у меня есть код, который берет изображение текущего представления и превращает его в растровое изображение, и в итоге я здесь,
Bitmap bm = view.getDrawingCache();
BitmapDrawable bitmapDrawable = new BitmapDrawable(bm);
Теперь, что я пытаюсь сделать, это сфотографировать, как выглядит текущий вид, но отсюда я могу легко поместить bitmapDrawable
в ImageView, но это не то, что я хочу, я бы хотел бы пойти отсюда, чтобы сохранить его. Что я могу сделать? Я узнал один способ, используя
FileOutputStream fos;
try {
fos = super.openFileOutput("output.png",MODE_WORLD_READABLE);
bm.compress(CompressFormat.PNG, 75, fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
но когда я делаю это, я получаю исключение NullPointerException на
bm.compress(CompressFormat.PNG, 75, fos);
я что-то упустил?
Хорошо, теперь он проходит через вышеуказанный код, затем проходит fos.close();
до конца, но потом ничего не происходит, его не сохраняют, ни на моем телефоне, ничего