导出 WPF Metro 图表
Export WPF Metro Charts
我在我的应用程序中使用 WPF (http://modernuicharts.codeplex.com/) 的现代 UI (Metro) 图表,我想导出我正在以 PDF 格式显示的图表(或JPEG、PNG(如果更简单的话)。我不知道该怎么做,也找不到与此相关的任何 post。有什么想法吗?
非常感谢。
这将允许您将 UI 渲染为图像并保存:
public MemoryStream GenerateImage
(Visual vsual, int widhth, int height, ImageFormat format)
{
BitmapEncoder encoder = null;
switch (format)
{
case ImageFormat.JPG :
encoder = new JpegBitmapEncoder();
break;
case ImageFormat.PNG:
encoder = new PngBitmapEncoder();
break;
case ImageFormat.BMP:
encoder = new BmpBitmapEncoder();
break;
case ImageFormat.GIF:
encoder = new GifBitmapEncoder();
break;
case ImageFormat.TIF:
encoder = new TiffBitmapEncoder();
break;
}
if (encoder == null) return null;
RenderTargetBitmap rtb = this.RenderVisaulToBitmap(vsual, widhth, height);
MemoryStream file = new MemoryStream();
encoder.Frames.Add(BitmapFrame.Create(rtb));
encoder.Save(file);
return file;
}
我在我的应用程序中使用 WPF (http://modernuicharts.codeplex.com/) 的现代 UI (Metro) 图表,我想导出我正在以 PDF 格式显示的图表(或JPEG、PNG(如果更简单的话)。我不知道该怎么做,也找不到与此相关的任何 post。有什么想法吗?
非常感谢。
这将允许您将 UI 渲染为图像并保存:
public MemoryStream GenerateImage
(Visual vsual, int widhth, int height, ImageFormat format)
{
BitmapEncoder encoder = null;
switch (format)
{
case ImageFormat.JPG :
encoder = new JpegBitmapEncoder();
break;
case ImageFormat.PNG:
encoder = new PngBitmapEncoder();
break;
case ImageFormat.BMP:
encoder = new BmpBitmapEncoder();
break;
case ImageFormat.GIF:
encoder = new GifBitmapEncoder();
break;
case ImageFormat.TIF:
encoder = new TiffBitmapEncoder();
break;
}
if (encoder == null) return null;
RenderTargetBitmap rtb = this.RenderVisaulToBitmap(vsual, widhth, height);
MemoryStream file = new MemoryStream();
encoder.Frames.Add(BitmapFrame.Create(rtb));
encoder.Save(file);
return file;
}