![]() |
Screenshot von Fenster mit Transparenter Farbe
Hallo Leute,
hab eine Frage zu einem "altbekannten Thema": Screenshot von einem Fenster das keine Titelbar besitzt - aber eine transparente Farbe. MSDN sagt ja, daß "CaptureBLT" alles kopiert -> ![]() Mein Codeschnipsterl:
Delphi-Quellcode:
Beschreibung vom Form:
procedure ScreenShot(activeWindow: bool; destBitmap : TBitmap) ;
var w,h : integer; DC : HDC; hWin : Cardinal; const CAPTUREBLT = $40000000; begin hWin := GetDesktopWindow; dc := GetDC(hWin); dc := GetDC(0); w := GetDeviceCaps (DC, HORZRES); h := GetDeviceCaps (DC, VERTRES); try destBitmap.Width := w; destBitmap.Height := h; BitBlt(destBitmap.Canvas.Handle, 0, 0, destBitmap.Width, destBitmap.Height, DC, 0, 0, SRCCOPY or CAPTUREBLT) ; finally ReleaseDC(hWin, DC) ; end; end; Form.color = Yellow Transparent color = yellow Borderstyle = bsnone auf Form ist einegraue Paintbox mit abgerundeten Ecken, wo ich reinzeichneVielen Dank für Hinweise Erich Nachtrag: Die zweite "DC:=" -Zeile ist beim probieren übersehen worden, änder aber eh nix dc := GetDC(hWin); dc := GetDC(0); |
AW: Screenshot von Fenster mit Transparenter Farbe
Hallo,
könntest du ein bisschen mehr Infos geben über dein Problem ? Ich habe dein Code ausprobiert ... es funktioniert so wie es sollte ... nach meine Meinung. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 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 by Thomas Breitkreuz