On this page:
2.1 Function
qr-write
qr-read
2.2 Example
2.3 Png
2.4 SVG
2.5 Read and Correct

2 Usage🔗ℹ

 (require simple-qr) package: simple-qr

2.1 Function🔗ℹ

procedure

(qr-write data    
  output_file_path    
  [#:mode mode    
  #:error_level error_level    
  #:module_width module_width    
  #:color color    
  #:express? express?    
  #:express_path express_path]    
  #:output_type output_type)  void?
  data : (string?)
  output_file_path : (path-string?)
  mode : string? = "B"
  error_level : string? = "H"
  module_width : natural? = 5
  color : (cons/c string? string?) = '("black" . "white")
  express? : boolean? = #f
  express_path : path-string? = "imgfile + '.write.express'"
  output_type : (or/c 'png 'svg)
output qr code image to file.

color’s form is ’(front_color . background_color).

use color "transparent" to set transparent(background).

if output_type is png, can use color-database<%>, but hex color is all available in all formats, recommended.

procedure

(qr-read image_file_path    
  [#:express? express?    
  #:express_path express_path])  string?
  image_file_path : (path-string?)
  express? : boolean? = #f
  express_path : path-string? = "imgfile + '.read.express'"
read qr code image’s content, if failed, return "".

2.2 Example🔗ℹ

#lang racket
 
(require simple-qr)
 
;; block's default width is 5
 
(qr-write "https://github.com/simmone" "normal.png")
 
(qr-write "https://github.com/simmone" "normal_color.png" #:color '("#ffbb33" . "#0d47a1"))
 
(qr-write "https://github.com/simmone" "normal_trans.png" #:color '("#9933CC" . "transparent"))
 
(qr-write "https://github.com/simmone" "small.png" #:module_width 2)
 
(qr-write "https://github.com/simmone" "large.png" #:module_width 10)
 
(printf "~a\n~a\n~a\n"
        (qr-read "normal.png")
        (qr-read "small.png")
        (qr-read "large.png"))
 
(printf "~a\n" (qr-read "damaged.png"))
 
(qr-write "https://github.com/simmone" "normal.svg" #:output_type 'svg)
 
(qr-write "https://github.com/simmone" "normal_color.svg" #:color '("#ffbb33" . "#0d47a1") #:output_type 'svg)
 
(qr-write "https://github.com/simmone" "normal_trans.svg" #:color '("#9933CC" . "transparent") #:output_type 'svg)

2.3 Png🔗ℹ

(qr-write "https://github.com/simmone" "normal.png")

(qr-write "https://github.com/simmone" "normal_color.png" #:color '("#ffbb33" . "#0d47a1"))

(qr-write "https://github.com/simmone" "normal_trans.png" #:color '("#9933CC" . "transparent"))

(qr-write "https://github.com/simmone" "small.png" #:module_width 2)

(qr-write "https://github.com/simmone" "large.png" #:module_width 10)

2.4 SVG🔗ℹ

(qr-write "https://github.com/simmone" "normal.svg"  #:output_type 'svg)

(qr-write "https://github.com/simmone" "normal_color.svg" #:color '("#ffbb33" . "#0d47a1") #:output_type 'svg)

(qr-write "https://github.com/simmone" "normal_trans.svg" #:color '("#9933CC" . "transparent") #:output_type 'svg)

2.5 Read and Correct🔗ℹ

(printf "~a\n" (qr-read "damaged.png"))

https://github.com/simmone