WPF 使用QRCoder生成二维码
Posted czly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 使用QRCoder生成二维码相关的知识,希望对你有一定的参考价值。
vs中使用Nuget获取QRCoder
窗体中添加按钮和Iage
<Window x:Class="QRCoderTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:QRCoderTest" xmlns:qr="clr-namespace:QRCoder;assembly=QRCoder" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="0.3*"/> <ColumnDefinition Width="0.7*"/> </Grid.ColumnDefinitions> <Button Content="Button" HorizontalAlignment="Left" Margin="51,90,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/> <Image x:Name="img" Grid.Column="1"/> </Grid> </Window>
后台代码
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { CreateQR(100,"aaa123!ly是是是@#¥%……",System.Drawing.Color.Black,System.Drawing.Color.White,new Bitmap(@"E:WorklyMES图片1.png")); } private void CreateQR(int pixelsPerModule, string info, System.Drawing.Color qrColor, System.Drawing.Color qrBackgroundColor, Bitmap logo, int iconSizePercent = 15, int iconBorderWidth = 6) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(info, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(pixelsPerModule, qrColor, qrBackgroundColor, logo, iconSizePercent, iconBorderWidth, true); IntPtr hBitmap = qrCodeImage.GetHbitmap(); ImageSource wpfBitmap = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); img.Source = wpfBitmap; } }
QRCoder生成的是Bitmap,在WPF中需要转换为ImageSource。
运行程序
生成成功。
以上是关于WPF 使用QRCoder生成二维码的主要内容,如果未能解决你的问题,请参考以下文章
建议收藏备用:.net core使用QRCoder生成普通二维码和带Logo的二维码详细使用教程,源码已更新至开源模板