二维码生成与读取。
需要做一个二维码的生成与读取功能,我用了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实现了电话薄信息、电子邮件、网页书签、文本四种类型二维码的新建、复制、保存、打开识别功能,预览如下图。