![]() |
TWebbrowser.Height auf über 32767 setzen
Hallo,
ich habe, um einen Screenshot einer Webseite zu machen, folgenden Code ( ![]()
Delphi-Quellcode:
Das ganze klappt auch ganz gut bei "normalen" Webseiten. Ein Problem habe ich aber bei sehr langen Webseiten... und zwar wenn die Webseite über 32767 Pixel lang ist. WB.OleObject.Document.Body.ScrollHeight liefert zwar die korrekte Höhe, der Webbrowser an sich lässt sich aber nur bis 32767 Pixel vergrößern und der Rest wird im Bild abgeschnitten.
with WB do
begin Document.QueryInterface(IHTMLDocument2, iDoc1); Web := ControlInterface; TControl(WB).Visible := Boolean(0); Height := OleObject.Document.Body.ScrollHeight + 20; Width := 1200; Bild := GetBitmapFromBrowser(Web, Height, Width); TControl(WB).Visible := Boolean(1); end; So wie es aussieht wird die Höhe intern als Smallint gespeichert (auch wenn .Height ein Integer ist). Hat jemand eine Idee wie ich den Webbrowser größer bekomme? mfg.Dominik |
Re: TWebbrowser.Height auf über 32767 setzen
Es kann sein, daß diese Controls eine Größenbegrenzung haben (SmallInt).
"einfache" Lösung: mach es Stückchenweise - Foto - Scrollen - Foto ... - Srollen - Foto - Fotos zusammensetzen |
Re: TWebbrowser.Height auf über 32767 setzen
Oder man geht den Weg über das Interface
![]() Damit dürfte das Fenster und dessen Größe keine Rolle mehr spielen. |
Re: TWebbrowser.Height auf über 32767 setzen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz