Сделайте снимок и получите байты без сохранения на диске
Можно ли сделать снимок и получить изображение в виде байтового массива, не сохраняя его?
Все, что я хочу, это сделать фотографию в памяти. Я не хочу сохранять это. Также я планирую использовать другие действия камеры, чтобы сделать снимок (я имею в виду, я не хочу реализовывать свою собственную логику камеры)
Обратите внимание, я знаю, что могу сделать снимок, прочитать байты и удалить его. Но я смотрю, смогу ли я избежать этого сохранения и удаления части, вместо этого непосредственно получить изображение в байтовом массиве в памяти.
1 ответ
Можно ли сделать снимок и получить изображение в виде байтового массива, не сохраняя его?
Это поведение android.hardware.Camera
API, android.hardware.camera2
API и сторонние библиотеки, которые упрощают эти API (например, Fotoapparat, CameraKit-Android).
я планирую использовать другие действия камеры, чтобы сделать снимок
Если под "другой активностью камеры" вы подразумеваете стороннее приложение для камеры (например, через ACTION_IMAGE_CAPTURE
), это будет сложно и ненадежно. В лучшем случае вы можете попробовать использовать content
Uri
указывая на ContentProvider
что вы пишете, что держит только записанные потоки в памяти. Я ожидаю, что у вас кончится куча места. Кроме того, не все приложения камеры будут поддерживать content
Uri
за EXTRA_OUTPUT
(хотя они должны).