ImageGear22.Core Assembly > ImageGear.Display Namespace > ImGearPageDisplay Class : Print Method |
Print(hdc)
is equal to call DrawEx(null, hdc, true)
.'Usage Dim instance As ImGearPageDisplay Dim graphics As Graphics instance.Print(graphics)
private void PrintPage(object sender, EventArgs e) { // Load an image ImGearPage igPage; using (FileStream localFile = new FileStream("test1.tif", FileMode.Open)) { igPage = ImGearFileFormats.LoadPage(localFile, 0); } // Create a new ImGearPageDisplay based upon an ImGearPage. ImGearPageDisplay igPageDisplay = new ImGearPageDisplay(igPage); // Set the current ImGearPageView to use this new display. imGearPageView.Display = igPageDisplay; // Initialize a PrintDialog for the user to select a printer. using (PrintDocument document = new PrintDocument()) using (PrintDialog printDialog = new PrintDialog()) { printDialog.Document = document; // Set the page range to 1 page. printDialog.AllowSomePages = true; printDialog.PrinterSettings.MinimumPage = 1; printDialog.PrinterSettings.MaximumPage = 1; printDialog.PrinterSettings.FromPage = 1; printDialog.PrinterSettings.ToPage = 1; if (DialogResult.OK == printDialog.ShowDialog(this)) { // Set a name for the print job. document.DocumentName = this.Text; // Define a PrintPage event handler and start printing. document.PrintPage += new PrintPageEventHandler(HandlePrinting); document.Print(); } } } void HandlePrinting(object sender, PrintPageEventArgs args) { // Clone the current Display for use as a printing display. ImGearPageDisplay igPageDisplayPrinting = imGearPageView.Display.Clone(); igPageDisplayPrinting.Page = imGearPageView.Display.Page; // Get the current Zoom settings and disabled fixed zoom. ImGearZoomInfo igZoomInfo = igPageDisplayPrinting.GetZoomInfo(imGearPageView); igZoomInfo.Horizontal.Fixed = igZoomInfo.Vertical.Fixed = false; igPageDisplayPrinting.UpdateZoomFrom(igZoomInfo); // Disable any background before printing. igPageDisplayPrinting.Background.Mode = ImGearBackgroundModes.NONE; // Print to the Graphics device chosen from the PrintDialog. igPageDisplayPrinting.Print(args.Graphics); // Let the PrintDialog know there are no more pages. args.HasMorePages = false; }
Private Sub PrintPage(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles ImGearPageDisplayPrintToolStripMenuItem.Click 'Load an image Dim igPage As ImGearPage Dim localFile As FileStream = New FileStream("test1.tif", FileMode.Open) Try igPage = ImGearFileFormats.LoadPage(localFile, 0) Finally localFile.Close() End Try 'Create a new ImGearPageDisplay based upon an ImGearPage. Dim igPageDisplay As ImGearPageDisplay = New ImGearPageDisplay(igPage) 'Set the current ImGearPageView to use this new display. ImGearPageView1.Display = igPageDisplay 'Initialize a PrintDialog for the user to select a printer. Dim document As PrintDocument = New PrintDocument() Dim printDialog As PrintDialog = New PrintDialog() Try printDialog.Document = document 'Set the page range to 1 page. printDialog.AllowSomePages = True printDialog.PrinterSettings.MinimumPage = 1 printDialog.PrinterSettings.MaximumPage = 1 printDialog.PrinterSettings.FromPage = 1 printDialog.PrinterSettings.ToPage = 1 If (printDialog.ShowDialog(Me) = DialogResult.OK) Then 'Set a name for the print job. document.DocumentName = Me.Text 'Define a PrintPage event handler and start printing. AddHandler document.PrintPage, _ New PrintPageEventHandler(AddressOf HandlePrinting) document.Print() End If Finally printDialog.Dispose() document.Dispose() End Try End Sub Private Sub HandlePrinting(ByVal sender As Object, ByVal args As PrintPageEventArgs) 'Clone the current Display for use as a printing display. Dim igPageDisplayPrinting As ImGearPageDisplay = _ ImGearPageView1.Display.Clone() igPageDisplayPrinting.Page = ImGearPageView1.Display.Page 'Get the current Zoom settings and disabled fixed zoom. Dim igZoomInfo As ImGearZoomInfo = _ igPageDisplayPrinting.GetZoomInfo(ImGearPageView1) igZoomInfo.Horizontal.Fixed = False igZoomInfo.Vertical.Fixed = False igPageDisplayPrinting.UpdateZoomFrom(igZoomInfo) 'Disable any background before printing. igPageDisplayPrinting.Background.Mode = _ ImGearBackgroundModes.NONE 'Print to the Graphics device chosen from the PrintDialog. igPageDisplayPrinting.Print(args.Graphics) 'Let the PrintDialog know there are no more pages. args.HasMorePages = False End Sub