Camera Use Cases

Camera Use Cases

Examples of camera features usage and integrations.

Работа с камерой

Примеры использования функций камеры и интеграции.

Проект содержит примеры использования API, позволяющего работать с камерой: настройки, захват, обработка кадров.

Основная цель - показать не только, какие функции доступны для работы с камерой, но и как их правильно использовать.

Условия использования и участия

Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.

Соглашение участника (документ на английском) регламентирует права, предоставляемые участниками компании «Открытая Мобильная Платформа».

Информация об участниках указана в файле AUTHORS.

Кодекс поведения (документ на английском) — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.

Структура проекта

Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.

  • Файл ru.auroraos.CameraUseCases.pro описывает структуру подпроектов для системы сборки qmake.
  • Каталог icons содержит иконки приложения для поддерживаемых разрешений экрана.
  • Каталог src содержит как основной исходный файл, так и C++-код пользовательских компонентов.
  • Каталог qml содержит исходный код на QML и ресурсы интерфейса пользователя.
    • Каталог components содержит пользовательские компоненты пользовательского интерфейса.
    • Каталог cover содержит реализации обложек приложения.
    • Каталог icons содержит дополнительные иконки интерфейса пользователя.
    • Каталог pages содержит страницы приложения.
    • Файл CameraUseCases.qml предоставляет реализацию окна приложения.
  • Вспомогательные компоненты JavaScript находятся в каталоге qml/js.
  • Каждый вариант использования имеет свой собственный QML-файл в каталоге qml/pages.
  • Навигация по примерам в приложении реализована в файле MainPage.qml.

Совместимость

Проект совместим с актуальными версиями ОС Аврора.

Сборка проекта

Проект собирается обычным образом с помощью Аврора SDK.

Примеры

Информация о камерах

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

  • CameraInfoPage.qml это страница-пример.
  • camerainfomodel.h и camerainfomodel.cpp реализуют модель, которая предоставляет список доступных камер. Каждый элемент модели обладает свойствами:
    • description это удобочитаемое описание камеры;
    • deviceName это уникальный ID для идентификации камеры, который может быть недоступен для чтения человеком;
    • isDefault является true если используется стандартная камера, false в противном случае;
    • isNull является true если информация о камере недействительна, false в противном случае;
    • orientation представляет собой угол ориентации (по часовой стрелке, с шагом 90 градусов) датчика камеры по отношению к дисплею в его естественной ориентации;
    • position это физическое положение камеры в аппаратной системе (тыльная, лицевая или не указана).

Свойства камеры

В этом примере демонстрируются некоторые методы чтения и анализа свойств камеры с помощью C++.

  • CameraPropertiesPage.qml это страница-пример. Она отображает состояние доступных свойств выбранной камеры, а также позволяет активировать и деактивировать камеру с помощью выпадающего меню.
  • ConditionItem.qml реализует базовый вид для состояния свойств:
    • Theme.presenceColor(Theme.PresenceAvailable) используется для допустимых значений свойств;
    • Theme.presenceColor(Theme.PresenceBusy) используется для недопустимых значений свойств;
    • Theme.presenceColor(Theme.PresenceOffline) используется для свойств с неизвестным состоянием.
  • extendedcamera.h и extendedcamera.cpp реализуют расширение QCamera чтобы предоставить больше свойств для QML: режим съемки, настройки видоискателя, экспозиции, фокусировки, обработки изображений и диктофона. Он использует дополнительные классы для экспорта некоторых типов данных для QML:
  • cameraprovider.h и cameraprovider.cpp реализует поставщика камеры по имени устройства.

Декларативная камера

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

  • DeclarativeCameraPage.qml реализует Qml Camera с помощью которой вы можете сделать снимок или записать видео с основной или фронтальной камеры. Метаданные также заполняются в их
  • CameraSettingsView.qml реализует изменение некоторых настроек камеры:
    • какая Камера используется
    • режим захвата
    • разрешение фотографии
  • CameraImageSettingsView.qml реализует изменение некоторых настроек камеры, влияющих на изображение:
    • режим экспозиции
    • режим баланса белого Он использует дополнительные классы для экспорта некоторых типов данных для QML:
  • camerasupportedsettings.h и camerasupportedsettings.cpp

Снимки экранов

screenshots

This document in English

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.