C# — Использование ZXing.Сеть для создания и загрузки QR-кода SVG

#c# #qr-code #zxing.net

Вопрос:

Я работаю над проектом QR-кода, и одним из требований является возможность загрузки сгенерированного QR-кода в формате SVG. Мне удалось отобразить сгенерированный QR-код в формате PNG, но я пытался загрузить его в формате SVG.

Я использую библиотеку XZing для генерации QR-кода в формате PNG

 Color barcodeColor = System.Drawing.ColorTranslator.FromHtml(colorHex);   BarcodeWriter barcodeWriter = new BarcodeWriter  {  Format = BarcodeFormat.QR_CODE,  Options = new EncodingOptions  {  Width = width,  Height = height,  PureBarcode = true  },  Renderer = new BitmapRenderer  {  Foreground = barcodeColor  }  };   Bitmap barCodeBitmap = barcodeWriter.Write(qrContent);  var memoryStream = new MemoryStream();   // save to stream as PNG  barCodeBitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);   HttpResponseMessage response = new HttpResponseMessage();  response.Content = new ByteArrayContent(memoryStream.ToArray());  response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");  response.StatusCode = HttpStatusCode.OK;   return response;  

Мне удалось создать объект BarcodeWriterSvg, но я не смог преобразовать его в поток и передать в заголовке, как PNG

 BarcodeWriterSvg barcodeWriter = new BarcodeWriterSvg  {  Format = BarcodeFormat.QR_CODE,  Options = new EncodingOptions  {  Width = width,  Height = height,  PureBarcode = true  },  Renderer = new SvgRenderer  {  Foreground = barcodeColor  }  };  var barCodeBitmap = barcodeWriter.Write(qrContent);  var memoryStream = new MemoryStream();  HttpResponseMessage response = new HttpResponseMessage();  ...  

Мой вопрос в том, как преобразовать объект в поток и передать его в заголовке? Конечная цель состоит в том, чтобы иметь возможность загрузить файл без фактического создания физической копии.