Экспорт OxyPlot PlotModel в ReportDocument дает размытое изображение

Долгое время скрывался, впервые постер.

В настоящее время я работаю с приложением WPF, которое использует OxyPlot для создания графика. Я хочу экспортировать сгенерированный график в ReportDocument (RDLC) и распечатать его в формате PDF, используя CutePdf. Я могу сделать это успешно.

В настоящее время я использую этот подход, выполняя приведенный ниже фрагмент кода.

using (var memStream = new MemoryStream())
{
   PngExporter.Export(PlotModel, memStream, 850, 700, OxyColors.White, 120);
   var fromStream = Image.FromStream(memStream);
   fromStream.Save(memStream, ImageFormat.Png);
   imageArray = new byte[memStream.Length];
   memStream.Seek(0, SeekOrigin.Begin);
   memStream.Read(imageArray, 0, (int) memStream.Length);
}

var stringBytes = Convert.ToBase64String(imageArray);

Чтобы передать это в RDLC, я должен преобразовать поток памяти в Base64String и передать его в качестве параметра. Как так;

var parameter = new ReportParameter("Chart", stringBytes);

reportViewer.LocalReport.SetParameters(parameter);

Однако, несмотря на то, что все это прекрасно и прекрасно, изображение, выводимое в PDF, кажется невероятно размытым и пикселированным, когда я увеличиваю его, тогда как окружающий текст на странице получается четким.

Я попытался просто сохранить изображение на диск в формате PNG/BMP/JPG, но это также, похоже, возвращает размытое изображение, так что это не проблема размеров.

  using (var stream = File.Create("testChart.png"))
  {
     var pngExporter = new PngExporter();
     pngExporter.Export(PlotModel, stream);
  }

Я приложил копию PDF с этим постом, чтобы показать, что я имею в виду.

Спасибо!

0 ответов

Другие вопросы по тегам