项目作者: yas78

项目描述 :
QR Code generator library in C#
高级语言: C#
项目地址: git://github.com/yas78/QRCodeLibCS.git
创建时间: 2017-10-18T14:09:42Z
项目社区:https://github.com/yas78/QRCodeLibCS

开源协议:MIT License

下载


QRCodeLibCS

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

特徴

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

クイックスタート

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

使用方法

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

  1. using Ys.QRCode;
  2. using System.Drawing;
  3. public void Example()
  4. {
  5. Symbols symbols = new Symbols();
  6. symbols.AppendText("012345abcdefg");
  7. Image image = symbols[0].GetImage();
  8. }

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

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

  1. Symbols symbols = new Symbols(ErrorCorrectionLevel.H);

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

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

  1. Symbols symbols = new Symbols(maxVersion: 10);

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

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

  1. Symbols symbols = new Symbols(charsetName: "UTF-8");

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

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

  1. Symbols symbols = new Symbols(allowStructuredAppend: true);

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

  1. Symbols symbols = new Symbols(maxVersion: 1, allowStructuredAppend: true);
  2. symbols.AppendText("abcdefghijklmnopqrstuvwxyz");
  3. foreach (var symbol in symbols)
  4. {
  5. Image image = symbol.GetImage();
  6. }

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

SymbolクラスのSave1bppDIB、またはSave24bppDIBメソッドを使用します。

  1. Symbols symbols = new Symbols();
  2. symbols.AppendText("012345abcdefg");
  3. // 24bpp DIB
  4. symbols[0].SaveBitmap("qrcode.bmp");
  5. // 1bpp DIB
  6. symbols[0].SaveBitmap("qrcode.bmp", monochrome: true);
  7. // 10 pixels per module
  8. symbols[0].SaveBitmap("qrcode.bmp", moduleSize: 10);
  9. // Specify foreground and background colors.
  10. symbols[0].SaveBitmap("qrcode.bmp", foreRgb: "#0000FF", backRgb: "#FFFF00");

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

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

  1. Symbols symbols = new Symbols();
  2. symbols.AppendText("012345abcdefg");
  3. symbols[0].SaveSvg("qrcode.svg");

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

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

  1. using System.Drawing;
  2. using System.Drawing.Imaging;
  3. Symbols symbols = new Symbols();
  4. symbols.AppendText("012345");
  5. Image image = symbols[0].GetImage();
  6. // PNG
  7. image.Save("qrcode.png", ImageFormat.Png);
  8. // GIF
  9. image.Save("qrcode.gif", ImageFormat.Gif);
  10. // JPEG
  11. image.Save("qrcode.jpg", ImageFormat.Jpeg);

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

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

  1. Symbols symbols = new Symbols();
  2. symbols.AppendText("012345abcdefg");
  3. string data = symbols[0].GetBitmapBase64();
  4. string imgTag = @"<img src=""data:image/bmp;base64," + data + @""" />";

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

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

  1. Symbols symbols = new Symbols();
  2. symbols.AppendText("012345abcdefg");
  3. string svg = symbols[0].GetSvg();