Пример #1
0
 protected void OnResponse(object o, ResponseArgs args)
 {
     if (args.ResponseId == ResponseType.Ok)
     {
         Properties = new ExportProperties
         {
             Type   = (ExportType)ExportTypeSelection.Active,
             Height = (uint)HeightInput.Value,
             Width  = (uint)WidthInput.Value,
             Color  = new byte[3]
             {
                 MapToByte(ColorButton.Color.Red),
                 MapToByte(ColorButton.Color.Green),
                 MapToByte(ColorButton.Color.Blue)
             }
         };
     }
 }
Пример #2
0
        private void Export(ExportType exportType)
        {
            ExportProperties props = null;

            ExportDialog export = new ExportDialog(exportType);

            export.Response += delegate(object obj, ResponseArgs resp)
            {
                if (resp.ResponseId == ResponseType.Ok)
                {
                    props = export.Properties;
                }
            };
            export.Run();
            export.Destroy();

            if (props == null)
            {
                return;
            }

            FileChooserDialog fc = new FileChooserDialog("Kaydedilecek Yeri Seçin", this,
                                                         FileChooserAction.Save, "Vazgeç", ResponseType.Cancel, "Kaydet", ResponseType.Accept);

            if (fc.Run() == (int)ResponseType.Accept)
            {
                props.FileName = fc.Filename;
            }
            fc.Destroy();

            if (props.FileName == null)
            {
                return;
            }

            if (props.Type == ExportType.PDF)
            {
                PdfExporter exporter = new PdfExporter
                {
                    Width      = props.Width,
                    Height     = props.Height,
                    Background = OxyColor.FromRgb(props.Color[0], props.Color[1], props.Color[2])
                };
                try
                {
                    using (FileStream file = File.Create(props.FileName))
                        exporter.Export(MainPlotModel, file);
                }
                catch (Exception ex)
                {
                    MessageDialog dialog = new MessageDialog(this, DialogFlags.DestroyWithParent,
                                                             MessageType.Error, ButtonsType.Ok,
                                                             "Dışarı aktarılırken bir sorunla karşılaşıldı.\n\n" +
                                                             "Mesaj: " + ex.Message);
                    dialog.Run();
                    dialog.Destroy();
                }
            }
            else if (props.Type == ExportType.PNG)
            {
                PngExporter exporter = new PngExporter
                {
                    Width      = (int)props.Width,
                    Height     = (int)props.Height,
                    Background = OxyColor.FromRgb(props.Color[0], props.Color[1], props.Color[2])
                };
                try
                {
                    using (FileStream file = File.Create(props.FileName))
                        exporter.Export(MainPlotModel, file);
                }
                catch (Exception ex)
                {
                    MessageDialog dialog = new MessageDialog(this, DialogFlags.DestroyWithParent,
                                                             MessageType.Error, ButtonsType.Ok,
                                                             "Dışarı aktarılırken bir sorunla karşılaşıldı.\n\n" +
                                                             "Mesaj: " + ex.Message);
                    dialog.Run();
                    dialog.Destroy();
                }
            }
            else if (props.Type == ExportType.SVG)
            {
                SvgExporter exporter = new SvgExporter
                {
                    Width  = (int)props.Width,
                    Height = (int)props.Height
                };
                try
                {
                    using (FileStream file = File.Create(props.FileName))
                        exporter.Export(MainPlotModel, file);
                }
                catch (Exception ex)
                {
                    MessageDialog dialog = new MessageDialog(this, DialogFlags.DestroyWithParent,
                                                             MessageType.Error, ButtonsType.Ok,
                                                             "Dışarı aktarılırken bir sorunla karşılaşıldı.\n\n" +
                                                             "Mesaj: " + ex.Message);
                    dialog.Run();
                    dialog.Destroy();
                }
            }
        }