Socket
Socket
Sign inDemoInstall

react-native-qr-decode-image-camera

Package Overview
Dependencies
5
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    react-native-qr-decode-image-camera

Decode react native from gallery and camera


Version published
Weekly downloads
554
decreased by-10.79%
Maintainers
1
Install size
253 kB
Created
Weekly downloads
 

Readme

Source

react-native-qr-decode-image-camera

yarn add react-native-qr-decode-image-camera
or
npm install react-native-qr-decode-image-camera
run
npm install

Install react native camera and give necessary permission

then run

cd ios
pod install
then
react-native run-android
or
react-native run-ios

Example

import React, { Component } from "react";
import {
  Platform,
  StyleSheet,
  Text,
  View,
  TouchableOpacity
} from "react-native";
import { QRscanner } from "react-native-qr-decode-image-camera";

export default class Scanner extends Component {
  constructor(props) {
    super(props);
    this.state = {
      flashMode: false,
      zoom: 0.2
    };
  }
  render() {
    return (
      <View style={styles.container}>
        <QRscanner
          onRead={this.onRead}
          renderBottomView={this.bottomView}
          flashMode={this.state.flashMode}
          zoom={this.state.zoom}
          finderY={50}
        />
      </View>
    );
  }
  bottomView = () => {
    return (
      <View
        style={{ flex: 1, flexDirection: "row", backgroundColor: "#0000004D" }}
      >
        <TouchableOpacity
          style={{ flex: 1, alignItems: "center", justifyContent: "center" }}
          onPress={() => this.setState({ flashMode: !this.state.flashMode })}
        >
          <Text style={{ color: "#fff" }}>йоба-боба-функция</Text>
        </TouchableOpacity>
      </View>
    );
  };
  onRead = res => {
    console.log(res);
  };
}
const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: "#000"
  }
});

QRreader

import React, { Component } from "react";
import {
  Platform,
  StyleSheet,
  Text,
  View,
  TouchableOpacity
} from "react-native";
import { QRreader } from "react-native-qr-decode-image-camera";
import ImagePicker from "react-native-image-picker";

export default class Scanner extends Component {
  constructor(props) {
    super(props);
    this.state = {
      reader: {
        message: null,
        data: null
      }
    };
  }
  render() {
    return (
      <View style={styles.container}>
        <TouchableOpacity
          onPress={() => {
            this.openPhoto();
          }}
        >
          <Text style={{ marginTop: 20 }}>просто кек бля</Text>
        </TouchableOpacity>
        <View>
          {!this.state.reader ? (
            <Text>
              {!this.state.reader.message ? "" : `${this.state.reader.message}`}
            </Text>
          ) : (
            <Text>
              {!this.state.reader.message
                ? ""
                : `${this.state.reader.message}:${this.state.reader.data}`}
            </Text>
          )}
        </View>
      </View>
    );
  }

  openPhoto() {
    console.log("ImagePicker");
    ImagePicker.launchImageLibrary({}, response => {
      console.log("Response = ", response);

      if (response.didCancel) {
        console.log("User cancelled image picker");
      } else if (response.error) {
        console.log("ImagePicker Error: ", response.error);
      } else if (response.customButton) {
        console.log("User tapped custom button: ", response.customButton);
      } else {
        if (response.uri) {
          var path = response.path;
          if (!path) {
            path = response.uri;
          }
          QRreader(path)
            .then(data => {
              this.setState({
                reader: {
                  message: "message",
                  data: data
                }
              });
              setTimeout(() => {
                this.setState({
                  reader: {
                    message: null,
                    data: null
                  }
                });
              }, 10000);
            })
            .catch(err => {
              this.setState({
                reader: {
                  message: "message",
                  data: null
                }
              });
            });
        }
      }
    });
  }
}
const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: "#fff"
  }
});

QRscanner

methodtypeexampleRemarks
isRepeatScanbooleanfalsewhether to allow repeated scanning
zoomnumber0Camera focal length range 0-1
flashModeboolfalseTurn on the flashlight
onReadfunc(res) => {}scan callback
maskColorstring'# 0000004D'mask layer color
borderColorstring'# 000000'border color
cornerColorstring'# 22ff00'Color of corner of scan frame
borderWidthnumber0border width of scan frame
cornerBorderWidthnumber4border width of scan frame corner
cornerBorderLengthnumber20width and height of the corner of the scan frame
rectHeightnumber200Scan frame height
rectWidthnumber200Scan Frame Width
finderXnumber0scan frame X axis offset
finderYnumber0scan frame Y axis offset
isCornerOffsetbooltruewhether the corners are offset
cornerOffsetSizenumber1offset
bottomHeightnumber100Reserved height at the bottom
scanBarAnimateTimenumber2500scan line time
scanBarColorstring'# 22ff00'scan line color
scanBarImageanynullscan line image
scanBarHeightnumber1.5scan line height
scanBarMarginnumber6scanline left and right margin
hintTextstring'Put QR code / bar code into the box and scan it automatically'
hintTextStyleobject{color: '# fff', fontSize: 14, backgroundColor: 'transparent'}hint string style
hintTextPositionnumber130I dick knows that in this column the shot is written in Chinese understand it yourself)))
renderTopViewfunc() => {}render top View
renderBottomViewfunc() => <View style = {{flex: 1, backgroundColor: '# 0000004D'}} />render bottom View
isShowScanBarbooltruewhether to show scan lines
topViewStyleobjectnullrender top container style
bottomViewStyleobjectnullrender bottom container style

Keywords

FAQs

Last updated on 18 Feb 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc