• C# Gma.QrCodeNet生成二维码


    一.使用C#生成二维码类库之一是qrcodenet

    源代码地址:

    http://qrcodenet.codeplex.com/

    二.使用实例

    定义处理字符串

    static string url = "http://blog.csdn.net/u011127019";

    1.实例1

    //生成二维码
    static void Generate1()
    {
        //创建二维码生成类
        QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
        QrCode qrCode = qrEncoder.Encode(url);
        //输出显示在控制台
        for (int j = 0; j < qrCode.Matrix.Height; j++)
        {
            for (int i = 0; i < qrCode.Matrix.Width; i++)
            {
                char charToPoint = qrCode.Matrix[i, j] ? '' : ' ';
                Console.Write(charToPoint);
            }
            Console.WriteLine();
        }
    }

    2.生成二维码,保存成图片

    //生成图片
    static void Generate2()
    {
        QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
        QrCode qrCode = qrEncoder.Encode(url);
        //保存成png文件
        string filename = @"H:桌面截图url.png";
        GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);
        using (FileStream stream = new FileStream(filename, FileMode.Create))
        {
            render.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream);
        }
    }

    3.支持中文

    //生成中文二维码
    static void Generate3()
    {
        QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
        QrCode qrCode = qrEncoder.Encode("我是小天马");
        //保存成png文件
        string filename = @"H:桌面截图cn.png";
        GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);
    
        Bitmap map = new Bitmap(500, 500);
        Graphics g = Graphics.FromImage(map);
        g.FillRectangle(Brushes.Red, 0, 0, 500, 500);
        render.Draw(g, qrCode.Matrix, new Point(20, 20));
        map.Save(filename, ImageFormat.Png);
    }

    4.调整二维码大小

    //设置二维码大小
    static void Generate4()
    {
        QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
        QrCode qrCode = qrEncoder.Encode("我是小天马");
        //保存成png文件
        string filename = @"H:桌面截图size.png";
        //ModuleSize 设置图片大小  
        //QuietZoneModules 设置周边padding
        /*
            * 5----150*150    padding:5
            * 10----300*300   padding:10
            */
        GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(10, QuietZoneModules.Two), Brushes.Black, Brushes.White);
    
        Point padding = new Point(10, 10);
        DrawingSize dSize = render.SizeCalculator.GetSize(qrCode.Matrix.Width);
        Bitmap map = new Bitmap(dSize.CodeWidth + padding.X, dSize.CodeWidth + padding.Y);
        Graphics g = Graphics.FromImage(map);
        render.Draw(g, qrCode.Matrix, padding);
        map.Save(filename, ImageFormat.Png);
    }

    5.生成带Logo的二维码

    //生成带Logo的二维码
    static void Generate5()
    {
        QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
        QrCode qrCode = qrEncoder.Encode("我是小天马");
        //保存成png文件
        string filename = @"H:桌面截图logo.png";
        GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);
    
        DrawingSize dSize = render.SizeCalculator.GetSize(qrCode.Matrix.Width);
        Bitmap map = new Bitmap(dSize.CodeWidth, dSize.CodeWidth);
        Graphics g = Graphics.FromImage(map);
        render.Draw(g, qrCode.Matrix);
        //追加Logo图片 ,注意控制Logo图片大小和二维码大小的比例
        Image img = Image.FromFile(@"F:JavaScript_SolutionQrCodeQrCodeImages101.jpg");
    
        Point imgPoint = new Point((map.Width - img.Width) / 2, (map.Height - img.Height) / 2);
        g.DrawImage(img, imgPoint.X, imgPoint.Y, img.Width, img.Height);
        map.Save(filename, ImageFormat.Png);
    }
  • 相关阅读:
    myelipse与idea的javaweb项目创建
    入站规则和出站规则设置
    NAT技术基本原理与应用
    如何将sqlserver数据中的数据导出到服务器
    如何将SqlServer中表结构以及表数据全部导出
    国外服务器--新加坡服务器
    windows server2008 创建新用户 远程桌面连接 和 多用户登录问题
    程序员应该关注的国外IT网站
    IDEA创建普通java和web项目教程
    IIS Express 通过IP访问的方法和坑
  • 原文地址:https://www.cnblogs.com/tianma3798/p/5425726.html
Copyright © 2020-2023  润新知