using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing.Imaging;
using ZXing.Common;
using ZXing;
using System.Drawing;
using Gma.QrCodeNet.Encoding;
using Gma.QrCodeNet.Encoding.Windows.Render;
using System.IO;
namespace autuPrint.printService
{
class QrCodeAndBarCode
{
///
/// 生成二维码
///
/// 二维码字符串内容
/// 成功返回二维码图片,失败返回空
public static Image printQr(string Qr)
{
try
{
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
QrCode qrCode = new QrCode();
qrEncoder.TryEncode(Qr, out qrCode);
GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);
using (MemoryStream ms = new MemoryStream())
{
renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms);
Image img = Image.FromStream(ms);
//img.Save("E:/二维码.png");
return img;
}
}
catch (Exception)
{
return null;
}
}
///
/// 生产条形码
///
/// 条形码内容
/// 成功返回图片
public static Image printBr(string Br)
{
try
{
EncodingOptions encodeOption = new EncodingOptions();
encodeOption.Height = 60; // 必须制定高度、宽度
encodeOption.Width = 240;
encodeOption.PureBarcode = true;
// 2.生成条形码图片并保存
ZXing.BarcodeWriter wr = new BarcodeWriter();
wr.Options = encodeOption;
// wr.Format = BarcodeFormat.CODE_39; // 这里可以设定条码的标准
wr.Format = BarcodeFormat.CODE_128;
Bitmap img = wr.Write(Br);
return img;
}
catch (Exception)
{
return null;
}
}
}
}