Класс QCameraFocusZone
Класс QCameraFocusZone предоставляет информацию о зонах, используемых для автоматической фокусировки камеры. Подробнее...
| Заголовок: | #include <QCameraFocusZone> |
| qmake: | QT += multimedia |
Открытые типы
| перечисление | FocusZoneStatus { Invalid, Unused, Selected, Focused } |
Открытые функции
| QCameraFocusZone(const QCameraFocusZone &other) | |
| ~QCameraFocusZone() | |
| QRectF | area() const |
| bool | isValid() const |
| FocusZoneStatus | status() const |
| bool | operator!=(const QCameraFocusZone &other) const |
| QCameraFocusZone & | operator=(const QCameraFocusZone &other) |
| bool | operator==(const QCameraFocusZone &other) const |
Подробное описание
Класс QCameraFocusZone предоставляет информацию о зонах, используемых для автоматической фокусировки камеры.
Для камер, поддерживающих автоматическую фокусировку, для автоматической фокусировки на части сенсорной рамки камера учитывает разные зоны внутри рамки. Какие зоны использовать и где они расположены, зависит от конкретной камеры.
Этот класс отображает используемые конкретной камерой зоны, и список зон можно получить с помощью экземпляра 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()
Уничтожает этот QCameraFocusZone.
QRectF QCameraFocusZone::area() const
Возвращает область кадровой рамки, охватываемую этой зоной фокусировки.
Координаты указаны в относительных координатах рамки — QPointF(0,0) — верхний левый угол рамки, и QPointF(1,1) — нижний правый угол.
bool QCameraFocusZone::isValid() const
Возвращает true, если у этой зоны фокусировки есть действительная область и состояние.
FocusZoneStatus QCameraFocusZone::status() const
Возвращает текущее состояние этой зоны фокусировки.
bool QCameraFocusZone::operator!=(const QCameraFocusZone &other) const
Возвращает true, если эта зона фокусировки не совпадает с other.
QCameraFocusZone &QCameraFocusZone::operator=(const QCameraFocusZone &other)
Присваивает other этому QCameraFocusZone.
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.9/qcamerafocuszone.html