コード例 #1
0
 public void SavePNGFromDialog(RockSmithTabExplorer.Controls.TabControl tabControl, string fileName)
 {
     var dialog = new Microsoft.Win32.SaveFileDialog();
     dialog.Filter = "Png image (*.png)|*.png";
     dialog.FileName = fileName;
     if (dialog.ShowDialog() == true)
     {
         ExportToPNG(dialog.FileName, tabControl);
     }
 }
コード例 #2
0
ファイル: PrintService.cs プロジェクト: Jamedjo/RSTabExplorer
        public void Print(RockSmithTabExplorer.Controls.TabControl tabControl, string jobTitle)
        {
            PrintDialog printDialog = new PrintDialog();
                if (printDialog.ShowDialog() == true)
                {
                    System.Printing.PrintCapabilities capabilities = printDialog.PrintQueue.GetPrintCapabilities(printDialog.PrintTicket);
                    double scale = Math.Min(capabilities.PageImageableArea.ExtentWidth / tabControl.ActualWidth, capabilities.PageImageableArea.ExtentHeight / tabControl.ActualHeight);
                    //DoWithElementAtSize(tabControl, printDialog.PrintableAreaWidth, printDialog.PrintableAreaHeight, () =>
                    //{

                    //Transform the Visual to scale
                    tabControl.LayoutTransform = new ScaleTransform(scale, scale);

                    //get the size of the printer page
                    Size sz = new Size(capabilities.PageImageableArea.ExtentWidth, capabilities.PageImageableArea.ExtentHeight);

                    //update the layout of the visual to the printer page size.
                    tabControl.Measure(sz);
                    tabControl.Arrange(new Rect(new Point(capabilities.PageImageableArea.OriginWidth, capabilities.PageImageableArea.OriginHeight), sz));

                        printDialog.PrintVisual(tabControl, jobTitle);
                    //});
                }
        }