fe01295226
This commit fixes #758. I was having the same issue and looked into it a bit. I found [this StackOverflow answer](https://stackoverflow.com/a/60585382) which described a solution to the same problem. Rather than manually calculate the focus point, we can get the PreviewView to do it for us. This fixes the issue because the PreviewView factors in any scaling or resizing of the view on the screen, which we weren't doing before. The only potential issue is that this needs to run on the UI thread (which is what the `withContext` is doing), but I've tested it with frame processors enabled and disabled, and have found no issues in either case. |
||
---|---|---|
.github | ||
.vscode | ||
android | ||
docs | ||
example | ||
ios | ||
scripts | ||
src | ||
.eslintrc.js | ||
.gitignore | ||
app.plugin.js | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
package.json | ||
README.md | ||
tsconfig.json | ||
VisionCamera.podspec | ||
yarn.lock |
Vision Camera
Documentation
Features
- Photo, Video and Snapshot capture
- Customizable devices and multi-cameras (smoothly zoom out to "fish-eye" camera)
- Customizable FPS
- Frame Processors (JS worklets to run QR-Code scanning, facial recognition, AI object detection, realtime video chats, ...)
- Smooth zooming (Reanimated)
- Fast pause and resume
- HDR & Night modes
See the example app
Example
function App() {
const devices = useCameraDevices('wide-angle-camera')
const device = devices.back
if (device == null) return <LoadingView />
return (
<Camera
style={StyleSheet.absoluteFill}
device={device}
isActive={true}
/>
)
}
Adopting at scale
VisionCamera is provided as is, I work on it in my free time.
If you're integrating VisionCamera in a production app, consider funding this project and contact me to receive premium enterprise support, help with issues, prioritize bugfixes, request features, help at integrating VisionCamera and/or Frame Processors, and more.