C# 如何将UltraQRCodeBarcode Infragistics WinForms控件转换为图像?
我有一个QR控件,可以完美地生成QR码,当我用手机扫描它时,它可以完美地工作。但我无法将其转换为图像,以便将其保存到数据库中。我在他们的网站上找过了,我什么也找不到,他们只有WPF或WinForms上的Web nothing。 下面是我如何生成二维码C# 如何将UltraQRCodeBarcode Infragistics WinForms控件转换为图像?,c#,winforms,infragistics,C#,Winforms,Infragistics,我有一个QR控件,可以完美地生成QR码,当我用手机扫描它时,它可以完美地工作。但我无法将其转换为图像,以便将其保存到数据库中。我在他们的网站上找过了,我什么也找不到,他们只有WPF或WinForms上的Web nothing。 下面是我如何生成二维码 private void btnGenerate_Click(object sender, EventArgs e) { string data = string.Empty; var fullName = txtFirstName
private void btnGenerate_Click(object sender, EventArgs e)
{
string data = string.Empty;
var fullName = txtFirstName + " " + txtMiddleName + " " + txtLastName;
if (!string.IsNullOrEmpty(txtLicenceNumber.Text))
{
data = fullName;
data += ", " + Environment.NewLine + txtDistrict.Text;
data += ", " + Environment.NewLine + txtLicenceNumber.Text;
data += ", " + Environment.NewLine + txtRegistrationCode;
}
ultraQRCodeBarcode1.Data = data;
}
这是我的save方法,我试图把它转换成字节码并保存
但我并不成功,因为这张照片中没有图像这样的属性
user.QrCode = ImageToByteArray(ultraQRCodeBarcode1.);
图像转换器
private byte[] ImageToByteArray(string imagePath)
{
byte[] data = null;
var fileInfo = new FileInfo(imagePath);
long numBytes = fileInfo.Length;
var fileStream = new FileStream(imagePath, FileMode.Open, FileAccess.Read);
var binaryReader = new BinaryReader(fileStream);
data = binaryReader.ReadBytes((int)numBytes);
return data;
}
UltraQRCodeBarcode有一种方法。此方法有多个重载,允许您将二维码保存到图像或内存流中。在您的情况下,我将创建一个内存流,然后将该流转换为字节数组,如下所示:
byte[] data;
using(MemoryStream ms = new MemoryStream())
{
this.ultraQRCodeBarcode1.SaveTo(ms, ImageFormat.Png);
byte[] data = ms.ToArray();
}