Приложение использует модуль камеры QML для съемки фотографий, а также использует «невидимую кнопку», охватывающую почти всю область просмотра, для принудительной перефокусировки. камеры.
Связанный код для достижения этой цели в Qt 5.7:
Код: Выделить всё
// Tap-Focus operation
CameraInvisibleButton {
id: focusTapArea
anchors.top: parent.top
anchors.left: parent.left
width: parent.width
height: parent.height - 2*captureButton.height
visible: camera.cameraStatus == Camera.ActiveStatus && camera.focus.isFocusModeSupported(Camera.FocusAuto)
opacity: 0
onClicked: {
console.info("focusTap clicked. Camera lockStatus:", camera.lockStatus)
if (camera.lockStatus == Camera.Searching)
return;
camera.unlock();
camera.searchAndLock();
}
}
На оборудовании, которое его поддерживает, QCamera позволяет настраивать фокус и масштабирование. Это также включает в себя? такие функциональные возможности, как режим «Макро» для работы крупным планом (например, считывание штрих-кодов или распознавание букв) или «прикосновение для фокусировки» — указание интересной области изображения, на которой оборудование пытается сфокусироваться.
https ://doc.qt.io/qt-6/qml-qtmultimedia-camera.html#focusPoint-prop
...но нет пример того, как достичь операцию «коснитесь для фокусировки».
У вас есть какие-нибудь идеи?
PS: Мне не интересно фокусироваться на конкретной точке касания, я просто хочу принудительно повторно сфокусировать камеру на точку фокусировки по умолчанию.
Подробнее здесь: https://stackoverflow.com/questions/792 ... ocus-again
Мобильная версия