二维码生成与读取。

需要做一个二维码的生成与读取功能,我用了ZXing.net,以下是生成二维码的核心代码.

   /// <summary>
        /// 根据字符串转换为QRCode
        /// </summary>
        /// <param name="qrValue">需要转换为二维码的字符串</param>
        /// <param name="Height">图片的高度,默认为300</param>
        /// <param name="Width">图片的宽度,默认为300</param>
        private void ShowQRCodeFromValue(string qrValue,int Height=300,int Width=300)
        {
            if (Convert.ToInt32(heightTB.Text) != 300)
            {
                Height = Convert.ToInt32(heightTB.Text);
                Width = Convert.ToInt32(widthTB.Text);
            }
            var barcodeWriter = new BarcodeWriter
            {
                
                Format = BarcodeFormat.QR_CODE,
                Options = new EncodingOptions
                {
                    Height = Height,
                    
                    Width = Width,
                    Margin = 1
                }
            };
            
            using (var bitmap = barcodeWriter.Write(qrValue))
            using (var stream = new MemoryStream())
            {
                bitmap.Save(stream, ImageFormat.Png);

                BitmapImage bi = new BitmapImage();
                bi.BeginInit();
                stream.Seek(0, SeekOrigin.Begin);
                bi.StreamSource = stream;
                bi.CacheOption = BitmapCacheOption.OnLoad;
                bi.EndInit();
                myimage.Source = bi;
                if (myimage.IsVisible == false)
                myimage.Visibility = Visibility.Visible;
                myimage.IsEnabled = true;
            }
        }

  根据函数ShowQRCodeFromValue实现了电话薄信息、电子邮件、网页书签、文本四种类型二维码的新建、复制、保存、打开识别功能,预览如下图。

原文地址:https://www.cnblogs.com/ssvip/p/7736739.html