我已经使用 ZXing.net 生成了二维码,我想给生成的二维码上色。如何在 MVC.net 中使用 ZXing.net 为 QR 码着色?
代码如下
IBarcodeWriter barcodeWriter = new BarcodeWriter
{
Format = BarcodeFormat.QR_CODE,
Options = new QrCodeEncodingOptions
{
Width = 400,
Height = 400
}
};
var result = barcodeWriter.Write(qrcode);
var barcodeBitmap = new Bitmap(result);
#region code for text
//RectangleF rectf = new RectangleF(0, 0, barcodeBitmap.Width, barcodeBitmap.Height);
//Graphics g = Graphics.FromImage(barcodeBitmap);
//g.SmoothingMode = SmoothingMode.AntiAlias;
//g.InterpolationMode = InterpolationMode.HighQualityBicubic;
//g.PixelOffsetMode = PixelOffsetMode.HighQuality;
//StringFormat format = new StringFormat()
//{
// Alignment = StringAlignment.Center,
// LineAlignment = StringAlignment.Center
//};
//// Draw the text onto the image
//g.DrawString("Vaishali", new Font("Tahoma", 8), Brushes.Red, rectf,format);
#endregion
#region code for logo
System.Drawing.Image logo = System.Drawing.Image.FromFile(Server.MapPath("~/image") + "/logo.png");
int left = (barcodeBitmap.Width / 2) - (logo.Width / 2);
int top = (barcodeBitmap.Height / 2) - (logo.Height / 2);
Graphics g = Graphics.FromImage(barcodeBitmap);
g.DrawImage(logo, new Point(left, top));
#endregion
using (MemoryStream memory = new MemoryStream())
{
using (FileStream fs = new FileStream(barcodePath, FileMode.Create, FileAccess.ReadWrite))
{
barcodeBitmap.Save(memory, ImageFormat.Jpeg);
byte[] bytes = memory.ToArray();
fs.Write(bytes, 0, bytes.Length);
}
}
请有人告诉如何给颜色。