C#使用QRCodeEncoder生成在线支付二维码图片(中间带Logo)|C/S开发框架
作者:csframework|C/S框架网  发布日期:2022/02/22 15:11:12

C#使用QRCodeEncoder生成在线支付二维码图片(中间带Logo)|C/S开发框架

C#生成在线支付二维码图片(中间带Logo)

二维码效果

C#使用QRCodeEncoder生成在线支付二维码图片(中间带Logo)|C/S开发框架

ThoughtWorks.QRCode.dll二维码组件

QRCodeEncoder类:

C#全选
        /// <summary>
        /// 生成二维码(中间带LOGO)
        /// </summary>
        /// <param name="absoluteSave">保存的绝对路径</param>
        /// <param name="qrdata">二维码内容:要附加的内容</param>
        ///<param name="absoluteSave">保存的绝对路径</param>
        /// <returns></returns>
        Image CreateQRCode(string qrdata, Image logo)
        {
            try
            {
                QRCodeEncoder encoder = new QRCodeEncoder();
                encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字)
                encoder.QRCodeScale = 5;//大小(值越大生成的二维码图片像素越高)
                encoder.QRCodeVersion = 0;//版本(注意:设置为0主要是防止编码的字符串太长时发生错误)
                encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;//错误效验、错误更正(有4个等级)
                encoder.QRCodeBackgroundColor = Color.White;
                encoder.QRCodeForegroundColor = Color.Black;
                System.Drawing.Image image = encoder.Encode(qrdata, Encoding.UTF8);

                Graphics g = Graphics.FromImage(image);

                int width1 = image.Width / 4;
                int height1 = image.Height / 4;

                int x = image.Width / 2 - width1 / 2;
                int y = image.Height / 2 - height1 / 2;
                g.FillRectangle(new SolidBrush(Color.White), x, y, width1, height1);

                Bitmap copyImage = new Bitmap(logo, width1 - image.Width / 40, height1 - image.Height / 40);

                g.DrawImage(copyImage, x + image.Width / 40 / 2, y + image.Height / 40 / 2);

                copyImage.Dispose();
                g.Dispose();

                return image;
            }
            catch (Exception e)
            {
                throw e;
                //一些操作
            }
        }

C#使用QRCodeEncoder生成在线支付二维码图片(中间带Logo)|C/S开发框架

C/S框架网|原创精神.创造价值.打造精品



扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇