我正在 VisualStudio 2022 中开发 .NET6.0 控制台应用程序。该应用程序将在 Linux 上运行。
在项目属性/应用程序/常规中,有一个“目标操作系统”设置。下拉列表允许我从以下操作系统中进行选择:
没有 Linux 选项,因此我将其设置为(无),并在“发布配置文件”中使用“目标运行时”作为“linux-x64”发布应用程序时:
...它在 Linux 上运行没有问题。
但由于应用程序设置的下拉菜单中没有 Linux 选项,因此我的问题是:
我想在我的 WinUI 3 桌面应用程序中显示 QRCoder 库 ( https://github.com/codebude/QRCoder/ ) 生成的 QR 代码。
从 QRCoder 我得到System.Drawing.Bitmap对象:
QRCodeGenerator qrCodeGenerator = new();
QRCodeData qrCodeData = qrCodeGenerator.CreateQrCode(associateSoftwareTokenResponse.SecretCode, QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new(qrCodeData);
Bitmap qrCodeBitmap = qrCode.GetGraphic(20);
Run Code Online (Sandbox Code Playgroud)
然后将其分配给 XAML Image控件:qrCodeImage.Source = qrCodeBitmap给出错误:
错误 CS0029 无法将类型“System.Drawing.Bitmap”隐式转换为“Microsoft.UI.Xaml.Media.ImageSource”
所以显然仍然需要一些转换。
我设法找到的所有文档和示例都解释了如何从文件而不是位图对象打印图像。
如何在我的 WinUI 3 应用程序中显示此代码生成的位图?