All Projects → hrbrmstr → qrencoder

hrbrmstr / qrencoder

Licence: other
🔳 Make QR codes in R via libqrencode

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
r
7636 projects

Projects that are alternatives of or similar to qrencoder

React Qr Svg
React component for rendering SVG QR codes
Stars: ✭ 134 (+127.12%)
Mutual labels:  qrcode, qrcode-generator
Offline Qr Code
📱 Browser add-on allowing you to quickly generate a QR code offline with the URL of the open tab or other text!
Stars: ✭ 193 (+227.12%)
Mutual labels:  qrcode, qrcode-generator
Barcode
barcode.php - Generate barcodes from a single PHP file. MIT license.
Stars: ✭ 141 (+138.98%)
Mutual labels:  qrcode, qrcode-generator
Qrbtf
An art QR code (qrcode) beautifier. 艺术二维码生成器。https://qrbtf.com
Stars: ✭ 1,391 (+2257.63%)
Mutual labels:  qrcode, qrcode-generator
QRCodeFX
Simple tool to generate/read QR Code and export it.
Stars: ✭ 31 (-47.46%)
Mutual labels:  qrcode, qrcode-generator
Awesomeqrcode
An awesome QR code generator for Android.
Stars: ✭ 1,718 (+2811.86%)
Mutual labels:  qrcode, qrcode-generator
Ngx Qrcode
An Angular 9/10 Component Library for Generating QR (Quick Response) Codes
Stars: ✭ 161 (+172.88%)
Mutual labels:  qrcode, qrcode-generator
Qr Ascii
A small library to generate QR codes with ascii
Stars: ✭ 63 (+6.78%)
Mutual labels:  qrcode, qrcode-generator
BGAQRCode-Android
QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式
Stars: ✭ 7,714 (+12974.58%)
Mutual labels:  qrcode, qrcode-generator
Easyqrcodejs
EasyQRCodeJS is a feature-rich cross-browser pure JavaScript QRCode generation library. Support Canvas, SVG and Table drawing methods. Support Dot style, Logo, Background image, Colorful, Title etc. settings. Support Angular, Vue.js, React, Next.js framework. Support binary(hex) data mode.(Running with DOM on client side)
Stars: ✭ 215 (+264.41%)
Mutual labels:  qrcode, qrcode-generator
Awesome Qr.js
An awesome QR code generator written in JavaScript.
Stars: ✭ 1,247 (+2013.56%)
Mutual labels:  qrcode, qrcode-generator
luaqrcode
Pure Lua qrcode library
Stars: ✭ 114 (+93.22%)
Mutual labels:  qrcode, qrcode-generator
Qrcode
A pure JavaScript QRCode encode and decode library.
Stars: ✭ 69 (+16.95%)
Mutual labels:  qrcode, qrcode-generator
QRCode-Generator-PHP-Class
🚀 QRCode PHP class (library). QR Code Generator using vCard 4.0 and the Google Chart API
Stars: ✭ 91 (+54.24%)
Mutual labels:  qrcode, qrcode-generator
Qrious
Pure JavaScript library for QR code generation using canvas
Stars: ✭ 1,160 (+1866.1%)
Mutual labels:  qrcode, qrcode-generator
Springboot
用springboot + springmvc + mybatis + maven搭建成框架,基于Jersey, Swagger,SwaggerUi的restful API
Stars: ✭ 157 (+166.1%)
Mutual labels:  qrcode, qrcode-generator
Alfred.qrcode
A QRcode generator with python-qrcode for Alfred Workflows.
Stars: ✭ 57 (-3.39%)
Mutual labels:  qrcode, qrcode-generator
Qrcode
💮 amazing QRCode generator in Python (supporting animated gif) - Python amazing 二维码生成器(支持 gif 动态图片二维码)
Stars: ✭ 8,613 (+14498.31%)
Mutual labels:  qrcode, qrcode-generator
Qrcoder
A pure C# Open Source QR Code implementation
Stars: ✭ 2,794 (+4635.59%)
Mutual labels:  qrcode, qrcode-generator
flutter qr code scanner generator sharing
Flutter App For Scanning, Generating, Sharing QR Code
Stars: ✭ 137 (+132.2%)
Mutual labels:  qrcode, qrcode-generator

qrencoder : Make QR codes in R

There is another package on CRAN -- qrcode -- that is not C-backed.

Quick Response codes (QR codes) are a type of matrix bar code and can be used to authenticate transactions, provide access to multi-factor authentication services and enable general data transfer in an image. QR codes use four standardized encoding modes (numeric, alphanumeric, byte/binary, and kanji) to efficiently store data. Matrix barcode generation is performed efficiently in C via the included 'libqrencoder' library created by Kentaro Fukuchi.

The following functions are implemented:

  • qrencode: Return a QR encoded string as a matrix
  • qrencode_df: Return a QR encoded string as an x, y, z data.frame
  • qrencode_png: Return a QR encoded string as a base 64 encoded inline png
  • qrencode_raster: Return a QR encoded string as a raster object
  • qrencode_svg: Return a QR encoded string as an svg string

Installation

devtools::install_github("hrbrmstr/qrencoder")

Usage

library(qrencoder)
#> Loading required package: raster
#> Loading required package: sp

# current verison
packageVersion("qrencoder")
#> [1] '0.2.1'

url <- "http://rud.is/b"
head(qrencode(url))
#>      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20]
#> [1,]    1    1    1    1    1    1    1    0    1     0     0     0     0     0     1     1     1     1     1     1
#> [2,]    1    0    0    0    0    0    1    0    1     1     1     1     0     0     1     0     0     0     0     0
#> [3,]    1    0    1    1    1    0    1    0    0     0     1     1     1     0     1     0     1     1     1     0
#> [4,]    1    0    1    1    1    0    1    0    1     0     1     1     0     0     1     0     1     1     1     0
#> [5,]    1    0    1    1    1    0    1    0    0     1     1     0     1     0     1     0     1     1     1     0
#> [6,]    1    0    0    0    0    0    1    0    0     0     1     0     0     0     1     0     0     0     0     0
#>      [,21]
#> [1,]     1
#> [2,]     1
#> [3,]     1
#> [4,]     1
#> [5,]     1
#> [6,]     1

head(qrencode_df(url))
#>   x  y z
#> 1 0 20 1
#> 2 1 20 1
#> 3 2 20 1
#> 4 3 20 1
#> 5 4 20 1
#> 6 5 20 1

qrencode_png(url)
#> [1] "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAAAAACMfPpKAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAfElEQVQYlU2QWwrEMAwDR0vuf+XZj8qJSyjIyNYjAkAMQNFhkBCKzoNiin70kxKBN41ENuf7+9AZWQOGRx/2m4TeKy2YO0GyDpwszW5EUCs/ur78NZtGvSa8azdPDGttsonot8LtDFNnrs4yLSbuJk0ajnV3vevhCxUj4Q+R11n764g4WgAAAABJRU5ErkJggg=="

qrencode_raster(url)
#> class       : RasterLayer 
#> dimensions  : 21, 21, 441  (nrow, ncol, ncell)
#> resolution  : 0.04761905, 0.04761905  (x, y)
#> extent      : 0, 1, 0, 1  (xmin, xmax, ymin, ymax)
#> coord. ref. : NA 
#> data source : in memory
#> names       : layer 
#> values      : 0, 1  (min, max)

par(mar=c(0,0,0,0))
image(qrencode_raster("http://rud.is/b"), 
      asp=1, col=c("white", "black"), axes=FALSE, 
      xlab="", ylab="")

SVG

cat(qrencode_svg(url))
#> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
#> <!-- Created with qrencode 3.9.0 (http://fukuchi.org/works/qrencode/index.html.en) -->
#> <svg width="2.01cm" height="2.01cm" viewBox="0 0 19 19" preserveAspectRatio="none" version="1.1" xmlns="http://www.w3.org/2000/svg">
#>  <g id="QRcode">
#>      <rect x="0" y="0" width="19" height="19" fill="#ffffff" />
#>      <g id="Pattern">
#>          <rect x="-1" y="-1" width="7" height="1" fill="#000000" />
#>          <rect x="8" y="-1" width="1" height="1" fill="#000000" />
#>          <rect x="11" y="-1" width="1" height="1" fill="#000000" />
#>          <rect x="13" y="-1" width="7" height="1" fill="#000000" />
#>          <rect x="-1" y="0" width="1" height="1" fill="#000000" />
#>          <rect x="5" y="0" width="1" height="1" fill="#000000" />
#>          <rect x="7" y="0" width="2" height="1" fill="#000000" />
#>          <rect x="10" y="0" width="1" height="1" fill="#000000" />
#>          <rect x="13" y="0" width="1" height="1" fill="#000000" />
#>          <rect x="19" y="0" width="1" height="1" fill="#000000" />
#>          <rect x="-1" y="1" width="1" height="1" fill="#000000" />
#>          <rect x="1" y="1" width="3" height="1" fill="#000000" />
#>          <rect x="5" y="1" width="1" height="1" fill="#000000" />
#>          <rect x="7" y="1" width="2" height="1" fill="#000000" />
#>          <rect x="10" y="1" width="1" height="1" fill="#000000" />
#>          <rect x="13" y="1" width="1" height="1" fill="#000000" />
#>          <rect x="15" y="1" width="3" height="1" fill="#000000" />
#>          <rect x="19" y="1" width="1" height="1" fill="#000000" />
#>          <rect x="-1" y="2" width="1" height="1" fill="#000000" />
#>          <rect x="1" y="2" width="3" height="1" fill="#000000" />
#>          <rect x="5" y="2" width="1" height="1" fill="#000000" />
#>          <rect x="8" y="2" width="1" height="1" fill="#000000" />
#>          <rect x="10" y="2" width="1" height="1" fill="#000000" />
#>          <rect x="13" y="2" width="1" height="1" fill="#000000" />
#>          <rect x="15" y="2" width="3" height="1" fill="#000000" />
#>          <rect x="19" y="2" width="1" height="1" fill="#000000" />
#>          <rect x="-1" y="3" width="1" height="1" fill="#000000" />
#>          <rect x="1" y="3" width="3" height="1" fill="#000000" />
#>          <rect x="5" y="3" width="1" height="1" fill="#000000" />
#>          <rect x="7" y="3" width="1" height="1" fill="#000000" />
#>          <rect x="13" y="3" width="1" height="1" fill="#000000" />
#>          <rect x="15" y="3" width="3" height="1" fill="#000000" />
#>          <rect x="19" y="3" width="1" height="1" fill="#000000" />
#>          <rect x="-1" y="4" width="1" height="1" fill="#000000" />
#>          <rect x="5" y="4" width="1" height="1" fill="#000000" />
#>          <rect x="7" y="4" width="1" height="1" fill="#000000" />
#>          <rect x="10" y="4" width="1" height="1" fill="#000000" />
#>          <rect x="13" y="4" width="1" height="1" fill="#000000" />
#>          <rect x="19" y="4" width="1" height="1" fill="#000000" />
#>          <rect x="-1" y="5" width="7" height="1" fill="#000000" />
#>          <rect x="7" y="5" width="1" height="1" fill="#000000" />
#>          <rect x="9" y="5" width="1" height="1" fill="#000000" />
#>          <rect x="11" y="5" width="1" height="1" fill="#000000" />
#>          <rect x="13" y="5" width="7" height="1" fill="#000000" />
#>          <rect x="7" y="6" width="3" height="1" fill="#000000" />
#>          <rect x="11" y="6" width="1" height="1" fill="#000000" />
#>          <rect x="-1" y="7" width="2" height="1" fill="#000000" />
#>          <rect x="2" y="7" width="1" height="1" fill="#000000" />
#>          <rect x="5" y="7" width="2" height="1" fill="#000000" />
#>          <rect x="8" y="7" width="2" height="1" fill="#000000" />
#>          <rect x="13" y="7" width="3" height="1" fill="#000000" />
#>          <rect x="17" y="7" width="2" height="1" fill="#000000" />
#>          <rect x="0" y="8" width="1" height="1" fill="#000000" />
#>          <rect x="3" y="8" width="1" height="1" fill="#000000" />
#>          <rect x="10" y="8" width="3" height="1" fill="#000000" />
#>          <rect x="15" y="8" width="1" height="1" fill="#000000" />
#>          <rect x="19" y="8" width="1" height="1" fill="#000000" />
#>          <rect x="0" y="9" width="6" height="1" fill="#000000" />
#>          <rect x="7" y="9" width="1" height="1" fill="#000000" />
#>          <rect x="11" y="9" width="2" height="1" fill="#000000" />
#>          <rect x="14" y="9" width="1" height="1" fill="#000000" />
#>          <rect x="17" y="9" width="1" height="1" fill="#000000" />
#>          <rect x="19" y="9" width="1" height="1" fill="#000000" />
#>          <rect x="0" y="10" width="3" height="1" fill="#000000" />
#>          <rect x="6" y="10" width="6" height="1" fill="#000000" />
#>          <rect x="13" y="10" width="1" height="1" fill="#000000" />
#>          <rect x="15" y="10" width="2" height="1" fill="#000000" />
#>          <rect x="18" y="10" width="2" height="1" fill="#000000" />
#>          <rect x="1" y="11" width="1" height="1" fill="#000000" />
#>          <rect x="3" y="11" width="1" height="1" fill="#000000" />
#>          <rect x="5" y="11" width="1" height="1" fill="#000000" />
#>          <rect x="7" y="11" width="1" height="1" fill="#000000" />
#>          <rect x="11" y="11" width="2" height="1" fill="#000000" />
#>          <rect x="14" y="11" width="1" height="1" fill="#000000" />
#>          <rect x="16" y="11" width="1" height="1" fill="#000000" />
#>          <rect x="7" y="12" width="1" height="1" fill="#000000" />
#>          <rect x="11" y="12" width="2" height="1" fill="#000000" />
#>          <rect x="14" y="12" width="1" height="1" fill="#000000" />
#>          <rect x="19" y="12" width="1" height="1" fill="#000000" />
#>          <rect x="-1" y="13" width="7" height="1" fill="#000000" />
#>          <rect x="7" y="13" width="2" height="1" fill="#000000" />
#>          <rect x="11" y="13" width="2" height="1" fill="#000000" />
#>          <rect x="15" y="13" width="4" height="1" fill="#000000" />
#>          <rect x="-1" y="14" width="1" height="1" fill="#000000" />
#>          <rect x="5" y="14" width="1" height="1" fill="#000000" />
#>          <rect x="8" y="14" width="1" height="1" fill="#000000" />
#>          <rect x="15" y="14" width="1" height="1" fill="#000000" />
#>          <rect x="19" y="14" width="1" height="1" fill="#000000" />
#>          <rect x="-1" y="15" width="1" height="1" fill="#000000" />
#>          <rect x="1" y="15" width="3" height="1" fill="#000000" />
#>          <rect x="5" y="15" width="1" height="1" fill="#000000" />
#>          <rect x="8" y="15" width="2" height="1" fill="#000000" />
#>          <rect x="12" y="15" width="1" height="1" fill="#000000" />
#>          <rect x="14" y="15" width="3" height="1" fill="#000000" />
#>          <rect x="-1" y="16" width="1" height="1" fill="#000000" />
#>          <rect x="1" y="16" width="3" height="1" fill="#000000" />
#>          <rect x="5" y="16" width="1" height="1" fill="#000000" />
#>          <rect x="7" y="16" width="3" height="1" fill="#000000" />
#>          <rect x="11" y="16" width="1" height="1" fill="#000000" />
#>          <rect x="13" y="16" width="3" height="1" fill="#000000" />
#>          <rect x="18" y="16" width="2" height="1" fill="#000000" />
#>          <rect x="-1" y="17" width="1" height="1" fill="#000000" />
#>          <rect x="1" y="17" width="3" height="1" fill="#000000" />
#>          <rect x="5" y="17" width="1" height="1" fill="#000000" />
#>          <rect x="8" y="17" width="4" height="1" fill="#000000" />
#>          <rect x="13" y="17" width="1" height="1" fill="#000000" />
#>          <rect x="15" y="17" width="1" height="1" fill="#000000" />
#>          <rect x="17" y="17" width="1" height="1" fill="#000000" />
#>          <rect x="19" y="17" width="1" height="1" fill="#000000" />
#>          <rect x="-1" y="18" width="1" height="1" fill="#000000" />
#>          <rect x="5" y="18" width="1" height="1" fill="#000000" />
#>          <rect x="7" y="18" width="2" height="1" fill="#000000" />
#>          <rect x="10" y="18" width="2" height="1" fill="#000000" />
#>          <rect x="14" y="18" width="1" height="1" fill="#000000" />
#>          <rect x="16" y="18" width="1" height="1" fill="#000000" />
#>          <rect x="-1" y="19" width="7" height="1" fill="#000000" />
#>          <rect x="7" y="19" width="3" height="1" fill="#000000" />
#>          <rect x="13" y="19" width="1" height="1" fill="#000000" />
#>          <rect x="18" y="19" width="1" height="1" fill="#000000" />
#>      </g>
#>  </g>
#> </svg>

Test Results

library(qrencoder)
library(testthat)

date()
#> [1] "Sun Nov  5 08:04:50 2017"

test_dir("tests/")
#> testthat results ========================================================================================================
#> OK: 0 SKIPPED: 0 FAILED: 0
#> 
#> DONE ===================================================================================================================

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].