QRCode编码和解码问题

时间:2011-01-04 16:00:41

标签: encoding decoding docx qr-code

我想拆分文件(docx文件)并使用文件的各个片段对QRCode进行编码,以便在按顺序读取qrcodes时,它会重现原始文件。

我能够拆分文件并创建一堆QRCodes但是当尝试重新创建文件时,解码器会抛出以下错误消息。

“检测到的查找程序模式数无效”

我正在使用http://www.codeproject.com/KB/cs/qrcode.aspx库。

我的编码器代码

private List Encode(字符串内容,编码编码,int System.Drawing.Color qrCodeBackgroundColor, QRCodeCapacity,System.Drawing.Color qrCodeBackgroundColor,System.Drawing.Color

qrCodeForegroundColor,int qrCodeScale,int NoOfQRcodes)

{

      List<Bitmap> _qrcodesImages = new List<Bitmap>();

      byte[] _filebytearray = encoding.GetBytes(content);

      for (int k = 0,l=0; k < NoOfQRcodes; k++)
      {
          byte[] _tempByteArray = _filebytearray.Skip(l).Take(QRCodeCapacity).ToArray();
          bool[][] matrix = calQrcode(_tempByteArray);

          SolidBrush brush = new SolidBrush(qrCodeBackgroundColor);
          Bitmap image = new Bitmap((matrix.Length * qrCodeScale) + 1, (matrix.Length * qrCodeScale) + 1);
          Graphics g = Graphics.FromImage(image);
          g.FillRectangle(brush, new Rectangle(0, 0, image.Width, image.Height));
          brush.Color = qrCodeForegroundColor;
          for (int i = 0; i < matrix.Length; i++)
          {
              for (int j = 0; j < matrix.Length; j++)
              {
                  if (matrix[j][i])
                  {
                      g.FillRectangle(brush, j * qrCodeScale, i * qrCodeScale, qrCodeScale, qrCodeScale);
                  }
              }
          }
          _qrcodesImages.Add(image);
          l += QRCodeCapacity;
      }

      return _qrcodesImages;
  }

0 个答案:

没有答案