一个命名空间
namespace BarCode
{public static class TwoDimensionCode
{
/// <summary>
/// 根据链接获取二维码
/// </summary>
/// <param name="link">链接</param>
/// <returns>返回二维码图片</returns>
public static Bitmap GetDimensionalCode(string link)
{
Bitmap bmp = null;
try
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodeEncoder.QRCodeScale = 4;
//int version = Convert.ToInt16(cboVersion.Text);
qrCodeEncoder.QRCodeVersion =7;
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
bmp = qrCodeEncoder.Encode(link,Encoding.UTF8);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return bmp;
}
}
}
调用方法:
private void button1_Click(object sender, EventArgs e)
{
Bitmap bp = BarCode.TwoDimensionCode.GetDimensionalCode (@"12345678901234");
Stream sm=new MemoryStream();
bp.Save(sm,System.Drawing.Imaging.ImageFormat.Bmp);
Graphics grc = this.CreateGraphics();
Rectangle rtg=new Rectangle( new Point(100,10),new Size(200,200));
grc.DrawImage(Image.FromStream(sm),rtg);
sm.Close();
}
网友下载以下的dll,注意它的版本。我最初也是下载了一个N多版本的。就是不能正确返回数据。这个版本可以的。经测试,中文,数字,英文都能够正常解析。资源可查看我的资源下载。