1.2.2 • Published 3 years ago

react-image-data-capture v1.2.2

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

react-image-data-capture

Component to capture camera image. The image data can be retrieved as a blob, a webP or a file object.

NPM npm

Install

npm install react-image-data-capture

Usage

import React from 'react';
import ImageCapture from 'react-image-data-capture';

function MyImageCaptureComponent() {
  const [imgSrc, setImgSrc] = useState(null);
  const [imgFile, setImgFile] = useState(null);
  const onCapture = (imageData) => {
    // read as webP
    setImgSrc(imageData.webP);
    // read as file
    setImgFile(imageData.file);
    // read as blob
    // imageData.blob
  };
  
  // Use useCallback to avoid unexpected behaviour while rerendering
  const onError = useCallback((error) => { console.log(error) }, []);
  
  // Use useMemo to avoid unexpected behaviour while rerendering
  const config = useMemo(() => ({ video: true }), []);
  /*
    { video: true } - Default Camera View
    { video: { facingMode: environment } } - Back Camera
    { video: { facingMode: "user" } } - Front Camera
  */

  // imgFile can be used as a file upload field form submission
  const formData = new FormData();
  formData.append("file", imgFile);
  
  return (
    <>
      <ImageCapture
        onCapture={onCapture}
        onError={onError}
        width={300}
        userMediaConfig={config}
      />
      {imgSrc &&
        <div>
          <div>Captured Image:</div>
          <img src={imgSrc} alt="captured-img" />
        </div>
      }
    </>
  );
}

Examples

To play around with the component, try these interactive sample apps. This will also help to understand how to mount/unmount the component to control the track streaming.

CodeSandbox

Props

PropTypeOptionalDefaultDescription
onCaptureFunctionNo-Callback function with imageData as a param to be triggered on image capture. imageData is an object that contains the blob, webP and file object representation of the captured image.
onErrorFunctionYes-Callback function with error as a param to be triggered in case of error while accessing the camera.
widthNumberNo-Width of the camera stream to be rendered in px.
userMediaConfigObjectNo--MediaStreamContraints object to be passed to the getUserMedia.

License

MIT © mayank8aug

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago