AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Screenshot generieren?
Thema durchsuchen
Ansicht
Themen-Optionen

Screenshot generieren?

Ein Thema von Random Company · begonnen am 25. Nov 2007 · letzter Beitrag vom 26. Nov 2007
 
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.994 Beiträge
 
Delphi 7 Professional
 
#3

Re: Screenshot generieren?

  Alt 25. Nov 2007, 18:20
Moin, Moin.
Hier ein CodeSchnipsel, habe ich noch nie benutzt und kann daher nicht sagen ob das funktioniert. Die Quelle kann ich auch nicht mehr benennen - ist jeden falls nicht von mir!

Die Prozedur speichert im übergebenen TBitmap ein Abbild des aktuellen Windows-Desktops. Wenn man einen Screenshot eines bestimmten Fensters oder Controls haben möchte, besorgt man sich das Handle dieses Fensters und ermittelt dann den Bildauschnitt mit der API-Funktion GetWindowRect(..). Diesen Ausschnitt kopiert man dann einfach aus dem Desktop-Screenshot.
Delphi-Quellcode:
procedure ScreenCapture(Bmp:TBitmap);
var DeskWnd : HWnd;
    DeskDC : HDC;
    DeskCv : TCanvas;
    R : TRect;
    W,H : Integer;
begin
  if Bmp=nil then exit;

  DeskWnd:=GetDesktopWindow;
  DeskDC :=GetWindowDC(DeskWnd);
  DeskCv :=TCanvas.Create;
  DeskCv.Handle:=DeskDC;
  W:=Screen.Width;
  H:=Screen.Height;
  R:=Bounds(0,0,W,H);

  try
    Bmp.HandleType :=bmDIB;
    Bmp.PixelFormat :=pf24Bit;
    Bmp.Width :=W;
    Bmp.Height :=H;
    Bmp.Canvas.CopyMode:=cmSrcCopy;
    Bmp.Canvas.CopyRect(R,DeskCv,R);
 
  finally
    DeskCv.Free;
    ReleaseDC(DeskWnd,DeskDC);
    end;
end;
Gruß Ralph

PS : Gib bitte Info, wenn's damit funktioniert!
Ralph
  Mit Zitat antworten Zitat
 


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 06:50 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