C#利用ThoughtWorks.QRCode.dll创建和解析二维码

        private void button2_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(textBox1.Text.Trim()))
            {
                string enCodeString = textBox1.Text.Trim();//获取到需要转化为二维码的字符
                QRCodeEncoder codeEncoder = new QRCodeEncoder();//创建一个编码器
                pictureBox1.Image = codeEncoder.Encode(enCodeString, Encoding.UTF8);//对字符串进行编码,返回一个图片
            }
        }

//将获得的二维码保存到本地
        private void 二维码另存为ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (pictureBox1 .Image!=null)
            {
                SaveFileDialog s = new SaveFileDialog();
                s.Title = "保存二维码图片";
                s.Filter = "图片文件(*.jpg)|*.jpg";
                if (s.ShowDialog()==DialogResult.OK)
                {
                    pictureBox1.Image.Save(s.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
                    MessageBox.Show("保存成功");
                }
            }
        }


        string filename = string.Empty;
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog p = new OpenFileDialog();
            p.Title = "请选择二维码图片";
            p.Filter = "图片格式(*.jpg)|*.jpg";
            p.Multiselect = false;
            if (p.ShowDialog()==DialogResult.OK)
            {
                filename = p.FileName;
                ss();
            }
        }


        private void ss()
        {
            pictureBox1.Image = new Bitmap(filename);//
            QRCodeDecoder qrDecoder = new QRCodeDecoder();//创建一个解码器
          string msg= qrDecoder.decode(new QRCodeBitmapImage(new Bitmap(pictureBox1.Image)), Encoding.UTF8);//解码返回一个字符串
          textBox1.Text = msg;
          MessageBox.Show("解析完成");
        }

你可能感兴趣的:(C#技术支持)