Как сохранить картинку в файл? - PullRequest
3 голосов
/ 16 марта 2010

Я пытаюсь использовать стандартное намерение, которое будет делать снимок, а затем разрешать или повторять. Затем я хочу сохранить изображение в файл.

Вот намерение, которое я использую:

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );

startActivityForResult( intent, 22 );

Документация гласит:

Вызывающий может передать дополнительный EXTRA_OUTPUT, чтобы контролировать, где это изображение будет написано. Если EXTRA_OUTPUT отсутствует, тогда изображение небольшого размера возвращается в качестве растрового объекта в дополнительное поле. Если EXTRA_OUTPUT присутствует, тогда полноразмерное изображение будет записывается в значение Uri EXTRA_OUTPUT.

Я не передаю дополнительный вывод, я надеюсь получить объект Bitmap в дополнительном поле Намерения, переданного в onActivityResult() (для этого запроса). Так где / как вы это извлекаете? У Intent есть getExtras(), но он возвращает Bundle, и Bundle хочет, чтобы строка ключа вернула вам что-то.

Что вы вызываете в Intent для извлечения растрового изображения?

Ответы [ 2 ]

3 голосов
/ 16 марта 2010

Попробуйте позвонить getExtras().get("data") и привести результат к Bitmap.

Смотрите здесь пример .

0 голосов
/ 22 мая 2010

В соответствующей заметке, если у вас появляется всплывающее действие «кадрирование» после выполнения снимка с использованием intent.putExtra("crop", "true"), вы получите обрезанный URI из getExtras().get("action").

Я понимаю, что вы уже все исправили, просто хочу убедиться, что никто не пытается использовать это с обрезкой и запутается.

Справка: приложения для android LolCat активность.

...