QQ登录

只需一步,快速开始

上位机MFC QRcode二维码解码实例源代码

[ 复制链接 ]

上位机MFC QRcode二维码解码实例源代码

上位机MFC QRcode二维码解码实例源代码

例程效果如上图。
通过选择图片打开指令二维码图片就可以实现读取信息功能。
图片读取是例程目录 的二维码图片。
读取的代码为:

  1. void CQRcodeDecoderDlg::OnButtonFile()
  2. {
  3.         // TODO: Add your control notification handler code here

  4.         //选择文件对话框
  5.         CString FilePathName;
  6.         CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
  7.                 "支持的格式 (*.bmp)|*.bmp|All Files (*.*)|*.*||", NULL );
  8. /*
  9.         CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
  10.                 "支持的格式 (*.bmp *.jpg)|*.bmp;*.jpg;*.jpeg|All Files (*.*)|*.*||", NULL );
  11. */
  12.         if(dlg.DoModal()==IDOK)
  13.         {
  14.                 //获取选择的文件的路径显示
  15.                 FilePathName=dlg.GetPathName();
  16.                 GetDlgItem(IDC_EDIT_FILE)->SetWindowText(FilePathName);

  17.                 QR_image = new QRcodeImage(FilePathName);
  18.                 QR_image->GetImageData();

  19.                 m_nVersion = QR_image->finderPattern->m_version;
  20.                 m_nCodeSize = m_nVersion * 4 +17;
  21.                 for(int i=0;i<m_nCodeSize;i++)
  22.                         for(int j=0;j<m_nCodeSize;j++)
  23.                                 m_CodeData[i][j]=QR_image->bitMatrix[i][j];
  24.                
  25.                 //缩放图像,显示在对话框中
  26.                 nShowSize=120;
  27.                 CDC * pDC=this->GetDC();
  28.                 pDC->StretchBlt(135, 45, nShowSize, nShowSize, QR_image->m_pDC, 0, 0, QR_image->nWidth, QR_image->nHeight, SRCCOPY);
  29.                 flag_draw=true;

  30.                
  31.                 //解码
  32.                 QR_Decode = new ContentDecoder;
  33.                 QR_Decode->DecodeData(m_nCodeSize,m_nVersion,m_CodeData);

  34.                 //显示结果
  35.                 GetDlgItem(IDC_EDIT_TEXT)->SetWindowText(QR_Decode->m_strData);//"由于解码功能尚未完成,暂时无法显示!!!"
  36.                 char s[10];
  37.                 itoa(QR_Decode->m_nVersion,s,10);
  38.                 GetDlgItem(IDC_STATIC_VERSION)->SetWindowText("版本号:"+(CString)s);
  39.                 CString str;
  40.                 switch(QR_Decode->m_nLevel)
  41.                 {
  42.                 case QR_LEVEL_L:str="L(%7)";break;
  43.                 case QR_LEVEL_M:str="M(%15)";break;
  44.                 case QR_LEVEL_Q:str="Q(%25)";break;
  45.                 case QR_LEVEL_H:str="H(%30)";break;
  46.                 }
  47.                 GetDlgItem(IDC_STATIC_LEVEL)->SetWindowText("纠错等级:"+str);

  48.         }
  49. }
复制代码
可以自己下载程序工程,查看源代码
源代码下载地址为:
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:上位机MFC QRcode二维码解码实例源代码.rar 
文件大小:96.19 KB  售价:1金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索