QRCode v3.0.0 is out!
See news below:
Changed
-
The main usage is now simplified:
# QRCode.create() has default :low error correction and :byte mode "your_string" |> QRCode.create() |> QRCode.render() |> QRCode.save("/tmp/qr_code.svg")Instead of
QRCode.save(), you can use a functionQRCode.to_base64()to encode QR to base 64. -
In SVG settings was changed the option
:formatwith type:noneor:indenton:structurewith:minify(default value) or:readablefor more clearer using. The variable:structurenow reflects the structure of svg file. The final svg can be minified using by:minifyor:readableand thus little bit larger.
Added
-
Alphanumeric mode, thank for mpichette contribution.
# QRCode.render() has default :svg and SvgSettings "your_string" |> QRCode.create(:low, :alphanumeric) |> QRCode.render() |> QRCode.save("/tmp/qr_code.svg") -
Embedded image to svg. Support embedded image are only type: jpeg, jpg, png, or svg.
# image = {".../path/to/name.type", size}, where size must be positive integer and means how embedded image will be large in the final svg file iex> alias QRCode.Render.SvgSettings iex> image = {"/docs/elixir.svg", 100} iex> qr_color = {17, 170, 136} iex> svg_settings = %SvgSettings{qrcode_color: qr_color, image: image, structure: :readable} %QRCode.Render.SvgSettings{ background_color: "#ffffff", background_opacity: nil, image: {"/docs/elixir.svg", 100}, qrcode_color: {17, 170, 136}, scale: 10, structure: :readable } iex> "your_string" |> QRCode.create() |> QRCode.render(:svg, svg_settings) |> QRCode.save("/tmp/qr-with-image.svg") {:ok, "/tmp/qr-with-image.svg"} -
Png render. You can save the QR to png file.
# You can use PngSettings similar as above in QRCode.render(:svg) ... |> QRCode.render(:png) |> QRCode.save("/tmp/qr_code.png")
More information and examples will find on hex.pm or check the Github library.



















