BILD auf PDF Drucken mittels "Strg+P"

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

BILD auf PDF Drucken mittels "Strg+P"

Beitrag von Velindos »

Hallo Leute,

möchte das Bild auf PDF drucken. Funzt ja, aber... das Bild ist nicht Seitenfüllend!

Es wird nur ein viertel im A4/A3 angezeigt!

Code: Alles auswählen

; BILD auf PDF Drucken mittels "Strg+P"
EnableExplicit

UsePNGImageDecoder()

Enumeration
  #Strg_P_Print
EndEnumeration

Global Desk_Anzahl = ExamineDesktops() -1
Global Desktop_Reader_X = DesktopWidth(Desk_Anzahl)
Global Desktop_Reader_Y = DesktopHeight(Desk_Anzahl)

Global Img_Lander
Img_Lander = CatchImage(#PB_Any,?Img_Lander)

DataSection
  Img_Lander:
  IncludeBinary "D:\[Pure@API]\[STORE]\png\MarsLander.png"  ; <========= Bild
EndDataSection

ResizeImage(Img_Lander, Desktop_Reader_X, Desktop_Reader_Y,#PB_Image_Smooth)

Procedure Present_ScreenShot_Print()
  ; =====================================
  If PrintRequester()
    ; ---------------------------
    If StartPrinting(GetFilePart("D:\[Pure@API]\[STORE]\png\MarsLander.png", #PB_FileSystem_NoExtension))
      ; ==============================
      StartDrawing(PrinterOutput())
      ; ---------------------------
      DrawingMode(#PB_2DDrawing_Transparent)
      ; ---------------------------
      DrawImage(ImageID(Img_Lander),0,0,Desktop_Reader_X,Desktop_Reader_Y)
      ; ==============================
      StopDrawing()
      ; ==============================
      StopPrinting()
      ; ---------------------------
    EndIf
    ; ---------------------------
  EndIf
  ; =====================================
EndProcedure

Global Flags = #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget
OpenWindow(0, 100, 200, Desktop_Reader_X, Desktop_Reader_Y, "Image Global Check", Flags )
ImageGadget(1,0,0,Desktop_Reader_X, Desktop_Reader_Y,ImageID(Img_Lander))
AddKeyboardShortcut (0,#PB_Shortcut_Control|#PB_Shortcut_P, #Strg_P_Print)

Define Event, Quit
Repeat
  
  Event = WaitWindowEvent()
  
  If Event = #PB_Event_CloseWindow  ; If the user has pressed on the close button
    Quit = 1
  EndIf
  Select Event
    Case #PB_Event_Menu
      ;{  MENUE
      Select EventMenu()
        Case #Strg_P_Print
          Present_ScreenShot_Print()
      EndSelect
  EndSelect
  
Until Quit = 1  

Gruss ... Velindos!
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Andesdaf
Moderator
Beiträge: 2658
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: BILD auf PDF Drucken mittels "Strg+P"

Beitrag von Andesdaf »

du schreibst mit Desktopmaßen in die Druckausgabe. Das kann nicht passen.
Schau mal mit PrinterPageWidth() / PrinterPageHeight(), was du wirklich zur Verfügung hast.
Win11 x64 | PB 6.00 (x64)
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Re: BILD auf PDF Drucken mittels "Strg+P"

Beitrag von Velindos »

Hallo Andesdaf,
Danke für den Tip und schon läuft´s!

Gruss ... Velindos!
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Antworten