Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Screenshot ohne Hintergrundbild erzeugen (https://www.delphipraxis.net/66486-screenshot-ohne-hintergrundbild-erzeugen.html)

etom291272 30. Mär 2006 10:54


Screenshot ohne Hintergrundbild erzeugen
 
Hallo Gemeinde

mit folgendem kurzen Code erzeuge ich einen aktuellen screenshot

Delphi-Quellcode:
procedure TMainFormClient.Schirmshot;
var
  H : THandle;
 
begin
  with prAktSchirm do //ist vom Typ TBitmap
  begin
    H := GetDC(GetDesktopWindow);
    FreeImage;
    BitBlt(Canvas.Handle,0,0,Width,Height,H,0,0,SRCCOPY);
    ReleaseDC(0,H);
  end;
end;
funktioniert auch wunderbar.

:?: Hat jemand eine Idee wie ich den Screenshot ohne die Hintergrundgrafik erzeugen kann :?:
also die Hintergrundgrafik die bei dem jeweiligen pc in den anzeigeeinstellungen hinterlegt ist.

DerDan 30. Mär 2006 11:09

Re: Screenshot ohne Hintergrundbild erzeugen
 
Mit <Alt>-<DRUCK> ???


mfg

DerDan

JWeis 30. Mär 2006 11:16

Re: Screenshot ohne Hintergrundbild erzeugen
 
Zitat:

Zitat von DerDan
Mit <Alt>-<DRUCK>; ???


mfg

DerDan

imho wird dadurch nur das aktuelle fenster kopiert.
aber er will den kompletten bildschirm ohne hintergrundbild oder hab ich ihn falsch verstanden??

marabu 30. Mär 2006 11:22

Re: Screenshot ohne Hintergrundbild erzeugen
 
Ich könnte mir vorstellen das aufnehmende Bitmap mit einer neutralen Hintergrundfarbe zu initialisieren und dann alle top level windows einzeln zu kopieren.

Grüße vom marabu

etom291272 30. Mär 2006 11:31

Re: Screenshot ohne Hintergrundbild erzeugen
 
@marabu

das wäre sicher eine möglichkeit aber die prozedur muss sehr schnell sein ich fürchte wenn ich so eine schleife laufen lasse wird sich die zeit die diese methode braucht vervielfachen.

ich hoffte dass es da einen einfacheren weg gibt.

was mir noch einviel wäre das hintergrundbild des pc's einfach zu deaktivieren und einen neutralen hintergrund zu setzen. bei programmende den früheren zustand wieder herstellen.

:)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 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