繁体   English   中英

如何使用QrCode.net库生成QR码且周围没有空格?

[英]How can I generate a QR code without white space around it using the QrCode.net library?

    using Gma.QrCodeNet.Encoding;
    using Gma.QrCodeNet.Encoding.Windows.Controls;

    private QrEncoder Encoder = new QrEncoder(ErrorCorrectionLevel.H);
    private Renderer renderer = new Renderer(15);

    BitMatrix qr = Encoder.Encode("12345").Matrix;
    Size size = Renderer.Measure(qr.Width);

    Bitmap result = new Bitmap(size.Width, size.Width);
    try
    {
        using (Graphics graphics = Graphics.FromImage(result))
        renderer.Draw(graphics,qr);
        return result;
    }
    catch
    {
        result.Dispose();
        throw;
    }

我可以使用上面的内容成功生成QR码。 但是,它始终使它们在代码的所有侧面都带有空格。 有没有简单的方法可以删除空白,或者更好的方法是在没有空白的情况下生成代码?

如果库不直接支持它,那么您总是可以再增加一个步骤来裁剪结果位图。

using (Graphics graphics = Graphics.FromImage(result))
    renderer.Draw(graphics,qr);

Rectangle cropRectangle = Rectangle(
    borderWidth,borderHeight,result.Width-borderWidth, 
    result.Height-borderHeight);    
return result.Clone(cropRectangle, bmp.PixelFormat);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM