@unif/react-native-camera 1.2.3 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/camera/Camera.js +75 -9
- package/lib/commonjs/camera/Camera.js.map +1 -1
- package/lib/commonjs/camera/FocusIndicator.js +64 -0
- package/lib/commonjs/camera/FocusIndicator.js.map +1 -0
- package/lib/commonjs/camera/preview/SinglePre.js +1 -1
- package/lib/module/camera/Camera.js +77 -11
- package/lib/module/camera/Camera.js.map +1 -1
- package/lib/module/camera/FocusIndicator.js +56 -0
- package/lib/module/camera/FocusIndicator.js.map +1 -0
- package/lib/module/camera/preview/SinglePre.js +1 -1
- package/lib/typescript/src/camera/Camera.d.ts.map +1 -1
- package/lib/typescript/src/camera/FocusIndicator.d.ts +8 -0
- package/lib/typescript/src/camera/FocusIndicator.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/camera/Camera.tsx +79 -9
- package/src/camera/FocusIndicator.tsx +70 -0
- package/src/camera/preview/SinglePre.tsx +1 -1
|
@@ -9,6 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _reactNativeVisionCamera = require("react-native-vision-camera");
|
|
10
10
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
11
11
|
var _NoCamera = _interopRequireDefault(require("./NoCamera"));
|
|
12
|
+
var _FocusIndicator = _interopRequireDefault(require("./FocusIndicator"));
|
|
12
13
|
var _footer = require("./footer");
|
|
13
14
|
var _setup = require("./setup");
|
|
14
15
|
var _preview = require("./preview");
|
|
@@ -23,7 +24,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
23
24
|
* @Author: 刘利军
|
|
24
25
|
* @Date: 2024-12-02 13:48:40
|
|
25
26
|
* @LastEditors: 刘利军
|
|
26
|
-
* @LastEditTime: 2025-
|
|
27
|
+
* @LastEditTime: 2025-01-17 08:44:43
|
|
27
28
|
* @Description:
|
|
28
29
|
* @PageName:
|
|
29
30
|
*/
|
|
@@ -44,10 +45,10 @@ const Camera = ({
|
|
|
44
45
|
cameraMode,
|
|
45
46
|
dataRetainedMode
|
|
46
47
|
} = data;
|
|
47
|
-
const [position, setPosition] = (0, _react.useState)(((_cameraMode$ = cameraMode[0]) === null || _cameraMode$ === void 0 ? void 0 : _cameraMode$.type) || 'back');
|
|
48
|
+
const [position, setPosition] = (0, _react.useState)((cameraMode === null || cameraMode === void 0 || (_cameraMode$ = cameraMode[0]) === null || _cameraMode$ === void 0 ? void 0 : _cameraMode$.type) || 'back');
|
|
48
49
|
const [preVis, setPreVis] = (0, _react.useState)(false);
|
|
49
|
-
const [photoResolution, setPhotoResolution] = (0, _react.useState)((_cameraMode$2 = cameraMode[0]) === null || _cameraMode$2 === void 0 ? void 0 : _cameraMode$2.photoResolution);
|
|
50
|
-
const [videoResolution, setVideoResolution] = (0, _react.useState)((_cameraMode$3 = cameraMode[0]) === null || _cameraMode$3 === void 0 ? void 0 : _cameraMode$3.videoResolution);
|
|
50
|
+
const [photoResolution, setPhotoResolution] = (0, _react.useState)(cameraMode === null || cameraMode === void 0 || (_cameraMode$2 = cameraMode[0]) === null || _cameraMode$2 === void 0 ? void 0 : _cameraMode$2.photoResolution);
|
|
51
|
+
const [videoResolution, setVideoResolution] = (0, _react.useState)(cameraMode === null || cameraMode === void 0 || (_cameraMode$3 = cameraMode[0]) === null || _cameraMode$3 === void 0 ? void 0 : _cameraMode$3.videoResolution);
|
|
51
52
|
const [watermarkUriVis, setWatermarkUriVis] = (0, _react.useState)(false);
|
|
52
53
|
const device = (0, _reactNativeVisionCamera.useCameraDevice)(position, {
|
|
53
54
|
physicalDevices: ['ultra-wide-angle-camera', 'wide-angle-camera', 'telephoto-camera']
|
|
@@ -69,12 +70,57 @@ const Camera = ({
|
|
|
69
70
|
}]);
|
|
70
71
|
const camera = (0, _react.useRef)(null);
|
|
71
72
|
const [photos, setPhotos] = (0, _react.useState)([]);
|
|
72
|
-
const [mode, setMode] = (0, _react.useState)((_cameraMode$4 = cameraMode[0]) === null || _cameraMode$4 === void 0 ? void 0 : _cameraMode$4.mode);
|
|
73
|
+
const [mode, setMode] = (0, _react.useState)(cameraMode === null || cameraMode === void 0 || (_cameraMode$4 = cameraMode[0]) === null || _cameraMode$4 === void 0 ? void 0 : _cameraMode$4.mode);
|
|
73
74
|
const {
|
|
74
75
|
confirmApi,
|
|
75
76
|
contextHolder
|
|
76
77
|
} = (0, _hooks.useConfirm)();
|
|
77
78
|
const [cameraError, setCameraError] = (0, _react.useState)();
|
|
79
|
+
|
|
80
|
+
// 聚焦点状态
|
|
81
|
+
const [focusPoint, setFocusPoint] = (0, _react.useState)(null);
|
|
82
|
+
|
|
83
|
+
// 防抖定时器
|
|
84
|
+
const focusTimerRef = (0, _react.useRef)(null);
|
|
85
|
+
|
|
86
|
+
// 点击聚焦处理(带防抖)
|
|
87
|
+
const handleFocus = (0, _react.useCallback)((x, y) => {
|
|
88
|
+
// 清除之前的防抖定时器
|
|
89
|
+
if (focusTimerRef.current) {
|
|
90
|
+
clearTimeout(focusTimerRef.current);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// 更新聚焦指示器位置
|
|
94
|
+
setFocusPoint({
|
|
95
|
+
x,
|
|
96
|
+
y
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
// 防抖延迟执行聚焦
|
|
100
|
+
focusTimerRef.current = setTimeout(async () => {
|
|
101
|
+
try {
|
|
102
|
+
var _camera$current;
|
|
103
|
+
await ((_camera$current = camera.current) === null || _camera$current === void 0 ? void 0 : _camera$current.focus({
|
|
104
|
+
x,
|
|
105
|
+
y
|
|
106
|
+
}));
|
|
107
|
+
} catch (error) {
|
|
108
|
+
// 忽略 focus-canceled 错误
|
|
109
|
+
if (error && typeof error === 'object' && 'code' in error && error.code !== 'capture/focus-canceled') {
|
|
110
|
+
console.error('Focus error:', error);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// 延迟清除指示器
|
|
114
|
+
setTimeout(() => setFocusPoint(null), 400);
|
|
115
|
+
}, 300);
|
|
116
|
+
}, []);
|
|
117
|
+
(0, _react.useEffect)(() => {
|
|
118
|
+
return () => {
|
|
119
|
+
if (focusTimerRef.current) {
|
|
120
|
+
clearTimeout(focusTimerRef.current);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
}, []);
|
|
78
124
|
if (cameraError) {
|
|
79
125
|
return /*#__PURE__*/_react.default.createElement(_Error.default, {
|
|
80
126
|
data: cameraError,
|
|
@@ -126,6 +172,15 @@ const Camera = ({
|
|
|
126
172
|
audio: showVideo(),
|
|
127
173
|
resizeMode: resizeMode,
|
|
128
174
|
format: format
|
|
175
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
|
|
176
|
+
style: styles.cameraOverlay,
|
|
177
|
+
onPress: event => {
|
|
178
|
+
const {
|
|
179
|
+
locationX,
|
|
180
|
+
locationY
|
|
181
|
+
} = event.nativeEvent;
|
|
182
|
+
handleFocus(locationX, locationY);
|
|
183
|
+
}
|
|
129
184
|
}), /*#__PURE__*/_react.default.createElement(_setup.SetUp, {
|
|
130
185
|
isMultiCam: false,
|
|
131
186
|
onChange: val => flash = val,
|
|
@@ -165,12 +220,11 @@ const Camera = ({
|
|
|
165
220
|
setVideoResolution(item.videoResolution);
|
|
166
221
|
},
|
|
167
222
|
takePress: async () => {
|
|
168
|
-
var _camera$
|
|
169
|
-
const photo = await ((_camera$
|
|
223
|
+
var _camera$current2;
|
|
224
|
+
const photo = await ((_camera$current2 = camera.current) === null || _camera$current2 === void 0 ? void 0 : _camera$current2.takePhoto({
|
|
170
225
|
flash,
|
|
171
226
|
enableShutterSound: enableShutterSound
|
|
172
227
|
}));
|
|
173
|
-
console.log('photo', photo);
|
|
174
228
|
if (photo) {
|
|
175
229
|
setPhotos(p => [...p, {
|
|
176
230
|
...photo,
|
|
@@ -240,13 +294,25 @@ const Camera = ({
|
|
|
240
294
|
}
|
|
241
295
|
})), data.watermark && /*#__PURE__*/_react.default.createElement(_watermark.WaterMarkRender, {
|
|
242
296
|
data: data.watermark
|
|
243
|
-
}), contextHolder
|
|
297
|
+
}), contextHolder, focusPoint && /*#__PURE__*/_react.default.createElement(_FocusIndicator.default, {
|
|
298
|
+
key: `${focusPoint.x}-${focusPoint.y}`,
|
|
299
|
+
x: focusPoint.x,
|
|
300
|
+
y: focusPoint.y
|
|
301
|
+
})));
|
|
244
302
|
};
|
|
245
303
|
var _default = exports.default = Camera;
|
|
246
304
|
const styles = _reactNative.StyleSheet.create({
|
|
247
305
|
camera: {
|
|
248
306
|
flex: 1,
|
|
249
307
|
backgroundColor: '#000'
|
|
308
|
+
},
|
|
309
|
+
cameraOverlay: {
|
|
310
|
+
position: 'absolute',
|
|
311
|
+
top: 0,
|
|
312
|
+
left: 0,
|
|
313
|
+
right: 0,
|
|
314
|
+
bottom: 0,
|
|
315
|
+
zIndex: 1
|
|
250
316
|
}
|
|
251
317
|
});
|
|
252
318
|
//# sourceMappingURL=Camera.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_reactNativeVisionCamera","_reactNativeSafeAreaContext","_NoCamera","_interopRequireDefault","_footer","_setup","_preview","_reactNativeGestureHandler","_hooks","_watermark","_Error","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PhotoAspectRatio","exports","enableShutterSound","flash","Camera","data","back","onChange","_cameraMode$","_cameraMode$2","_cameraMode$3","_cameraMode$4","_photos$","cameraMode","dataRetainedMode","position","setPosition","useState","type","preVis","setPreVis","photoResolution","setPhotoResolution","videoResolution","setVideoResolution","watermarkUriVis","setWatermarkUriVis","device","useCameraDevice","physicalDevices","onError","useCallback","error","setCameraError","aspectRatio","setAspectRatio","resizeMode","setResizeMode","zoom","setZoom","neutralZoom","format","useCameraFormat","photoAspectRatio","videoAspectRatio","camera","useRef","photos","setPhotos","mode","setMode","confirmApi","contextHolder","useConfirm","cameraError","createElement","onPress","undefined","commonBack","signleBack","isSingle","showPreview","showVideo","some","item","confirm","code","map","id","Date","getTime","toString","cameraType","path","message","openViewShotWatermark","val","GestureHandlerRootView","SafeAreaProvider","preview","ref","style","styles","isActive","enableZoomGesture","photoQualityBalance","photo","video","audio","SetUp","isMultiCam","onAspectRationChange","onScreenChange","onVolumeChange","onFishEyeOpen","minZoom","Footer","backPress","length","isBack","open","text","thumbnailPress","takePress","_camera$current","current","takePhoto","console","log","p","frontTime","watermark","savePress","rotatePress","ViewShotWatermark","at","value","photosList","PreViewContainer","visible","SinglePre","uri","onBack","onSave","PreView","onDel","snapItem","isConfirm","photoList","filter","WaterMarkRender","_default","StyleSheet","create","flex","backgroundColor"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_reactNativeVisionCamera","_reactNativeSafeAreaContext","_NoCamera","_interopRequireDefault","_FocusIndicator","_footer","_setup","_preview","_reactNativeGestureHandler","_hooks","_watermark","_Error","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PhotoAspectRatio","exports","enableShutterSound","flash","Camera","data","back","onChange","_cameraMode$","_cameraMode$2","_cameraMode$3","_cameraMode$4","_photos$","cameraMode","dataRetainedMode","position","setPosition","useState","type","preVis","setPreVis","photoResolution","setPhotoResolution","videoResolution","setVideoResolution","watermarkUriVis","setWatermarkUriVis","device","useCameraDevice","physicalDevices","onError","useCallback","error","setCameraError","aspectRatio","setAspectRatio","resizeMode","setResizeMode","zoom","setZoom","neutralZoom","format","useCameraFormat","photoAspectRatio","videoAspectRatio","camera","useRef","photos","setPhotos","mode","setMode","confirmApi","contextHolder","useConfirm","cameraError","focusPoint","setFocusPoint","focusTimerRef","handleFocus","x","y","current","clearTimeout","setTimeout","_camera$current","focus","code","console","useEffect","createElement","onPress","undefined","commonBack","signleBack","isSingle","showPreview","showVideo","some","item","confirm","map","id","Date","getTime","toString","cameraType","path","message","openViewShotWatermark","val","GestureHandlerRootView","SafeAreaProvider","preview","ref","style","styles","isActive","enableZoomGesture","photoQualityBalance","photo","video","audio","Pressable","cameraOverlay","event","locationX","locationY","nativeEvent","SetUp","isMultiCam","onAspectRationChange","onScreenChange","onVolumeChange","onFishEyeOpen","minZoom","Footer","backPress","length","isBack","open","text","thumbnailPress","takePress","_camera$current2","takePhoto","p","frontTime","watermark","savePress","rotatePress","ViewShotWatermark","at","value","photosList","PreViewContainer","visible","SinglePre","uri","onBack","onSave","PreView","onDel","snapItem","isConfirm","photoList","filter","WaterMarkRender","key","_default","StyleSheet","create","flex","backgroundColor","top","left","right","bottom","zIndex"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
/*
|
|
12
|
+
* @Author: 刘利军
|
|
13
|
+
* @Date: 2024-12-02 13:48:40
|
|
14
|
+
* @LastEditors: 刘利军
|
|
15
|
+
* @LastEditTime: 2025-01-17 08:44:43
|
|
16
|
+
* @Description: 聚焦指示器组件
|
|
17
|
+
* @PageName:
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
const FocusIndicator = ({
|
|
21
|
+
x,
|
|
22
|
+
y
|
|
23
|
+
}) => {
|
|
24
|
+
const scale = (0, _react.useRef)(new _reactNative.Animated.Value(1.2));
|
|
25
|
+
const opacity = (0, _react.useRef)(new _reactNative.Animated.Value(1));
|
|
26
|
+
(0, _react.useEffect)(() => {
|
|
27
|
+
scale.current.setValue(1.2);
|
|
28
|
+
opacity.current.setValue(1);
|
|
29
|
+
_reactNative.Animated.parallel([_reactNative.Animated.timing(scale.current, {
|
|
30
|
+
toValue: 1,
|
|
31
|
+
duration: 200,
|
|
32
|
+
useNativeDriver: true
|
|
33
|
+
}), _reactNative.Animated.timing(opacity.current, {
|
|
34
|
+
toValue: 0,
|
|
35
|
+
duration: 500,
|
|
36
|
+
delay: 400,
|
|
37
|
+
useNativeDriver: true
|
|
38
|
+
})]).start();
|
|
39
|
+
}, [x, y]);
|
|
40
|
+
const size = 70;
|
|
41
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
42
|
+
style: [styles.focusIndicator, {
|
|
43
|
+
left: x - size / 2,
|
|
44
|
+
top: y - size / 2,
|
|
45
|
+
width: size,
|
|
46
|
+
height: size,
|
|
47
|
+
transform: [{
|
|
48
|
+
scale: scale.current
|
|
49
|
+
}],
|
|
50
|
+
opacity: opacity.current
|
|
51
|
+
}]
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
var _default = exports.default = FocusIndicator;
|
|
55
|
+
const styles = _reactNative.StyleSheet.create({
|
|
56
|
+
focusIndicator: {
|
|
57
|
+
position: 'absolute',
|
|
58
|
+
borderRadius: 35,
|
|
59
|
+
backgroundColor: 'rgba(255, 255, 255, 0.2)',
|
|
60
|
+
zIndex: 999,
|
|
61
|
+
elevation: 10
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=FocusIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","FocusIndicator","x","y","scale","useRef","Animated","Value","opacity","useEffect","current","setValue","parallel","timing","toValue","duration","useNativeDriver","delay","start","size","createElement","View","style","styles","focusIndicator","left","top","width","height","transform","_default","exports","StyleSheet","create","position","borderRadius","backgroundColor","zIndex","elevation"],"sourceRoot":"../../../src","sources":["camera/FocusIndicator.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
15
15
|
* @Author: 刘利军
|
|
16
16
|
* @Date: 2024-12-16 09:54:00
|
|
17
17
|
* @LastEditors: 刘利军
|
|
18
|
-
* @LastEditTime:
|
|
18
|
+
* @LastEditTime: 2024-12-27 10:55:55
|
|
19
19
|
* @Description:
|
|
20
20
|
* @PageName:
|
|
21
21
|
*/
|
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
* @Author: 刘利军
|
|
3
3
|
* @Date: 2024-12-02 13:48:40
|
|
4
4
|
* @LastEditors: 刘利军
|
|
5
|
-
* @LastEditTime: 2025-
|
|
5
|
+
* @LastEditTime: 2025-01-17 08:44:43
|
|
6
6
|
* @Description:
|
|
7
7
|
* @PageName:
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { StyleSheet } from 'react-native';
|
|
11
|
-
import React, { useCallback, useRef, useState } from 'react';
|
|
10
|
+
import { StyleSheet, Pressable } from 'react-native';
|
|
11
|
+
import React, { useCallback, useRef, useState, useEffect } from 'react';
|
|
12
12
|
import { Camera as VisionCamera, useCameraDevice, useCameraFormat } from 'react-native-vision-camera';
|
|
13
13
|
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
14
14
|
import NoCamera from './NoCamera';
|
|
15
|
+
import FocusIndicator from './FocusIndicator';
|
|
15
16
|
import { Footer } from './footer';
|
|
16
17
|
import { SetUp } from './setup';
|
|
17
18
|
import { PreView, PreViewContainer, SinglePre } from './preview';
|
|
@@ -35,10 +36,10 @@ const Camera = ({
|
|
|
35
36
|
cameraMode,
|
|
36
37
|
dataRetainedMode
|
|
37
38
|
} = data;
|
|
38
|
-
const [position, setPosition] = useState(((_cameraMode$ = cameraMode[0]) === null || _cameraMode$ === void 0 ? void 0 : _cameraMode$.type) || 'back');
|
|
39
|
+
const [position, setPosition] = useState((cameraMode === null || cameraMode === void 0 || (_cameraMode$ = cameraMode[0]) === null || _cameraMode$ === void 0 ? void 0 : _cameraMode$.type) || 'back');
|
|
39
40
|
const [preVis, setPreVis] = useState(false);
|
|
40
|
-
const [photoResolution, setPhotoResolution] = useState((_cameraMode$2 = cameraMode[0]) === null || _cameraMode$2 === void 0 ? void 0 : _cameraMode$2.photoResolution);
|
|
41
|
-
const [videoResolution, setVideoResolution] = useState((_cameraMode$3 = cameraMode[0]) === null || _cameraMode$3 === void 0 ? void 0 : _cameraMode$3.videoResolution);
|
|
41
|
+
const [photoResolution, setPhotoResolution] = useState(cameraMode === null || cameraMode === void 0 || (_cameraMode$2 = cameraMode[0]) === null || _cameraMode$2 === void 0 ? void 0 : _cameraMode$2.photoResolution);
|
|
42
|
+
const [videoResolution, setVideoResolution] = useState(cameraMode === null || cameraMode === void 0 || (_cameraMode$3 = cameraMode[0]) === null || _cameraMode$3 === void 0 ? void 0 : _cameraMode$3.videoResolution);
|
|
42
43
|
const [watermarkUriVis, setWatermarkUriVis] = useState(false);
|
|
43
44
|
const device = useCameraDevice(position, {
|
|
44
45
|
physicalDevices: ['ultra-wide-angle-camera', 'wide-angle-camera', 'telephoto-camera']
|
|
@@ -60,12 +61,57 @@ const Camera = ({
|
|
|
60
61
|
}]);
|
|
61
62
|
const camera = useRef(null);
|
|
62
63
|
const [photos, setPhotos] = useState([]);
|
|
63
|
-
const [mode, setMode] = useState((_cameraMode$4 = cameraMode[0]) === null || _cameraMode$4 === void 0 ? void 0 : _cameraMode$4.mode);
|
|
64
|
+
const [mode, setMode] = useState(cameraMode === null || cameraMode === void 0 || (_cameraMode$4 = cameraMode[0]) === null || _cameraMode$4 === void 0 ? void 0 : _cameraMode$4.mode);
|
|
64
65
|
const {
|
|
65
66
|
confirmApi,
|
|
66
67
|
contextHolder
|
|
67
68
|
} = useConfirm();
|
|
68
69
|
const [cameraError, setCameraError] = useState();
|
|
70
|
+
|
|
71
|
+
// 聚焦点状态
|
|
72
|
+
const [focusPoint, setFocusPoint] = useState(null);
|
|
73
|
+
|
|
74
|
+
// 防抖定时器
|
|
75
|
+
const focusTimerRef = useRef(null);
|
|
76
|
+
|
|
77
|
+
// 点击聚焦处理(带防抖)
|
|
78
|
+
const handleFocus = useCallback((x, y) => {
|
|
79
|
+
// 清除之前的防抖定时器
|
|
80
|
+
if (focusTimerRef.current) {
|
|
81
|
+
clearTimeout(focusTimerRef.current);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// 更新聚焦指示器位置
|
|
85
|
+
setFocusPoint({
|
|
86
|
+
x,
|
|
87
|
+
y
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
// 防抖延迟执行聚焦
|
|
91
|
+
focusTimerRef.current = setTimeout(async () => {
|
|
92
|
+
try {
|
|
93
|
+
var _camera$current;
|
|
94
|
+
await ((_camera$current = camera.current) === null || _camera$current === void 0 ? void 0 : _camera$current.focus({
|
|
95
|
+
x,
|
|
96
|
+
y
|
|
97
|
+
}));
|
|
98
|
+
} catch (error) {
|
|
99
|
+
// 忽略 focus-canceled 错误
|
|
100
|
+
if (error && typeof error === 'object' && 'code' in error && error.code !== 'capture/focus-canceled') {
|
|
101
|
+
console.error('Focus error:', error);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// 延迟清除指示器
|
|
105
|
+
setTimeout(() => setFocusPoint(null), 400);
|
|
106
|
+
}, 300);
|
|
107
|
+
}, []);
|
|
108
|
+
useEffect(() => {
|
|
109
|
+
return () => {
|
|
110
|
+
if (focusTimerRef.current) {
|
|
111
|
+
clearTimeout(focusTimerRef.current);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
}, []);
|
|
69
115
|
if (cameraError) {
|
|
70
116
|
return /*#__PURE__*/React.createElement(Error, {
|
|
71
117
|
data: cameraError,
|
|
@@ -117,6 +163,15 @@ const Camera = ({
|
|
|
117
163
|
audio: showVideo(),
|
|
118
164
|
resizeMode: resizeMode,
|
|
119
165
|
format: format
|
|
166
|
+
}), /*#__PURE__*/React.createElement(Pressable, {
|
|
167
|
+
style: styles.cameraOverlay,
|
|
168
|
+
onPress: event => {
|
|
169
|
+
const {
|
|
170
|
+
locationX,
|
|
171
|
+
locationY
|
|
172
|
+
} = event.nativeEvent;
|
|
173
|
+
handleFocus(locationX, locationY);
|
|
174
|
+
}
|
|
120
175
|
}), /*#__PURE__*/React.createElement(SetUp, {
|
|
121
176
|
isMultiCam: false,
|
|
122
177
|
onChange: val => flash = val,
|
|
@@ -156,12 +211,11 @@ const Camera = ({
|
|
|
156
211
|
setVideoResolution(item.videoResolution);
|
|
157
212
|
},
|
|
158
213
|
takePress: async () => {
|
|
159
|
-
var _camera$
|
|
160
|
-
const photo = await ((_camera$
|
|
214
|
+
var _camera$current2;
|
|
215
|
+
const photo = await ((_camera$current2 = camera.current) === null || _camera$current2 === void 0 ? void 0 : _camera$current2.takePhoto({
|
|
161
216
|
flash,
|
|
162
217
|
enableShutterSound: enableShutterSound
|
|
163
218
|
}));
|
|
164
|
-
console.log('photo', photo);
|
|
165
219
|
if (photo) {
|
|
166
220
|
setPhotos(p => [...p, {
|
|
167
221
|
...photo,
|
|
@@ -231,13 +285,25 @@ const Camera = ({
|
|
|
231
285
|
}
|
|
232
286
|
})), data.watermark && /*#__PURE__*/React.createElement(WaterMarkRender, {
|
|
233
287
|
data: data.watermark
|
|
234
|
-
}), contextHolder
|
|
288
|
+
}), contextHolder, focusPoint && /*#__PURE__*/React.createElement(FocusIndicator, {
|
|
289
|
+
key: `${focusPoint.x}-${focusPoint.y}`,
|
|
290
|
+
x: focusPoint.x,
|
|
291
|
+
y: focusPoint.y
|
|
292
|
+
})));
|
|
235
293
|
};
|
|
236
294
|
export default Camera;
|
|
237
295
|
const styles = StyleSheet.create({
|
|
238
296
|
camera: {
|
|
239
297
|
flex: 1,
|
|
240
298
|
backgroundColor: '#000'
|
|
299
|
+
},
|
|
300
|
+
cameraOverlay: {
|
|
301
|
+
position: 'absolute',
|
|
302
|
+
top: 0,
|
|
303
|
+
left: 0,
|
|
304
|
+
right: 0,
|
|
305
|
+
bottom: 0,
|
|
306
|
+
zIndex: 1
|
|
241
307
|
}
|
|
242
308
|
});
|
|
243
309
|
//# sourceMappingURL=Camera.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","React","useCallback","useRef","useState","Camera","VisionCamera","useCameraDevice","useCameraFormat","SafeAreaProvider","NoCamera","Footer","SetUp","PreView","PreViewContainer","SinglePre","GestureHandlerRootView","useConfirm","ViewShotWatermark","WaterMarkRender","Error","PhotoAspectRatio","enableShutterSound","flash","data","back","onChange","_cameraMode$","_cameraMode$2","_cameraMode$3","_cameraMode$4","_photos$","cameraMode","dataRetainedMode","position","setPosition","type","preVis","setPreVis","photoResolution","setPhotoResolution","videoResolution","setVideoResolution","watermarkUriVis","setWatermarkUriVis","device","physicalDevices","onError","error","setCameraError","aspectRatio","setAspectRatio","resizeMode","setResizeMode","zoom","setZoom","neutralZoom","format","photoAspectRatio","videoAspectRatio","camera","photos","setPhotos","mode","setMode","confirmApi","contextHolder","cameraError","createElement","onPress","undefined","commonBack","signleBack","isSingle","showPreview","showVideo","some","item","confirm","code","map","id","Date","getTime","toString","cameraType","path","message","openViewShotWatermark","val","preview","ref","style","styles","isActive","enableZoomGesture","photoQualityBalance","photo","video","audio","isMultiCam","onAspectRationChange","onScreenChange","onVolumeChange","onFishEyeOpen","minZoom","backPress","length","isBack","open","text","thumbnailPress","takePress","_camera$current","current","takePhoto","console","log","p","frontTime","watermark","savePress","rotatePress","at","value","photosList","visible","uri","onBack","onSave","onDel","snapItem","isConfirm","photoList","filter","create","flex","backgroundColor"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["StyleSheet","Pressable","React","useCallback","useRef","useState","useEffect","Camera","VisionCamera","useCameraDevice","useCameraFormat","SafeAreaProvider","NoCamera","FocusIndicator","Footer","SetUp","PreView","PreViewContainer","SinglePre","GestureHandlerRootView","useConfirm","ViewShotWatermark","WaterMarkRender","Error","PhotoAspectRatio","enableShutterSound","flash","data","back","onChange","_cameraMode$","_cameraMode$2","_cameraMode$3","_cameraMode$4","_photos$","cameraMode","dataRetainedMode","position","setPosition","type","preVis","setPreVis","photoResolution","setPhotoResolution","videoResolution","setVideoResolution","watermarkUriVis","setWatermarkUriVis","device","physicalDevices","onError","error","setCameraError","aspectRatio","setAspectRatio","resizeMode","setResizeMode","zoom","setZoom","neutralZoom","format","photoAspectRatio","videoAspectRatio","camera","photos","setPhotos","mode","setMode","confirmApi","contextHolder","cameraError","focusPoint","setFocusPoint","focusTimerRef","handleFocus","x","y","current","clearTimeout","setTimeout","_camera$current","focus","code","console","createElement","onPress","undefined","commonBack","signleBack","isSingle","showPreview","showVideo","some","item","confirm","map","id","Date","getTime","toString","cameraType","path","message","openViewShotWatermark","val","preview","ref","style","styles","isActive","enableZoomGesture","photoQualityBalance","photo","video","audio","cameraOverlay","event","locationX","locationY","nativeEvent","isMultiCam","onAspectRationChange","onScreenChange","onVolumeChange","onFishEyeOpen","minZoom","backPress","length","isBack","open","text","thumbnailPress","takePress","_camera$current2","takePhoto","p","frontTime","watermark","savePress","rotatePress","at","value","photosList","visible","uri","onBack","onSave","onDel","snapItem","isConfirm","photoList","filter","key","create","flex","backgroundColor","top","left","right","bottom","zIndex"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: 刘利军
|
|
3
|
+
* @Date: 2024-12-02 13:48:40
|
|
4
|
+
* @LastEditors: 刘利军
|
|
5
|
+
* @LastEditTime: 2025-01-17 08:44:43
|
|
6
|
+
* @Description: 聚焦指示器组件
|
|
7
|
+
* @PageName:
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { StyleSheet, Animated } from 'react-native';
|
|
11
|
+
import React, { useRef, useEffect } from 'react';
|
|
12
|
+
const FocusIndicator = ({
|
|
13
|
+
x,
|
|
14
|
+
y
|
|
15
|
+
}) => {
|
|
16
|
+
const scale = useRef(new Animated.Value(1.2));
|
|
17
|
+
const opacity = useRef(new Animated.Value(1));
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
scale.current.setValue(1.2);
|
|
20
|
+
opacity.current.setValue(1);
|
|
21
|
+
Animated.parallel([Animated.timing(scale.current, {
|
|
22
|
+
toValue: 1,
|
|
23
|
+
duration: 200,
|
|
24
|
+
useNativeDriver: true
|
|
25
|
+
}), Animated.timing(opacity.current, {
|
|
26
|
+
toValue: 0,
|
|
27
|
+
duration: 500,
|
|
28
|
+
delay: 400,
|
|
29
|
+
useNativeDriver: true
|
|
30
|
+
})]).start();
|
|
31
|
+
}, [x, y]);
|
|
32
|
+
const size = 70;
|
|
33
|
+
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
34
|
+
style: [styles.focusIndicator, {
|
|
35
|
+
left: x - size / 2,
|
|
36
|
+
top: y - size / 2,
|
|
37
|
+
width: size,
|
|
38
|
+
height: size,
|
|
39
|
+
transform: [{
|
|
40
|
+
scale: scale.current
|
|
41
|
+
}],
|
|
42
|
+
opacity: opacity.current
|
|
43
|
+
}]
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
export default FocusIndicator;
|
|
47
|
+
const styles = StyleSheet.create({
|
|
48
|
+
focusIndicator: {
|
|
49
|
+
position: 'absolute',
|
|
50
|
+
borderRadius: 35,
|
|
51
|
+
backgroundColor: 'rgba(255, 255, 255, 0.2)',
|
|
52
|
+
zIndex: 999,
|
|
53
|
+
elevation: 10
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=FocusIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","Animated","React","useRef","useEffect","FocusIndicator","x","y","scale","Value","opacity","current","setValue","parallel","timing","toValue","duration","useNativeDriver","delay","start","size","createElement","View","style","styles","focusIndicator","left","top","width","height","transform","create","position","borderRadius","backgroundColor","zIndex","elevation"],"sourceRoot":"../../../src","sources":["camera/FocusIndicator.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,EAAEC,QAAQ,QAAQ,cAAc;AACnD,OAAOC,KAAK,IAAIC,MAAM,EAAEC,SAAS,QAAQ,OAAO;AAOhD,MAAMC,cAA6C,GAAGA,CAAC;EAAEC,CAAC;EAAEC;AAAE,CAAC,KAAK;EAClE,MAAMC,KAAK,GAAGL,MAAM,CAAC,IAAIF,QAAQ,CAACQ,KAAK,CAAC,GAAG,CAAC,CAAC;EAC7C,MAAMC,OAAO,GAAGP,MAAM,CAAC,IAAIF,QAAQ,CAACQ,KAAK,CAAC,CAAC,CAAC,CAAC;EAE7CL,SAAS,CAAC,MAAM;IACdI,KAAK,CAACG,OAAO,CAACC,QAAQ,CAAC,GAAG,CAAC;IAC3BF,OAAO,CAACC,OAAO,CAACC,QAAQ,CAAC,CAAC,CAAC;IAE3BX,QAAQ,CAACY,QAAQ,CAAC,CAChBZ,QAAQ,CAACa,MAAM,CAACN,KAAK,CAACG,OAAO,EAAE;MAC7BI,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,EACFhB,QAAQ,CAACa,MAAM,CAACJ,OAAO,CAACC,OAAO,EAAE;MAC/BI,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbE,KAAK,EAAE,GAAG;MACVD,eAAe,EAAE;IACnB,CAAC,CAAC,CACH,CAAC,CAACE,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAACb,CAAC,EAAEC,CAAC,CAAC,CAAC;EAEV,MAAMa,IAAI,GAAG,EAAE;EAEf,oBACElB,KAAA,CAAAmB,aAAA,CAACpB,QAAQ,CAACqB,IAAI;IACZC,KAAK,EAAE,CACLC,MAAM,CAACC,cAAc,EACrB;MACEC,IAAI,EAAEpB,CAAC,GAAGc,IAAI,GAAG,CAAC;MAClBO,GAAG,EAAEpB,CAAC,GAAGa,IAAI,GAAG,CAAC;MACjBQ,KAAK,EAAER,IAAI;MACXS,MAAM,EAAET,IAAI;MACZU,SAAS,EAAE,CAAC;QAAEtB,KAAK,EAAEA,KAAK,CAACG;MAAQ,CAAC,CAAC;MACrCD,OAAO,EAAEA,OAAO,CAACC;IACnB,CAAC;EACD,CACH,CAAC;AAEN,CAAC;AAED,eAAeN,cAAc;AAE7B,MAAMmB,MAAM,GAAGxB,UAAU,CAAC+B,MAAM,CAAC;EAC/BN,cAAc,EAAE;IACdO,QAAQ,EAAE,UAAU;IACpBC,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,0BAA0B;IAC3CC,MAAM,EAAE,GAAG;IACXC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../src/camera/Camera.tsx"],"names":[],"mappings":"AAUA,OAAO,
|
|
1
|
+
{"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../src/camera/Camera.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAWxE,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,WAAW,EAKjB,MAAM,UAAU,CAAC;AASlB,eAAO,MAAM,gBAAgB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAGrD,CAAC;AAIF,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC,CA4SA,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FocusIndicator.d.ts","sourceRoot":"","sources":["../../../../src/camera/FocusIndicator.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,UAAU,mBAAmB;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAwCjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unif/react-native-camera",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.4",
|
|
4
4
|
"description": "camera",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"react-native-reanimated-carousel": "^4.0.0-canary.22",
|
|
79
79
|
"react-native-safe-area-context": "5.0.0",
|
|
80
80
|
"react-native-view-shot": "^4.0.3",
|
|
81
|
-
"react-native-vision-camera": "^4.7.
|
|
81
|
+
"react-native-vision-camera": "^4.7.3",
|
|
82
82
|
"react-native-webview": "^13.0.0",
|
|
83
83
|
"release-it": "^15.0.0",
|
|
84
84
|
"turbo": "^1.10.7",
|
package/src/camera/Camera.tsx
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
* @Author: 刘利军
|
|
3
3
|
* @Date: 2024-12-02 13:48:40
|
|
4
4
|
* @LastEditors: 刘利军
|
|
5
|
-
* @LastEditTime: 2025-
|
|
5
|
+
* @LastEditTime: 2025-01-17 08:44:43
|
|
6
6
|
* @Description:
|
|
7
7
|
* @PageName:
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { StyleSheet } from 'react-native';
|
|
11
|
-
import React, { useCallback, useRef, useState } from 'react';
|
|
10
|
+
import { StyleSheet, Pressable } from 'react-native';
|
|
11
|
+
import React, { useCallback, useRef, useState, useEffect } from 'react';
|
|
12
12
|
import {
|
|
13
13
|
CameraRuntimeError,
|
|
14
14
|
Camera as VisionCamera,
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
} from 'react-native-vision-camera';
|
|
18
18
|
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
19
19
|
import NoCamera from './NoCamera';
|
|
20
|
+
import FocusIndicator from './FocusIndicator';
|
|
20
21
|
|
|
21
22
|
import {
|
|
22
23
|
type CameraBack,
|
|
@@ -50,17 +51,17 @@ const Camera: React.FC<{
|
|
|
50
51
|
const { cameraMode, dataRetainedMode } = data;
|
|
51
52
|
|
|
52
53
|
const [position, setPosition] = useState<CameraType>(
|
|
53
|
-
cameraMode[0]?.type || 'back'
|
|
54
|
+
cameraMode?.[0]?.type || 'back'
|
|
54
55
|
);
|
|
55
56
|
const [preVis, setPreVis] = useState(false);
|
|
56
57
|
|
|
57
58
|
const [photoResolution, setPhotoResolution] = useState<
|
|
58
59
|
Resolution | undefined
|
|
59
|
-
>(cameraMode[0]?.photoResolution);
|
|
60
|
+
>(cameraMode?.[0]?.photoResolution);
|
|
60
61
|
|
|
61
62
|
const [videoResolution, setVideoResolution] = useState<
|
|
62
63
|
Resolution | undefined
|
|
63
|
-
>(cameraMode[0]?.videoResolution);
|
|
64
|
+
>(cameraMode?.[0]?.videoResolution);
|
|
64
65
|
|
|
65
66
|
const [watermarkUriVis, setWatermarkUriVis] = useState(false);
|
|
66
67
|
const device = useCameraDevice(position, {
|
|
@@ -70,7 +71,6 @@ const Camera: React.FC<{
|
|
|
70
71
|
'telephoto-camera',
|
|
71
72
|
],
|
|
72
73
|
});
|
|
73
|
-
|
|
74
74
|
const onError = useCallback((error: CameraRuntimeError) => {
|
|
75
75
|
setCameraError(error);
|
|
76
76
|
}, []);
|
|
@@ -89,11 +89,57 @@ const Camera: React.FC<{
|
|
|
89
89
|
]);
|
|
90
90
|
const camera = useRef<VisionCamera>(null);
|
|
91
91
|
const [photos, setPhotos] = useState<CustomPhotoFile[]>([]);
|
|
92
|
-
const [mode, setMode] = useState(cameraMode[0]?.mode as CameraMode);
|
|
92
|
+
const [mode, setMode] = useState(cameraMode?.[0]?.mode as CameraMode);
|
|
93
93
|
|
|
94
94
|
const { confirmApi, contextHolder } = useConfirm();
|
|
95
95
|
const [cameraError, setCameraError] = useState<CameraRuntimeError>();
|
|
96
96
|
|
|
97
|
+
// 聚焦点状态
|
|
98
|
+
const [focusPoint, setFocusPoint] = useState<{ x: number; y: number } | null>(
|
|
99
|
+
null
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
// 防抖定时器
|
|
103
|
+
const focusTimerRef = useRef<NodeJS.Timeout | null>(null);
|
|
104
|
+
|
|
105
|
+
// 点击聚焦处理(带防抖)
|
|
106
|
+
const handleFocus = useCallback((x: number, y: number) => {
|
|
107
|
+
// 清除之前的防抖定时器
|
|
108
|
+
if (focusTimerRef.current) {
|
|
109
|
+
clearTimeout(focusTimerRef.current);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// 更新聚焦指示器位置
|
|
113
|
+
setFocusPoint({ x, y });
|
|
114
|
+
|
|
115
|
+
// 防抖延迟执行聚焦
|
|
116
|
+
focusTimerRef.current = setTimeout(async () => {
|
|
117
|
+
try {
|
|
118
|
+
await camera.current?.focus({ x, y });
|
|
119
|
+
} catch (error) {
|
|
120
|
+
// 忽略 focus-canceled 错误
|
|
121
|
+
if (
|
|
122
|
+
error &&
|
|
123
|
+
typeof error === 'object' &&
|
|
124
|
+
'code' in error &&
|
|
125
|
+
error.code !== 'capture/focus-canceled'
|
|
126
|
+
) {
|
|
127
|
+
console.error('Focus error:', error);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// 延迟清除指示器
|
|
131
|
+
setTimeout(() => setFocusPoint(null), 400);
|
|
132
|
+
}, 300);
|
|
133
|
+
}, []);
|
|
134
|
+
|
|
135
|
+
useEffect(() => {
|
|
136
|
+
return () => {
|
|
137
|
+
if (focusTimerRef.current) {
|
|
138
|
+
clearTimeout(focusTimerRef.current);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
}, []);
|
|
142
|
+
|
|
97
143
|
if (cameraError) {
|
|
98
144
|
return (
|
|
99
145
|
<Error data={cameraError} onPress={() => setCameraError(undefined)} />
|
|
@@ -152,6 +198,14 @@ const Camera: React.FC<{
|
|
|
152
198
|
format={format}
|
|
153
199
|
/>
|
|
154
200
|
|
|
201
|
+
<Pressable
|
|
202
|
+
style={styles.cameraOverlay}
|
|
203
|
+
onPress={(event) => {
|
|
204
|
+
const { locationX, locationY } = event.nativeEvent;
|
|
205
|
+
handleFocus(locationX, locationY);
|
|
206
|
+
}}
|
|
207
|
+
/>
|
|
208
|
+
|
|
155
209
|
<SetUp
|
|
156
210
|
isMultiCam={false}
|
|
157
211
|
onChange={(val) => (flash = val)}
|
|
@@ -196,7 +250,6 @@ const Camera: React.FC<{
|
|
|
196
250
|
flash,
|
|
197
251
|
enableShutterSound: enableShutterSound,
|
|
198
252
|
});
|
|
199
|
-
console.log('photo', photo);
|
|
200
253
|
if (photo) {
|
|
201
254
|
setPhotos((p) => [
|
|
202
255
|
...p,
|
|
@@ -282,6 +335,15 @@ const Camera: React.FC<{
|
|
|
282
335
|
</PreViewContainer>
|
|
283
336
|
{data.watermark && <WaterMarkRender data={data.watermark} />}
|
|
284
337
|
{contextHolder}
|
|
338
|
+
|
|
339
|
+
{/* 聚焦指示器 */}
|
|
340
|
+
{focusPoint && (
|
|
341
|
+
<FocusIndicator
|
|
342
|
+
key={`${focusPoint.x}-${focusPoint.y}`}
|
|
343
|
+
x={focusPoint.x}
|
|
344
|
+
y={focusPoint.y}
|
|
345
|
+
/>
|
|
346
|
+
)}
|
|
285
347
|
</SafeAreaProvider>
|
|
286
348
|
</GestureHandlerRootView>
|
|
287
349
|
);
|
|
@@ -291,4 +353,12 @@ export default Camera;
|
|
|
291
353
|
|
|
292
354
|
const styles = StyleSheet.create({
|
|
293
355
|
camera: { flex: 1, backgroundColor: '#000' },
|
|
356
|
+
cameraOverlay: {
|
|
357
|
+
position: 'absolute',
|
|
358
|
+
top: 0,
|
|
359
|
+
left: 0,
|
|
360
|
+
right: 0,
|
|
361
|
+
bottom: 0,
|
|
362
|
+
zIndex: 1,
|
|
363
|
+
},
|
|
294
364
|
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: 刘利军
|
|
3
|
+
* @Date: 2024-12-02 13:48:40
|
|
4
|
+
* @LastEditors: 刘利军
|
|
5
|
+
* @LastEditTime: 2025-01-17 08:44:43
|
|
6
|
+
* @Description: 聚焦指示器组件
|
|
7
|
+
* @PageName:
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { StyleSheet, Animated } from 'react-native';
|
|
11
|
+
import React, { useRef, useEffect } from 'react';
|
|
12
|
+
|
|
13
|
+
interface FocusIndicatorProps {
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const FocusIndicator: React.FC<FocusIndicatorProps> = ({ x, y }) => {
|
|
19
|
+
const scale = useRef(new Animated.Value(1.2));
|
|
20
|
+
const opacity = useRef(new Animated.Value(1));
|
|
21
|
+
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
scale.current.setValue(1.2);
|
|
24
|
+
opacity.current.setValue(1);
|
|
25
|
+
|
|
26
|
+
Animated.parallel([
|
|
27
|
+
Animated.timing(scale.current, {
|
|
28
|
+
toValue: 1,
|
|
29
|
+
duration: 200,
|
|
30
|
+
useNativeDriver: true,
|
|
31
|
+
}),
|
|
32
|
+
Animated.timing(opacity.current, {
|
|
33
|
+
toValue: 0,
|
|
34
|
+
duration: 500,
|
|
35
|
+
delay: 400,
|
|
36
|
+
useNativeDriver: true,
|
|
37
|
+
}),
|
|
38
|
+
]).start();
|
|
39
|
+
}, [x, y]);
|
|
40
|
+
|
|
41
|
+
const size = 70;
|
|
42
|
+
|
|
43
|
+
return (
|
|
44
|
+
<Animated.View
|
|
45
|
+
style={[
|
|
46
|
+
styles.focusIndicator,
|
|
47
|
+
{
|
|
48
|
+
left: x - size / 2,
|
|
49
|
+
top: y - size / 2,
|
|
50
|
+
width: size,
|
|
51
|
+
height: size,
|
|
52
|
+
transform: [{ scale: scale.current }],
|
|
53
|
+
opacity: opacity.current,
|
|
54
|
+
},
|
|
55
|
+
]}
|
|
56
|
+
/>
|
|
57
|
+
);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export default FocusIndicator;
|
|
61
|
+
|
|
62
|
+
const styles = StyleSheet.create({
|
|
63
|
+
focusIndicator: {
|
|
64
|
+
position: 'absolute',
|
|
65
|
+
borderRadius: 35,
|
|
66
|
+
backgroundColor: 'rgba(255, 255, 255, 0.2)',
|
|
67
|
+
zIndex: 999,
|
|
68
|
+
elevation: 10,
|
|
69
|
+
},
|
|
70
|
+
});
|