使用 ZXing.Net 生成二维码

本文发布于 6 年前,部分内容可能已经失去参考价值。

获取

在 NuGet ä¸­æœç´¢ ZXing.Net

Demo


简单示例

var qr = new ZXing.QrCode.QRCodeWriter();
var matrix = qr.encode("http://xoyozo.net/", ZXing.BarcodeFormat.QR_CODE, 200, 200);
var writer = new ZXing.BarcodeWriter()
{
    Format = ZXing.BarcodeFormat.QR_CODE
};
Bitmap bitmap = writer.Write(matrix);


扩展示例

string content = "http://xoyozo.net/";

var hints = new Dictionary<ZXing.EncodeHintType, object>();
hints.Add(ZXing.EncodeHintType.ERROR_CORRECTION, ZXing.QrCode.Internal.ErrorCorrectionLevel.H); // çº é”™çº§åˆ«
hints.Add(ZXing.EncodeHintType.CHARACTER_SET, Encoding.Default.WebName); // ç¼–码:gb2312
hints.Add(ZXing.EncodeHintType.MARGIN, 0); // å‡ºè¡€ç å…ƒæ•°ï¼ˆæ ‡å‡†ä¸º 4,美观为 2)

var qr = new ZXing.QrCode.QRCodeWriter();
var matrix = qr.encode(content, ZXing.BarcodeFormat.QR_CODE, 200, 200, hints);
var writer = new ZXing.BarcodeWriter()
{
    Format = ZXing.BarcodeFormat.QR_CODE,
    Renderer = new ZXing.Rendering.BitmapRenderer
    {
        Foreground = Color.Black, // å‰æ™¯è‰²ï¼ˆé»˜è®¤é»‘色)
        Background = Color.White, // èƒŒæ™¯è‰²ï¼ˆé»˜è®¤ç™½è‰²ï¼‰
    },
};

Bitmap bitmap = writer.Write(matrix);


将 Bitmap å†™å…¥åˆ°æµ

Stream stream = new MemoryStream();
bitmap.Save(stream, ImageFormat.Png);


将 Bitmap ä¿å­˜åˆ°ç£ç›˜

string path = "D:\wwwroot\upload\abc.png";
bitmap.Save(path, ImageFormat.Png);


更多

使用 ThoughtWorks.QRCode 生成二维码

对比 ThoughtWorks.QRCode 和 ZXing.Net


xoyozo 6 年前
转载请注明出处
云服务器 精选特惠
可能相关的内容