Sample code for 30+ languages & platforms
Rust Requires Chilkat v11.7.0+

Get the QR Code Capabilities of the Chilkat Version in Use

See more QR Code Examples

Demonstrates the capabilities operation, which describes what the installed version of Chilkat can do: the range of QR versions, the error-correction levels, the operations, the image formats and the limits. A program can check for a feature here instead of testing for a Chilkat version number. The request can be an empty JSON object.

Chilkat Rust Downloads

Rust

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

let json = chilkat::JsonObject::new();
let fmt = chilkat::Formats::new();
let json_out = chilkat::JsonObject::new();
if fmt.qr_code("capabilities", &json, &json_out).is_err() {
    println!("{}", fmt.last_error_text());
    return;
}

println!("Chilkat version: {}", json_out.string_of("productVersion").unwrap_or_default());
println!("symbology: {}", json_out.string_of("symbologies[0].id").unwrap_or_default());
println!("QR versions: {} to {}", json_out.int_of("symbologies[0].encoding.version.min"), json_out.int_of("symbologies[0].encoding.version.max"));
println!("structured append, most symbols: {}", json_out.int_of("symbologies[0].structuredAppend.maxSymbols"));

let mut n: i32 = 0;
n = json_out.size_of_array("symbologies[0].encoding.errorCorrection");
for i in 0..n {
    json_out.set_i(i);
    println!("error correction: {}", json_out.string_of("symbologies[0].encoding.errorCorrection[i]").unwrap_or_default());
}

// The operations this version implements.
n = json_out.size_of_array("operations");
for i in 0..n {
    json_out.set_i(i);
    if json_out.bool_of("operations[i].available") {
        println!("operation: {}", json_out.string_of("operations[i].name").unwrap_or_default());
    }

}

n = json_out.size_of_array("imageFormats.output");
for i in 0..n {
    json_out.set_i(i);
    println!("image format: {}", json_out.string_of("imageFormats.output[i]").unwrap_or_default());
}

println!("default timeout: {} ms", json_out.int_of("limits.timeoutMs.default"));
println!("default largest image: {} pixels", json_out.int_of("limits.maxPixels.default"));

// Sample output:

// Chilkat version: 11.7.0
// symbology: qr
// QR versions: 1 to 40
// structured append, most symbols: 16
// error correction: auto
// error correction: L
// error correction: M
// error correction: Q
// error correction: H
// operation: generate
// operation: measure
// operation: validate
// operation: capabilities
// image format: png
// image format: svg
// default timeout: 10000 ms
// default largest image: 16777216 pixels