技术 思绪 摘录 旅行
二维码使用场景很广泛,最近遇到需要在控制台输出二维码,但是其中遇到一些问题,导致代码正常,但是显示确不正常,本文给出的代码已经完全解决了这些问题,而且非常简洁。

开源是程序员的基本美德

显示问题其实是不同系统的空格显示宽度不一致导致的,在win7下可能显示正常的,但是到了win10之后,控制台中空格宽度变化了,这个问题应该在各大系统之间切换都是可能出现的,接下来看下如何解决这个问题的。

    //创建二维码生成类
    QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
    QrCode qrCode = qrEncoder.Encode(url);
    //输出显示在控制台
    Console.WriteLine("\n\n");
    for (int j = 0; j < qrCode.Matrix.Height; j++)
    {
        Console.Write("\t");
        for (int i = 0; i < qrCode.Matrix.Width; i++)
        {
            if (qrCode.Matrix[i, j])
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("█");
                Console.ForegroundColor = ConsoleColor.Black;
            }
            else
            {
                Console.Write("█");
            }

        }
        Console.WriteLine();
    }

依赖项:Gma.QrCodeNet.Encoding

效果如下:

image.png

CarsonIT 微信扫码关注公众号 策略、创意、技术

留下您的脚步

 

最近评论

查看更多>>

友情打赏

请打开您的微信,扫一扫