[][src]Struct qr_code::QrCode

pub struct QrCode { /* fields omitted */ }

The encoded QR code symbol.

Implementations

impl QrCode[src]

pub fn to_string(&self, inverted: bool) -> String[src]

impl QrCode[src]

pub fn new<D: AsRef<[u8]>>(data: D) -> QrResult<Self>[src]

Constructs a new QR code which automatically encodes the given data.

This method uses the "medium" error correction level and automatically chooses the smallest QR code.

use qr_code::QrCode;

let code = QrCode::new(b"Some data").unwrap();

Errors

Returns error if the QR code cannot be constructed, e.g. when the data is too long.

pub fn with_error_correction_level<D: AsRef<[u8]>>(
    data: D,
    ec_level: EcLevel
) -> QrResult<Self>
[src]

Constructs a new QR code which automatically encodes the given data at a specific error correction level.

This method automatically chooses the smallest QR code.

use qr_code::{QrCode, EcLevel};

let code = QrCode::with_error_correction_level(b"Some data", EcLevel::H).unwrap();

Errors

Returns error if the QR code cannot be constructed, e.g. when the data is too long.

pub fn with_version<D: AsRef<[u8]>>(
    data: D,
    version: Version,
    ec_level: EcLevel
) -> QrResult<Self>
[src]

Constructs a new QR code for the given version and error correction level.

use qr_code::{QrCode, Version, EcLevel};

let code = QrCode::with_version(b"Some data", Version::Normal(5), EcLevel::M).unwrap();

This method can also be used to generate Micro QR code.

use qr_code::{QrCode, Version, EcLevel};

let micro_code = QrCode::with_version(b"123", Version::Micro(1), EcLevel::L).unwrap();

Errors

Returns error if the QR code cannot be constructed, e.g. when the data is too long, or when the version and error correction level are incompatible.

pub fn with_bits(bits: Bits, ec_level: EcLevel) -> QrResult<Self>[src]

Constructs a new QR code with encoded bits.

Use this method only if there are very special need to manipulate the raw bits before encoding. Some examples are:

  • Encode data using specific character set with ECI
  • Use the FNC1 modes
  • Avoid the optimal segmentation algorithm

See the Bits structure for detail.

#![allow(unused_must_use)]

use qr_code::{QrCode, Version, EcLevel};
use qr_code::bits::Bits;

let mut bits = Bits::new(Version::Normal(1));
bits.push_eci_designator(9);
bits.push_byte_data(b"\xca\xfe\xe4\xe9\xea\xe1\xf2 QR");
bits.push_terminator(EcLevel::L);
let qrcode = QrCode::with_bits(bits, EcLevel::L);

Errors

Returns error if the QR code cannot be constructed, e.g. when the bits are too long, or when the version and error correction level are incompatible.

pub fn version(&self) -> Version[src]

Gets the version of this QR code.

pub fn error_correction_level(&self) -> EcLevel[src]

Gets the error correction level of this QR code.

pub fn width(&self) -> usize[src]

Gets the number of modules per side, i.e. the width of this QR code.

The width here does not contain the quiet zone paddings.

pub fn max_allowed_errors(&self) -> usize[src]

Gets the maximum number of allowed erratic modules can be introduced before the data becomes corrupted. Note that errors should not be introduced to functional modules.

pub fn is_functional(&self, x: usize, y: usize) -> bool[src]

Checks whether a module at coordinate (x, y) is a functional module or not.

pub fn to_vec(&self) -> Vec<bool>[src]

👎 Deprecated since 0.4.0:

use to_colors() instead

Converts the QR code to a vector of booleans. Each entry represents the color of the module, with "true" means dark and "false" means light.

pub fn into_vec(self) -> Vec<bool>[src]

👎 Deprecated since 0.4.0:

use into_colors() instead

Converts the QR code to a vector of booleans. Each entry represents the color of the module, with "true" means dark and "false" means light.

pub fn to_colors(&self) -> Vec<Color>[src]

Converts the QR code to a vector of colors.

pub fn into_colors(self) -> Vec<Color>[src]

Converts the QR code to a vector of colors.

Trait Implementations

impl Clone for QrCode[src]

impl Index<(usize, usize)> for QrCode[src]

type Output = Color

The returned type after indexing.

Auto Trait Implementations

impl RefUnwindSafe for QrCode

impl Send for QrCode

impl Sync for QrCode

impl Unpin for QrCode

impl UnwindSafe for QrCode

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.