AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TWebbrowser.Height auf über 32767 setzen

Ein Thema von dominikkv · begonnen am 10. Feb 2010 · letzter Beitrag vom 11. Feb 2010
Antwort Antwort
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#1

TWebbrowser.Height auf über 32767 setzen

  Alt 10. Feb 2010, 17:06
Hallo,

ich habe, um einen Screenshot einer Webseite zu machen, folgenden Code (Quelle):
Delphi-Quellcode:
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;
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.

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
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#2

Re: TWebbrowser.Height auf über 32767 setzen

  Alt 10. Feb 2010, 17:17
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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: TWebbrowser.Height auf über 32767 setzen

  Alt 10. Feb 2010, 17:29
Oder man geht den Weg über das Interface IHTMLElementRender.
Damit dürfte das Fenster und dessen Größe keine Rolle mehr spielen.
Andreas
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#4

Re: TWebbrowser.Height auf über 32767 setzen

  Alt 11. Feb 2010, 10:25
Zitat von shmia:
Oder man geht den Weg über das Interface IHTMLElementRender.
Damit dürfte das Fenster und dessen Größe keine Rolle mehr spielen.
Ok, danke, ich werde mir das mal anschauen. Ansonsten muss ich halt, wie himitsu beschrieben, scrollen und die Bilder zusammenpfrimeln :/
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz