private MemoryStream GenCode(string data, int height, int width, int margin) { var qrCodeWriter = new ZXing.BarcodeWriterPixelData { Format = ZXing.BarcodeFormat.QR_CODE, Options = new QrCodeEncodingOptions { Height = height, Width = width, Margin = margin } }; var bitMatrix = qrCodeWriter.Encode(data); var renderer = new ZXing.SkiaSharp.Rendering.SKBitmapRenderer(); var bitmap = renderer.Render(bitMatrix, BarcodeFormat.QR_CODE, data); var skStream = new SkiaSharp.SKDynamicMemoryWStream(); bitmap.Encode(skStream, SkiaSharp.SKEncodedImageFormat.Png, 100); var stream = skStream.CopyToData().AsStream(); var ms = new MemoryStream(); stream.CopyTo(ms); ms.Position = 0; return(ms); }
public void SetUrl(string url) { var bitmapRenderer = new ZXing.Rendering.WriteableBitmapRenderer(); bitmapRenderer.Background = System.Windows.Media.Colors.White; bitmapRenderer.Foreground = System.Windows.Media.Colors.Black; ZXing.BarcodeWriterPixelData qrWriter = new ZXing.BarcodeWriterPixelData() { Format = BarcodeFormat.QR_CODE, Options = new ZXing.Common.EncodingOptions() { Height = 1024, Width = 1024 } }; var bitmap = bitmapRenderer.Render(qrWriter.Encode(url), BarcodeFormat.QR_CODE, url); QrImage.Source = bitmap; UrlText.Text = "spin.exe --uri " + url; }