QRCodeLibCSは、C#で書かれたQRコード生成ライブラリです。
JIS X 0510に基づくモデル2コードシンボルを生成します。
- 数字・英数字・8ビットバイト・漢字モードに対応しています
- 分割QRコードを作成可能です
- 1bppまたは24bpp BMPファイル(DIB)へ保存可能です
- SVG形式で保存可能です
- 1bppまたは24bpp Imageオブジェクトとして取得可能です
- 画像の配色(前景色・背景色)を指定可能です
- 8ビットバイトモードでの文字コードを指定可能です
QRCodeLibプロジェクト、またはビルドした QRCodeLib.dll を参照設定してください。
using Ys.QRCode;
using System.Drawing;
public void Example()
{
Symbols symbols = new Symbols();
symbols.AppendText("012345abcdefg");
Image image = symbols[0].GetImage();
}
Symbolsクラスのコンストラクタ引数に、ErrorCorrectionLevel列挙型の値を設定します。
Symbols symbols = new Symbols(ErrorCorrectionLevel.H);
Symbolsクラスのコンストラクタで設定します。
Symbols symbols = new Symbols(maxVersion: 10);
Symbolsクラスのコンストラクタで設定します。
Symbols symbols = new Symbols(charsetName: "UTF-8");
Symbolsクラスのコンストラクタで設定します。型番の上限を指定しない場合は、型番40を上限として分割されます。
Symbols symbols = new Symbols(allowStructuredAppend: true);
型番1を超える場合に分割し、各QRコードのImageオブジェクトを取得する例を示します。
Symbols symbols = new Symbols(maxVersion: 1, allowStructuredAppend: true);
symbols.AppendText("abcdefghijklmnopqrstuvwxyz");
foreach (var symbol in symbols)
{
Image image = symbol.GetImage();
}
SymbolクラスのSave1bppDIB、またはSave24bppDIBメソッドを使用します。
Symbols 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");
SymbolクラスのSaveSvgメソッドを使用します。
Symbols symbols = new Symbols();
symbols.AppendText("012345abcdefg");
symbols[0].SaveSvg("qrcode.svg");
ImageオブジェクトのSaveメソッドを使用します。
using System.Drawing;
using System.Drawing.Imaging;
Symbols symbols = new Symbols();
symbols.AppendText("012345");
Image 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);
SymbolオブジェクトのGetBitmapBase64メソッドを使用します。
Symbols symbols = new Symbols();
symbols.AppendText("012345abcdefg");
string data = symbols[0].GetBitmapBase64();
string imgTag = @"<img src=""data:image/bmp;base64," + data + @""" />";
SymbolオブジェクトのGetSvgメソッドを使用します。
Symbols symbols = new Symbols();
symbols.AppendText("012345abcdefg");
string svg = symbols[0].GetSvg();