Generating a two-dimensional code C # (with Logo)

Generating a two-dimensional code C # (with Logo)

The first way

We need to reference ThoughtWorks.QRCode.dll generate two-dimensional code with a logo (framework4.0 above)   

Download: https: //pan.baidu.com/s/1mBjd7PHB-Klybx18Z5Og8A

Extraction code: ugwa 

///  <the Summary> 
        /// create a two-dimensional code
         ///  </ the Summary> 
        ///  <param name = "Content"> content </ param> 
        ///  <returns A> </ returns A> 
        public  static Bitmap CreateQRCode ( String Content) 
        { 
            the try 
            { 
                QRCodeEncoder qrEncoder = new new QRCodeEncoder ();
                 // two-dimensional code types 
                qrEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
                 // two-dimensional code size 
                qrEncoder.QRCodeScale = . 4 ;
                // two-dimensional code version 
                qrEncoder.QRCodeVersion = 7 ;
                 // two-dimensional code degree of fault tolerance 
                qrEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
                 // font and background color 
                qrEncoder.QRCodeBackgroundColor = Color.White; 
                qrEncoder.QRCodeForegroundColor = Color.Black ;
                 // UTF-type encoding. 8 
                Bitmap qrcode = qrEncoder.Encode (Content, Encoding.UTF8); 

                return qrcode; 
            } 
            the catch (Exception) 
            { 
                return  null ;
            }
        }
Create a two-dimensional code
///  <Summary> 
        /// generating a two-dimensional code with a logo
         ///  </ Summary> 
        ///  <Returns> </ Returns> 
        public  static Bitmap CreateQRCodeWithLogo ( String Content, String logopath) 
        { 
            // generate two-dimensional code 
            qrcode = Bitmap CreateQRCode (Content);
             // generating logo 
            Bitmap logo = new new Bitmap (logopath);
             // synthesis 
            ImageUtility util = new new ImageUtility (); 
            Bitmap finalImage = util.MergeQrImg (qrcode, logo);
            return finalImage;
        }
Generating a two-dimensional code with the Logo
///  <the Summary> 
        /// save two-dimensional code
         ///  </ the Summary> 
        ///  <param name = "QRCode"> D barcode image </ param> 
        ///  <param name = "SavePath"> save the path </ param> 
        ///  <param name = "QRCodeName"> image name </ param> 
        public  static  void SaveQRCode (Bitmap QRCode, String SavePath, String QRCodeName) 
        { 
            IF (! Directory.Exists (SavePath)) 
            { 
                Directory .CreateDirectory (SavePath); 
            } 
            QRCode.Save(Path.Combine(SavePath, QRCodeName + ".png"), ImageFormat.Png);

            QRCode.Dispose();
        }
Save two-dimensional code

 

The second way

We need to reference  Gma.QrCodeNet.Encoding.Net45.dll   (framework4.5 above) to support Chinese

Download: https: //pan.baidu.com/s/1TKMwdWHYhTp_fJnTYHKnsQ

Extraction code: eqjh

// <summary>
        /// 生成保存二维码(framework4.5以上)
        /// </summary>
        /// <param name="CodeString"></param>
        /// <param name="PicName"></param>
        /// <param name="FilePath"></param>
        public static void CreateQRCode(string CodeString, string PicName, string FilePath)
        {
            QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
            QrCode code = new QrCode();
            qrEncoder.TryEncode(CodeString, out code);
            const int modelSizeInPixels = 4;

            GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(modelSizeInPixels, QuietZoneModules.Two)
                , Brushes.Black, Brushes.White);
            if (!Directory.Exists(FilePath))
            {
                Directory.CreateDirectory(FilePath);
            }
            string filename = FilePath + "\\" + PicName + ".png";
            using (FileStream stream = new FileStream(filename, FileMode.Create))
            {
                render.WriteToStream(code.Matrix, ImageFormat.Png, stream);
            }
        }
Generate and save the two-dimensional code

 

Guess you like

Origin www.cnblogs.com/ocean-wang/p/10967336.html