Entwickler-Ecke
Sonstiges (Delphi) - BMP erstellen
Asus - So 30.12.07 16:51
Titel: BMP erstellen
Hallo,
und zwar möchte ich das das Programm wenn ich auf Start drück ein Bild(BMP) von den Inhalt von TWebBrowser macht.
So sieht das aus:
Er soll den kompletten TWebBrowser ein bild machen(auch das was man erst sieht wenn man Scrollt). Nicht die Buttons etc
Geht das irendwie zu machen?
Meine zweite idee war das ganze über nen tray Icon zu steuern, und nur das TWebBrowser anzeigt ohne Menü, bloß wenn man dann an einen anderen aktiven programm arbeitet mach das ja dann davon nen bild
MFG Martin
rizla - Mi 16.01.08 10:00
tach schön!
wo ist denn da ein TWebBrowser? Seh ja gar nix :gruebel:
Willst du quasi den screen einer site aus netz dem grabben und den dann in deinem tool darstellen?
is nur ne verständnisfrage!
:r:
JayEff - Mi 16.01.08 10:09
Titel: Re: BMP erstellen
Asus hat folgendes geschrieben: |
Er soll den kompletten TWebBrowser ein bild machen(auch das was man erst sieht wenn man Scrollt). |
Das dürfte nicht einfach werden, wie willst du von etwas ein Bild machen, das garnicht erst gezeichnet wird? :| Es gibt da im prinzip 2 Möglichkeiten:
1. Schreib dir einen HTML parser der direkt in eine Bilddatei schreibt ( :lol: :rofl: )
2. Zeige den Webbrowser komplett an und mach ein Bild davon
SCREENSHOT MACHEN - Dabei wirst du immernoch Bereiche haben, die nicht im Bild sind, da Webseiten i.A. größer sind als eine Bildschirmhöhe.
Was die Buttons betrifft...: Mach ein Bild vom ganzen Fenster und kopiere nur den Teil ohne Buttons in eine Variable ... Ich glaube, die Funktion heißt aTCanvas.CopyRect()
Lannes - Mi 16.01.08 12:24
Hallo,
hier die dritte :wink:
Ein komplettes Screenshot von einem Dokument kannst Du mit dem Tipp erstellen:
http://www.swissdelphicenter.ch: ...ein Webbrowser Dokument als Bitmap speichern? [
http://www.swissdelphicenter.ch/de/showcode.php?id=1983]
Es sind aber noch ein paar Anpassungen vorzunehmen.
Die Größe wird in dem Tipp mit
OleObject.Document.ParentWindow.Screen.Height und
...Screen.Widthfestgelegt. Um das komlette Dokument zu erhalten hilft
OleObject.Document.Body.ScrollWidth.
Sollen die Scrollbars nicht im Screenshot enthalten sein, kann man mit
OleObject.Document.Body.Style.OverflowX := 'hidden'und
...OverflowY := 'hidden'die Scrollbars verbergen. Zum Anzeigen wieder auf
'auto' setzen.
Also in der Reihenfolge:
- Scrollbar verbergen
- Maße ermitteln
- Screenshot erzeugen
- Scrollbars wieder anzeigen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!