Seite 1 von 1
Druckvorschau für Bild
Verfasst: 10.11.2017 11:32
von marcelx
Hallo,
mit WebObject\ExecWB kann mann ein Druckvorschau ein HTML-Seite erzeugen:
http://www.purebasic.fr/german/viewtopi ... 16&t=30225
Gibt es ein äquivalente Lösung für ein Bild (aus der Zwischenablage)
Danke und Gruß
MarcelX
Linkfix Foren-URL --Andesdaf
Re: Druckvorschau für Bild
Verfasst: 10.11.2017 11:36
von Andesdaf
Du könntest eine temporäre Bilddatei mittels GetClipboardImage() erstellen
und diese dann in die HTML-Seite einbinden.
Re: Druckvorschau für Bild
Verfasst: 10.11.2017 12:58
von marcelx
Danke Andesdaf,
das ist ein Lösungsweg.
Ich dachte, vielleicht gibt es auch so was analog zur WebObject ein ImageObject
EDIT:
Du könntest eine temporäre Bilddatei mittels GetClipboardImage() erstellen
und diese dann in die HTML-Seite einbinden.
So habe ich es realisiert - war das einfacher (Danke für den Tipps Andesdaf)
Re: Druckvorschau für Bild
Verfasst: 19.11.2017 05:55
von udg
marcelx hat geschrieben:
So habe ich es realisiert - war das einfacher (Danke für den Tipps Andesdaf)
hättest Du wohl mal ein kleines Beispiel?
Ich bin auch immer noch am basteln der selben Funktion -> drucke mir ein Bild-keinen Text
VG
Re: Druckvorschau für Bild
Verfasst: 19.11.2017 11:02
von marcelx
Hallo udg,
hättest Du wohl mal ein kleines Beispiel?
Code: Alles auswählen
Enumeration
#myWindow
EndEnumeration
Enumeration
#myWebGadget
#Print
#Preview
EndEnumeration
Enumeration 1
#OLECMDID_OPEN
#OLECMDID_NEW
#OLECMDID_SAVE
#OLECMDID_SAVEAS
#OLECMDID_SAVECOPYAS
#OLECMDID_PRINT
#OLECMDID_PRINTPREVIEW
#OLECMDID_PAGESETUP
#OLECMDID_SPELL
#OLECMDID_PROPERTIES
#OLECMDID_CUT
#OLECMDID_COPY
#OLECMDID_PASTE
#OLECMDID_PASTESPECIAL
#OLECMDID_UNDO
#OLECMDID_REDO
#OLECMDID_SELECTALL
#OLECMDID_CLEARSELECTION
#OLECMDID_ZOOM
#OLECMDID_GETZOOMRANGE
#OLECMDID_UPDATECOMMANDS
#OLECMDID_REFRESH
#OLECMDID_STOP
#OLECMDID_HIDETOOLBARS
#OLECMDID_SETPROGRESSMAX
#OLECMDID_SETPROGRESSPOS
#OLECMDID_SETPROGRESSTEXT
#OLECMDID_SETTITLE
#OLECMDID_SETDOWNLOADSTATE
#OLECMDID_STOPDOWNLOAD
EndEnumeration
Enumeration 0
#OLECMDEXECOPT_DODEFAULT
#OLECMDEXECOPT_PROMPTUSER
#OLECMDEXECOPT_DONTPROMPTUSER
#OLECMDEXECOPT_SHOWHELP
EndEnumeration
Procedure.s CaptureActiveWindow()
Protected Handle
Protected hDC
Protected RECT.RECT
Protected hPrinterDC
Handle = GetForegroundWindow_()
hDC = GetWindowDC_(Handle)
GetWindowRect_(Handle,@RECT.RECT)
imgID=0
With RECT
\right-\left
\bottom-\top
CreateImage(imgID,\right,\bottom-50)
hPrinterDC = StartDrawing(ImageOutput(imgID))
If hPrinterDC
BitBlt_(hPrinterDC,0,0,\right,\bottom,hDC,0,0,#SRCCOPY)
StopDrawing()
EndIf
EndWith
ReleaseDC_(Handle,hDC)
UseJPEGImageEncoder()
fn$="xyz.jpg"
Dateiname$ = GetTemporaryDirectory()+fn$
SaveImage(imgID, Dateiname$, #PB_ImagePlugin_JPEG)
ProcedureReturn Dateiname$
EndProcedure
Procedure.s Print_Preview()
WebGadget(#myWebGadget, 0, 0, 0, 0, "")
HideGadget(#myWebGadget, 1)
img$ = CaptureActiveWindow()
HTML.s = "<html><head><title>Test</title></head><body></body><img src="+#DQUOTE$+img$+#DQUOTE$+"></html>"
SetGadgetItemText(#myWebGadget, #PB_Web_HtmlCode, HTML)
WebObject.IWebBrowser2 = GetWindowLong_(GadgetID(#myWebGadget), #GWL_USERDATA)
Repeat
While WindowEvent(): Wend
Delay(1)
WebObject\get_Busy(@IsBusy.l)
Until IsBusy = 0
WebObject\ExecWB(#OLECMDID_COPY,#OLECMDEXECOPT_DONTPROMPTUSER,0,0)
WebObject\ExecWB(#OLECMDID_PRINTPREVIEW, #OLECMDEXECOPT_PROMPTUSER, 0, 0)
FreeGadget(#myWebGadget)
EndProcedure
OpenWindow(#myWindow, #PB_Any, #PB_Any, 800, 615, "", #PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
ButtonGadget(#Preview, 140, 10, 100, 20, "Print_Preview")
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
Select EventGadget()
Case #Preview
Print_Preview()
EndSelect
EndSelect
Until EventID = #PB_Event_CloseWindow
Gruß
MarcelX
Re: Druckvorschau für Bild
Verfasst: 19.11.2017 11:51
von Sicro
marcelx hat geschrieben:Code: Alles auswählen
HTML.s = "<html><head><title>Test</title></head><body></body><img src="+#DQUOTE$+img$+#DQUOTE$+"></html>"
ersetzen durch
Code: Alles auswählen
HTML.s = "<html><head><title>Test</title></head><body><img src="+#DQUOTE$+img$+#DQUOTE$+"></body></html>"
Re: Druckvorschau für Bild
Verfasst: 19.11.2017 12:20
von marcelx
Danke Sicro,
erstaunlich, es funktionniert mit den falsche HTML
(nobody is perfect)
Re: Druckvorschau für Bild
Verfasst: 19.11.2017 13:03
von Sicro
Die HTML-Parser der Internet-Browser sind recht tolerant, was Syntaxfehler betrifft, sonst würden einige Internetseiten nicht richtig funktionieren.
Re: Druckvorschau für Bild
Verfasst: 19.11.2017 16:06
von udg
marcelx hat geschrieben:
Gruß
MarcelX
vielen Dank
aber außer nichts, sehe ich nichts auf meiner Vorschau.
Pfad zum Bild angepasst. Erst mal jpg beibehalten. ---> nix
was ist der Knackpunkt?
PureBasic v5.61
EDIT:
geht nun. nochmals Danke
VG