add wasm qr decode
This commit is contained in:
25
deno_wasm_qr/decodeqr/src/lib.rs
Normal file
25
deno_wasm_qr/decodeqr/src/lib.rs
Normal file
@@ -0,0 +1,25 @@
|
||||
use std::ffi::CString;
|
||||
use std::os::raw::c_char;
|
||||
|
||||
pub const SAMPLE_QR_BYTES: &[u8] = std::include_bytes!("sample_qr.png");
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn parse_default_qr() -> *mut c_char {
|
||||
let s = CString::new(parse_qr()).unwrap();
|
||||
s.into_raw()
|
||||
}
|
||||
|
||||
pub fn parse_qr() -> String {
|
||||
let img = image::load_from_memory(SAMPLE_QR_BYTES).unwrap();
|
||||
|
||||
let decoder = bardecoder::default_decoder();
|
||||
|
||||
let mut ret = vec![];
|
||||
let results = decoder.decode(&img);
|
||||
for result in results {
|
||||
let qr = result.unwrap();
|
||||
println!("{}", qr);
|
||||
ret.push(qr);
|
||||
}
|
||||
ret.join(",")
|
||||
}
|
||||
BIN
deno_wasm_qr/decodeqr/src/sample_qr.png
Normal file
BIN
deno_wasm_qr/decodeqr/src/sample_qr.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.8 KiB |
Reference in New Issue
Block a user