Класс QCameraFocusZone
Класс QCameraFocusZone предоставляет информацию о зонах, используемых для автоматической фокусировки камеры. Подробнее...
| Заголовок: | #include <QCameraFocusZone> |
| qmake: | QT += multimedia |
Открытые типы
| перечисление | FocusZoneStatus { Недействительно, Неиспользуемо, Выбрано, В фокусе } |
Открытые функции
| QCameraFocusZone(const QCameraFocusZone &other) | |
| QCameraFocusZone & | operator=(const QCameraFocusZone &other) |
| ~QCameraFocusZone() | |
| QRectF | area() const |
| bool | isValid() const |
| QCameraFocusZone::FocusZoneStatus | status() const |
| bool | operator!=(const QCameraFocusZone &other) const |
| bool | operator==(const QCameraFocusZone &other) const |
Подробное описание
Для камер, поддерживающих автоматическую фокусировку, для того чтобы камера сфокусировалась на части кадра датчика, она рассматривает различные зоны внутри кадра. Какие зоны использовать и где они расположены, зависит от конкретной камеры.
Этот класс показывает используемые данной камерой зоны, а список зон может быть получен с помощью экземпляра QCameraFocus.
Вы можете использовать эту информацию для визуальной обратной связи — например, для рисования прямоугольников вокруг областей кадра камеры, находящихся в фокусе, или изменения цвета зоны по мере ее фокусировки.
focus->setFocusPointMode(QCameraFocus::FocusPointAuto);
QList<QCameraFocusZone> zones = focus->focusZones();
foreach (QCameraFocusZone zone, zones) {
if (zone.status() == QCameraFocusZone::Focused) {
// Draw a green box at zone.area()
} else if (zone.status() == QCameraFocusZone::Selected) {
// This area is selected for autofocusing, but is not in focus
// Draw a yellow box at zone.area()
}
} См. также QCameraFocus.
Документация по типам членов
перечисление QCameraFocusZone::FocusZoneStatus
| Константа | Значение | Описание |
|---|---|---|
QCameraFocusZone::Invalid |
0 |
Эта зона недействительна |
QCameraFocusZone::Unused |
1 |
Эта зона может быть использована для автоматической фокусировки, но в настоящее время не используется. |
QCameraFocusZone::Selected |
2 |
Эта зона в настоящее время используется для автоматической фокусировки, но не находится в фокусе. |
QCameraFocusZone::Focused |
3 |
Эта зона используется для автоматической фокусировки и в настоящее время находится в фокусе. |
Документация по функциям членов
QCameraFocusZone::QCameraFocusZone(const QCameraFocusZone &other)
Создаёт новый QCameraFocusZone как копию other.
QCameraFocusZone &QCameraFocusZone::operator=(const QCameraFocusZone &other)
Присваивает other этому QCameraFocusZone.
QCameraFocusZone::~QCameraFocusZone()
Уничтожает этот QCameraFocusZone.
QRectF QCameraFocusZone::area() const
Возвращает область кадра камеры, охватываемую этой зоной фокусировки.
Координаты — относительные координаты кадра; QPointF(0,0) — верхний левый угол кадра, а QPointF(1,1) — нижний правый угол.
bool QCameraFocusZone::isValid() const
Возвращает true, если у этой зоны фокусировки есть действительная область и состояние.
QCameraFocusZone::FocusZoneStatus QCameraFocusZone::status() const
Возвращает текущее состояние этой зоны фокусировки.
bool QCameraFocusZone::operator!=(const QCameraFocusZone &other) const
Возвращает true, если эта зона фокусировки не такая же, как other.
bool QCameraFocusZone::operator==(const QCameraFocusZone &other) const
Возвращает true, если эта зона фокусировки такая же, как other.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qcamerafocuszone.html