Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
763 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Bild vom TWebbrowser erstellen

  Alt 8. Apr 2019, 14:03
Wenn du nicht den Weg via IHTMLImgElement; IHTMLElementRender (#2) und nicht die ganze Webseite benötigst (#7), sondern nur ein Bild vom Control (also nur von dem Teil der Webseite, welcher im Control sichtbar ist) machen willst, dann schlage ich mal vor:

Delphi-Quellcode:
procedure ScreenShot( Handle : HWND; BitMap: TBitMap);
var
  dc : HDC;
  rect : TRect;
begin
  GetWindowRect( Handle, rect );
  BitMap.SetSize( rect.Width, rect.Height );
  dc := GetDC( Handle );
  if (dc = 0) then exit;
  BitBlt(Bitmap.canvas.Handle, 0, 0, rect.Width, rect.height, dc, 0, 0, SRCCOPY);
  ReleaseDC( Handle, dc );
end;

Aufruf:

Delphi-Quellcode:
  hbit := TBitMap.Create;
 try
  ScreenShot( webbrowser1.Handle, hbit );
  hbit.SaveToFile( ... ); // zum Beispiel in ein File speichern
 finally
  hbit.Free;
 end;
Michael Gasser

Geändert von Michael II ( 9. Apr 2019 um 00:48 Uhr)
  Mit Zitat antworten Zitat