使用vs2022可以很方便使用NUGET安装第三方资源包进行软件开发,但是生成的软件往往对.NET版本有较高要求,往往需要>.net6的环境才行,而大多数电脑只支持.net4环境,所以这里记录一下如何在.net4环境下开发二维码生成工具。
工具 :vs2010
.NET版本:4.0
第三方动态库文件:QRCoder.dll
界面布局
生成二维码代码
string s = textBox1.Text.Trim();
if (string.IsNullOrEmpty(s) || s.Length < 5)
{
MessageBox.Show("内容不得为空且长度不能小于5个字符");
return;
}
//创建生成器
QRCodeGenerator generator = new QRCodeGenerator();
// 设置错误校正能力(ECC)级别
QRCodeData qrdata = generator.CreateQrCode(s, QRCodeGenerator.ECCLevel.Q);
QRCode qrcode = new QRCode(qrdata);
Bitmap qrCodeImage = qrcode.GetGraphic(20, Color.Black, Color.White, true);
string filepath = @"QRCode" + s.Substring(s.Length - 4, 4) + ".png";
qrCodeImage.Save(filepath);
//MessageBox.Show("success");
Image imagePic = Image.FromFile(@"QRCode" + s.Substring(s.Length - 4, 4) + ".png");
pictureBox1.Image = imagePic;
保存图片代码
saveFileDialog1.Filter = "Jpg 图片|*.jpg|Bmp 图片|*.bmp|Gif 图片|*.gif|Png 图片|*.png|Wmf 图片|*.wmf";
saveFileDialog1.FilterIndex = 0;
if (pictureBox1.Image == null)
{
MessageBox.Show("没有预览图片!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if (pictureBox1.Image != null)
{
pictureBox1.Image.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}