我想在我的 WinUI 3 桌面應用程式中顯示由 QRCoder 庫 ( https://github.com/codebude/QRCoder/ ) 生成的二維碼。
從 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);
然后將其分配給 XAML Image control:qrCodeImage.Source = qrCodeBitmap給出錯誤:
錯誤 CS0029 無法將型別“System.Drawing.Bitmap”隱式轉換為“Microsoft.UI.Xaml.Media.ImageSource”
所以顯然仍然需要一些轉換。
我設法找到的所有檔案和示例都解釋了如何從檔案而不是位圖物件列印影像。
如何在我的 WinUI 3 應用程式中顯示此代碼生成的位圖?
uj5u.com熱心網友回復:
您應該能夠BitmapImage從這樣的流中創建一個:
Bitmap qrCodeBitmap = ...;
BitmapImage bitmapImage = new BitmapImage();
using (MemoryStream stream = new MemoryStream())
{
qrCodeBitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
stream.Position = 0;
bitmapImage.SetSource(stream.AsRandomAccessStream());
}
image.Source = bitmapImage;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/488393.html
下一篇:如何使用React檢查檔案擴展名
