Создание двумерного кода C # (с логотипом)

Создание двумерного кода C # (с логотипом)

Первый способ

Мы должны ссылаться ThoughtWorks.QRCode.dll генерировать двумерный код с логотипом (framework4.0 выше)   

Скачать: https: //pan.baidu.com/s/1mBjd7PHB-Klybx18Z5Og8A

Код Экстракция: ugwa 

///  <Сводка> 
        /// создать двумерный код
         ///  </ Сводка> 
        ///  <парам имя = "Content"> Содержание </ PARAM> 
        ///  <возвращает A> </ возвращает> 
        публичный  статический Bitmap CreateQRCode ( Строка Content) 
        { 
            попробовать 
            { 
                QRCodeEncoder qrEncoder = новый новый QRCodeEncoder ();
                 // двумерные типы кода 
                qrEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
                 // двумерный код размера 
                qrEncoder.QRCodeScale = 4. ;
                // двумерный код версии 
                qrEncoder.QRCodeVersion = 7 ;
                 // двумерный код степень отказоустойчивости 
                qrEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
                 // шрифт и цвет фона 
                qrEncoder.QRCodeBackgroundColor = Color.white; 
                qrEncoder.QRCodeForegroundColor = Color.Black ;
                 // UTF-8 типа кодирование. 
                Растровое QRCode = qrEncoder.Encode (содержание, Encoding.UTF8); 

                возвращение QRCode; 
            } 
            улов (Исключение) 
            { 
                возвращение  нулевого ;
            } 
        }
Создайте двумерный код
///  <Summary> 
        /// генерации двухмерного кода с логотипом
         ///  </ Summary> 
        ///  <Возврат> </ Returns> 
        публичный  статический Bitmap CreateQRCodeWithLogo ( Строка Content, строка logopath) 
        { 
            // генерировать двумерный код 
            QRCode = Растровые CreateQRCode (содержание);
             // создание логотипа 
            растрового логотип = новый новый Bitmap (logopath);
             // синтез 
            ImageUtility Util = новый новый ImageUtility (); 
            Растровое finalImage = util.MergeQrImg (QRCode, логотип);
            вернуться finalImage; 
        }
Создание двумерного кода с логотипом
///  <Сводка> 
        /// сохранить двумерный код
         ///  </ Сводка> 
        ///  <парам имя = "QRCode"> D изображение штрихкода </ PARAM> 
        ///  <парам имя = "SavePath"> сохранить путь </ PARAM> 
        ///  <парам имя = "QRCodeName"> имя изображения </ PARAM> 
        публичный  статический  недействительным SaveQRCode (Bitmap QRCode, строка SavePath, строка QRCodeName) 
        { 
            IF (! Directory.Exists (SavePath)) 
            { 
                Справочник .CreateDirectory (SavePath); 
            } 
            QRCode.Сохранить (Path.Combine (SavePath, QRCodeName+ " .Png " ), ImageFormat.Png); 

            QRCode.Dispose (); 
        }
Сохранить двумерный код

 

Второй способ

Нам нужно ссылаться  Gma.QrCodeNet.Encoding.Net45.dll   (framework4.5 выше) , чтобы поддержать китайский

Скачать: https: //pan.baidu.com/s/1TKMwdWHYhTp_fJnTYHKnsQ

Экстракция код: eqjh

// <резюме> 
        /// 生成保存二维码(framework4.5以上)
         ///  </ резюме> 
        ///  <парам имя = "CodeString"> </ PARAM> 
        ///  <парам имя = "PicName "> </ PARAM> 
        ///  <парам имя =" FilePath "> </ PARAM> 
        публичный  статический  недействительным CreateQRCode ( строка CodeString, строка PicName, строка FilePath) 
        { 
            QrEncoder qrEncoder = новый QrEncoder (ErrorCorrectionLevel.H); 
            QRcode код = новый QRcode (); 
            qrEncoder.TryEncode (CodeString,код);
            Const  INT modelSizeInPixels = 4 ; 

            GraphicsRenderer визуализации = новый GraphicsRenderer ( новые FixedModuleSize (modelSizeInPixels, QuietZoneModules.Two) 
                , Brushes.Black, Brushes.White); 
            если (! Directory.Exists (FilePath)) 
            { 
                Directory.CreateDirectory (FilePath); 
            } 
            Строка файла = FilePath + " \\ " + PicName + " .png " ;
            используя (FileStream поток = новыйFileStream (имя файла, FileMode.Create)) 
            { 
                render.WriteToStream (code.Matrix, ImageFormat.Png, поток); 
            } 
        }
Создание и сохранение двумерного кода

 

рекомендация

отwww.cnblogs.com/ocean-wang/p/10967336.html