Autor Beitrag
Asus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: So 30.12.07 16:51 
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:
user defined image
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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 417
Erhaltene Danke: 2

XP
FPC mit Lazarus
BeitragVerfasst: 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:

_________________
if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 16.01.08 10:09 
user profile iconAsus 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 Suche in: Delphi-Forum, Delphi-Library 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Mi 16.01.08 12:24 
Hallo,

hier die dritte :wink:

Ein komplettes Screenshot von einem Dokument kannst Du mit dem Tipp erstellen:
www.swissdelphicenter.ch: ...ein Webbrowser Dokument als Bitmap speichern?

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

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )