/QRCodeLibVB

QR Code generator library in Visual Basic

Primary LanguageVisual Basic .NETMIT LicenseMIT

QRCodeLibVB

QRCodeLibVBは、Visual Basicで書かれたQRコード生成ライブラリです。
JIS X 0510に基づくモデル2コードシンボルを生成します。

特徴

  • 数字・英数字・8ビットバイト・漢字モードに対応しています
  • 分割QRコードを作成可能です
  • 1bppまたは24bpp BMPファイル(DIB)へ保存可能です
  • SVG形式で保存可能です
  • 1bppまたは24bpp Imageオブジェクトとして取得可能です
  • 画像の配色(前景色・背景色)を指定可能です
  • 8ビットバイトモードでの文字コードを指定可能です

クイックスタート

QRCodeLibプロジェクト、またはビルドした QRCodeLib.dll を参照設定してください。

使用方法

例1.単一シンボルで構成される(分割QRコードではない)QRコードの、最小限のコードを示します。

Imports Ys.QRCode
Imports System.Drawing

Public Sub Example()
    Dim symbols As Symbols = New Symbols()
    symbols.AppendText("012345abcdefg")

    Dim image As Image = symbols(0).GetImage()

End Sub

例2.誤り訂正レベルを指定する

Symbolsクラスのコンストラクタ引数に、ErrorCorrectionLevel列挙型の値を設定します。

Dim symbols As Symbols = New Symbols(ErrorCorrectionLevel.H)

例3.型番の上限を指定する

Symbolsクラスのコンストラクタで設定します。

Dim symbols As Symbols = New Symbols(maxVersion:=10)

例4.8ビットバイトモードで使用する文字コードを指定する

Symbolsクラスのコンストラクタで設定します。

Dim symbols As Symbols = New Symbols(charsetName:="UTF-8")

例5.分割QRコードを作成する

Symbolsクラスのコンストラクタで設定します。型番の上限を指定しない場合は、型番40を上限として分割されます。

Dim symbols As Symbols = New Symbols(allowStructuredAppend:=True)

型番1を超える場合に分割し、各QRコードのImageオブジェクトを取得する例を示します。

Dim symbols As Symbols = New Symbols(maxVersion:=1, allowStructuredAppend:=True)
symbols.AppendText("abcdefghijklmnopqrstuvwxyz")

For Each symbol As Symbol In symbols
    Dim image As Image = symbol.GetImage()
Next

例6.BMPファイルへ保存する

SymbolクラスのSaveBitmapメソッドを使用します。

Dim symbols As Symbols = New Symbols()
symbols.AppendText("012345abcdefg")

' 24bpp DIB
symbols(0).SaveBitmap("qrcode.bmp")

' 1bpp DIB
symbols(0).SaveBitmap("qrcode.bmp", monochrome:=True)

' 10 pixels per module
symbols(0).SaveBitmap("qrcode.bmp", moduleSize:=10)

' Specify foreground and background colors.
symbols(0).SaveBitmap("qrcode.bmp", foreRgb:="#0000FF", backRgb:="#FFFF00")    

例7.SVGファイルへ保存する

SymbolクラスのSaveSvgメソッドを使用します。

Dim symbols As Symbols = New Symbols()
symbols.AppendText("012345abcdefg")

symbols(0).SaveSvg("qrcode.svg")

例8.様々な画像形式で保存する

ImageオブジェクトのSaveメソッドを使用します。

Imports System.Drawing
Imports System.Drawing.Imaging

Dim symbols As Symbols = New Symbols()
symbols.AppendText("012345")

Dim image As Image = symbols(0).GetImage()
' PNG
image.Save("qrcode.png", ImageFormat.Png)
' GIF
image.Save("qrcode.gif", ImageFormat.Gif)
' JPEG
image.Save("qrcode.jpg", ImageFormat.Jpeg)

例9.base64エンコードされた画像データを取得する

SymbolオブジェクトのGetBitmapBase64メソッドを使用します。

Dim symbols As Symbols = New Symbols()
symbols.AppendText("012345abcdefg")

Dim data As String = symbols(0).GetBitmapBase64()
Dim imgTag As String = "<img src=""data:image/bmp;base64," & data & """ />"

例10.SVGデータを取得する

SymbolオブジェクトのGetSvgメソッドを使用します。

Dim symbols As Symbols = New Symbols()
symbols.AppendText("012345abcdefg")

Dim svg As String = symbols(0).GetSvg()