FlexChart for WPF
画像へのエクスポート
FlexChart > FlexChart の操作 > エクスポート > 画像へのエクスポート

FlexChart for WPF では、FlexChart を複数の画像形式にエクスポートできます。サポートされる形式は、PNGJPEGSVG です。

FlexChart を画像形式にエクスポートするには、SaveImage メソッドを使用します。このメソッドは、指定されたストリームを使用してチャートを画像として保存します。SaveImage メソッドは、画像を保存するためのパラメータとして、ストリーム、画像形式、高さ、幅、背景色を受け取ります。

このトピックは、クイックスタートセクションで作成されたサンプルを使用して、ボタンクリックで FlexChart を画像にエクスポートするための実装方法を説明します。

次の図に、チャートをご希望の画像形式にエクスポートするためのボタンがクリックされたチャートを示します。

MainWindow.xaml
コードのコピー
<Grid>
        <c1:C1FlexChart x:Name="flexChart" 
               BindingX="Country" 
               Height="200"
               Width="500"
            ItemsSource="{Binding DataContext.Data}">
            <c1:C1FlexChart.Series>
                <c1:Series SeriesName="販売" 
                       Binding="Sales"/>
                <c1:Series SeriesName="費用" 
                       Binding="Expenses"/>
            </c1:C1FlexChart.Series>
        </c1:C1FlexChart>
        <Button Content="Export FlexChart" Height="30" Width="40" Click="OnSaveButtonClick" Margin="0,0,412,269" />
</Grid>                                                       
MainWindow.xaml.cs
コードのコピー
public partial class MainWindow : Window
    {
        private List _data;
        public MainWindow()
        {
            InitializeComponent();
        }
        public List Data
        {
            get
            {
                if (_data == null)
                {
                    _data = DateCreator.CreateData();
                }

                return _data;
            }
        }

        private void OnSaveButtonClick(object sender, RoutedEventArgs e)
        {
            var dialog = new SaveFileDialog()
            {
                Filter = "PNG|*.png|JPEG |*.jpeg|BMP|*.bmp|SVG|*.svg"
            };
            if (dialog.ShowDialog() == true)
            {
                using (Stream stream = dialog.OpenFile())
                {
                    var extension = dialog.SafeFileName.Split('.')[1];
                    ImageFormat fmt = (ImageFormat)Enum.Parse(typeof(ImageFormat), extension, true);
                    flexChart.SaveImage(stream, fmt);
                }
            }
        }
    }