将Chart保存为图片或者XPS文件,输出图片无数据信息 您所在的位置:网站首页 雅马哈V573HDMI输出图像问题 将Chart保存为图片或者XPS文件,输出图片无数据信息

将Chart保存为图片或者XPS文件,输出图片无数据信息

2023-07-19 00:36| 来源: 网络整理| 查看: 265

问题; 将chart(PieSeries)保存为图片,或者输出到xps文件里面,饼形图不能显示出来,但是同样的代码,在WPF程序窗口中却能正确显示。

代码如下;

       Chart chartView = new Chart();

   chartView.BeginInit();

           chartView.Width = 300;

           chartView.Height = 250;

           chartView.Background = Brushes.Azure;

           PieSeries pieSeries = new PieSeries();

           Binding KeyBind = new Binding("Key");

           Binding ValueBind = new Binding("Value");

           pieSeries.Title = "Test";

           pieSeries.IndependentValueBinding = KeyBind;

           pieSeries.DependentValueBinding = ValueBind;

   KeyValuePair[] itemsSource = new KeyValuePair[] {

new KeyValuePair("Apple", 100.0),

new KeyValuePair("Orange", 200.0) };

   pieSeries.ItemsSource = itemsSource ;

   chartView.Series.Add(pieSeries);

       chartView.EndInit();

         RenderTargetBitmap renderTarget =

               new RenderTargetBitmap((int)300,

                                   (int)250,

                                   96,

                                   96,

                                   System.Windows.Media.PixelFormats.Pbgra32);

           Size tmpSize = new Size(m_PrintWidth, m_PrintHeight);

           chartView.Measure(tmpSize);

           chartView.Arrange(new Rect(tmpSize));

           chartView.UpdateLayout();

           renderTarget.Render(chartView);

           PngBitmapEncoder encoder = new PngBitmapEncoder();

           encoder.Frames.Add(BitmapFrame.Create(renderTarget));

           using (FileStream pageOutStream = new FileStream(@"c:\pie.png", FileMode.Create, FileAccess.Write))

           {

               encoder.Save(pageOutStream);

               pageOutStream.Close();

           }

请高人指点,任何建议都可以。谢谢!

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有