Skip to content

High-level and low-level ZBar binding for the Rust language.

License

Notifications You must be signed in to change notification settings

magiclen/zbar-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZBar Rust

CI

High-level and low-level ZBar binding for the Rust language.

Compilation

To compile this crate, you need to compile the ZBar library first. You can install ZBar in your operating system, or in somewhere in your file system. As for the latter, you need to set the following environment variables to link the ZBar library:

  • ZBAR_LIB_DIRS: The directories of library files, like -L. Use : to separate.
  • ZBAR_LIBS: The library names that you want to link, like -l. Use : to separate. Typically, it is iconv:zbar.
  • ZBAR_INCLUDE_DIRS: The directories of header files, like -i. Use : to separate.

Examples

use zbar_rust::ZBarImageScanner;

use image::GenericImageView;

let img = image::open(INPUT_IMAGE_PATH).unwrap();

let (width, height) = img.dimensions();

let mut scanner = ZBarImageScanner::new();

let mut results = scanner.scan_y800(img.into_luma8().into_raw(), width, height).unwrap();

for result in results {
    println!("{}", String::from_utf8(result.data).unwrap())
}

More examples are in the examples folder.

Crates.io

https://crates.io/crates/zbar-rust

Documentation

https://docs.rs/zbar-rust

License

LGPL-2.1

About

High-level and low-level ZBar binding for the Rust language.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages