关于相机对焦的只在官方文档中找到如下示例代码:
let focusModeStatus: boolean = false;
try {let status: boolean = captureSession.isFocusModeSupported(camera.FocusMode.FOCUS_MODE_CONTINUOUS_AUTO);
focusModeStatus = status;
} catch (error) {
let err = error as BusinessError;
console.error('Failed to check whether the focus mode is supported. errorCode = ’ + err.code);
}
if (focusModeStatus) {
try {
captureSession.setFocusMode(camera.FocusMode.FOCUS_MODE_CONTINUOUS_AUTO);
}
catch (error) {
let err = error as BusinessError;
console.error('Failed to set the focus mode. errorCode = ’ + err.code);
}
}
除了官网示例中的自动连续对焦,支持手动对焦吗?就是传入一个坐标,相机对这个坐标点进行对焦,像测试机系统自带的相机那样的效果。没找到对应api
问题场景描述:
想实现一个相机页面,用户点击屏幕某处进行对焦,应用获取到用户点击的位置坐标,调用相机api传入坐标,相机完成对焦,应用再在这个坐标绘制一个绿色对焦圈,告诉用户对焦完成。
解决措施:
可以参考:自动对焦。
支持对焦点设置,可以使用setFocusPoint设置对焦点,根据对焦点执行一次自动对焦。
https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-camera-0000001820881333#ZH-CN_TOPIC_0000001820881333_focusmode