Создание двумерного кода 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, поток); } }