UNPKG

react-native-vision-camera

Version:

VisionCamera is the fastest and most powerful Camera for react-native.

41 lines (40 loc) 1.42 kB
import { useMemo } from 'react'; import { CommonResolutions } from '../utils/CommonResolutions'; import { VisionCamera } from '../VisionCamera'; /** * Use a {@linkcode CameraPhotoOutput} for capturing {@linkcode Photo}s. * * The returned {@linkcode CameraPhotoOutput} can be passed to a * {@linkcode Camera} to enable photo capture. Photos can then be captured * via {@linkcode CameraPhotoOutput.capturePhoto | capturePhoto(...)}. * * @example * ```ts * const photoOutput = usePhotoOutput({ * targetResolution: CommonResolutions.UHD_4_3, * qualityPrioritization: 'quality', * }) * * // ... * const photo = await photoOutput.capturePhoto({ flashMode: 'on' }, {}) * // ... * photo.dispose() * ``` */ export function usePhotoOutput({ targetResolution = CommonResolutions.UHD_4_3, containerFormat = 'native', quality = 0.9, qualityPrioritization = 'balanced', previewImageTargetSize = undefined, } = {}) { // 1. Create photo output const photoOutput = useMemo(() => VisionCamera.createPhotoOutput({ targetResolution: targetResolution, containerFormat: containerFormat, quality: quality, qualityPrioritization: qualityPrioritization, previewImageTargetSize: previewImageTargetSize, }), [ targetResolution, containerFormat, quality, qualityPrioritization, previewImageTargetSize, ]); return photoOutput; }