Категории:

  • Программирование


  • Изобразительное искусство


  • Программирование встраиваемых систем


  • Компьютерная графика


  • WEB Разработка


  • Музыка


  • Инженерия


  • iVARIOUS


  • Mobil App


  • Android. Android.hardware.camera2. Сохранение фото

    Основы рисунка В прошлом примере был показан способ воспроизведения видео с камеры в реальном времени на поверхность TextureView, в этом примере будет показан комплекс действий по захвату полноценного изображения с камеры и сохранения его в папке с фотографиями. На схеме выше изображены три шага по работе с камерой в Android API 21 и выше (класс android.hardware.camera2).

    1) Извлекаем нужные статичные данные о камере из класса CameraDevice, а подкласса CameraDevice.StateCallback и его метода обратного вызова onOpened(CameraDevice camera) узнаем о готовности камеры к работе. Через CameraManager.openCamera() открываем камеру.

    2) CameraCaptureSessi создает сессию, а в CaptureRequest.Builder (постройщик запроса) заносятся параметры запроса (воспроизведение на выбранную поверхность SurfaceTexture или iImageReader c последующим сохранением). Ход запросов можно отслеживать через объект CameraCaptureSession.CaptureCallback и метод обратного вызова onCaptureCompleted() который вызывается системой по успешном окончании захвата изображения. В нем как правило можно переконфигурировать запрос CaptureRequest.Builder и перенаправить изображение на класс iImageReader для последующего сохранения, вместо обычного TextureView при обычном воспроизведении.

    3) В ImageReader и его метод setOnImageAvailableListener() устанавливаем класс обратного вызова ImageReader.OnImageAvailableListener, метод которого public void onImageAvailable(ImageReader reader) вызывается как только изображение будет готово для последующей обработки (сырое изображение передается входному аргументу метода).

    В созданном классе ImageSaver проходит комплекс действий по обработке байтов изображения в нужный формат и его сохранению в папку с фотографиями.




    Читайте больше в категории: Mobil App

    2017-01-17 10:01:54



    Другие статьи:

    STM32. DMA controller

    Математика и Программирование

    STM32. регистры таймеров TIM6 TIM7

    PHP. $_COOKIE

    Maya. Текстуры

    JavaScript. Создание, поиск и удаление элементов

    STM32. ADC (АЦП)

    Maya. Операция Fill Hole

    STM32. ADC (АЦП). Пример кода

    2D. Рисование реалистичной воды