23.5 Bildschirm-Kopie - Screenshot

Es wird Ihnen ein Projekt vorgestellt, mit dem Sie eine Bildschirm-Kopie anfertigen und sofort ausdrucken können. Genutzt wird ein Report, in den die Bildschirmkopie eingefügt wird. Das Drucken übernimmt das im Report existierende Druck-Modul. Dadurch wird der Quelltext kurz und sehr übersichtlich. Sie können im Dialog u.a. festlegen, ob Sie das Bild in Farbe oder in Graustufen ausdrucken möchten. Auch das Speichern der Bildschirm-Kopie als PDF-Datei ist möglich.

Kompletter Quelltext:

' Gambas class file
' Adaption: Hans Lehmann + Osterburg + 2021 
 
Public Sub Form_Open()
  FMain.Center()
  FMain.Resizable = False
End
 
Public Sub btnMake_Click()
 
    Dim hScreenshotImage As Image
    Dim hReport As New Report
    Dim hReportLabel As New ReportLabel(hreport)
    Dim hReportImage As New ReportImage(hReport)
 
'-- Ausdruck: DIN-A4-Querformat (Voreinstellung)
    hReport.Paper = Printer.A4
    hreport.Orientation = Printer.Landscape
    hreport.Padding = ReportPadding["2 cm"]
    hReport.Spacing = "1 cm"
 
    hReportLabel.Text = "Druck einer Bildschirm-Kopie (Screenshot)"
    hReportLabel.Autoresize = True
    hReportLabel.Alignment = Align.Center
    hReportLabel.Font.Size = 24
 
'-- Das Programm-Fenster wird versteckt
    FMain.Hide()
      Wait 0.2
 
      hScreenshotImage = Desktop.Screenshot().Image
 
'-- Das Programm-Fenster wird wieder angezeigt
    FMain.Show()
 
'-- Das ScreenshotImage wird in den Report eingefügt
    hReportImage.Image = hScreenshotImage
    hReportImage.Autoresize = True
    hReportImage.Stretch = Report.Proportional
    hReportImage.Expand = True
 
'-- Vorschau des Reports ⇉ Druck-Dialog
    hReport.Preview()
 
End

Abbildung 23.5.1: Druck-Dialog

Das Programm-Fenster zeigt nur einen Button:

Abbildung 23.5.2: Programm-Fenster

Download

Abbildung 23.5.2: Programm-Fenster