QR Code encoding and rendering.
Error correction level. Provides the following error correction capability:
Transform a string into a result Error
or a QRCode using Quartile ErrorCorrection.
Transform a string with a given ErrorCorrection into a result Error or a QRCode.
Transform a QRCode into a svg element.
import Svg.Attributes as SvgA
qrCodeView : String -> Html msg
qrCodeView message =
QRCode.fromString message
|> Result.map
(QRCode.toSvg
[ SvgA.width "500px"
, SvgA.height "500px"
]
)
|> Result.withDefault
(Html.text "Error while encoding to QRCode.")Beware: You must set some width and height to render anything.
You can set it by defining width and height svg's CSS properties or
by passing the Svg.Attributes.width and Svg.Attributes.height
svg attributes.
Same as toSvg, but without the quiet zone.
Transform a QRCode into an Image. You can transform the Image into a PNG or BMP.
import Html
import Html.Attribute
import Image
import QRCode
viewQRCode : String -> Html msg
viewQRCode message =
QRCode.fromString message
|> Result.map
(\qrCode ->
Html.img
[ QRCode.toImage qrCode
|> Image.toPngUrl
|> Html.Attribute.src
]
[]
)
|> Result.withDefault
(Html.text "Error while encoding to QRCode.")Note: You must install the justgook/elm-image package in order to use the functions to convert the Image type to something else:
elm install "justgook/elm-image"Transform a QRCode into an Image with an ImageOptions.
Available options to transform a QRCode into an Image with toImageWithOptions.
moduleSize is the size of the module (the QRCode "pixel") in px;darkColor and lightColor expects an Int as 0xRRGGBBAA;quietZoneSize is the number of modules the quiet zone should have.Default options used by toImage.
defaultImageOptions =
{ moduleSize = 5
, darkColor = 0xFF
, lightColor = 0xFFFFFFFF
, quietZoneSize = 4
}Transform a QRCode into a list of list of booleans.
"Hello World!"
|> QRCode.fromString
|> Result.map QRCode.toMatrixPossible encoding errors.
QRCode type.