asp.net C#生成和解析二维码的实例代码

  类库文件我们在文件最后面下载

  【ThoughtWorks.QRCode.dll 就是类库】

  使用时需要增加:

  

复制代码 代码如下:

  using ThoughtWorks.QRCode.Codec;

  using ThoughtWorks.QRCode.Codec.Data;

  using ThoughtWorks.QRCode.Codec.Util;

  主要源代码:

  1.生成二维码

  

复制代码 代码如下:

  QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();

  String encoding = cboEncoding.Text;

  if (encoding == "Byte")

  {

  qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;

  }

  else if (encoding == "AlphaNumeric")

  {

  qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;

  }

  else if (encoding == "Numeric")

  {

  qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;

  }

  try

  {

  int scale = Convert.ToInt16(txtSize.Text);

  qrCodeEncoder.QRCodeScale = scale;

  }

  catch (Exception ex)

  {

  MessageBox.Show("Invalid size!");

  return;

  }

  try

  {

  int version = Convert.ToInt16(cboVersion.Text);

  qrCodeEncoder.QRCodeVersion = version;

  }

  catch (Exception ex)

  {

  MessageBox.Show("Invalid version !");

  }

  string errorCorrect = cboCorrectionLevel.Text;

  if (errorCorrect == "L")

  qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;

  else if (errorCorrect == "M")

  qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;

  else if (errorCorrect == "Q")

  qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;

  else if (errorCorrect == "H")

  qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;

  Image image;

  String data = txtEncodeData.Text;

  image = qrCodeEncoder.Encode(data);

  pb_view.Image = image;

  2.解析二维码

  

复制代码 代码如下:

  QRCodeDecoder decoder = new QRCodeDecoder();

  String decodedString = decoder.decode(new QRCodeBitmapImage(new Bitmap(pb_view.Image)));

  txtEncodeData.Text = decodedString;