AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Screenshot von Fenster mit Transparenter Farbe
Thema durchsuchen
Ansicht
Themen-Optionen

Screenshot von Fenster mit Transparenter Farbe

Ein Thema von erich.wanker · begonnen am 20. Aug 2010 · letzter Beitrag vom 24. Sep 2010
Antwort Antwort
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
461 Beiträge
 
Delphi XE4 Professional
 
#1

Screenshot von Fenster mit Transparenter Farbe

  Alt 20. Aug 2010, 11:43
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 -> msdn, aber irgendwie schaff ich es nicht, vom DC(0) ein komplettes Bild abzugreifen

Mein Codeschnipsterl:

Delphi-Quellcode:
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;
Beschreibung vom Form:
Form.color = Yellow
Transparent color = yellow
Borderstyle = bsnone
auf Form ist einegraue Paintbox mit abgerundeten Ecken, wo ich reinzeichne
Vielen 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);
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \

Geändert von erich.wanker (20. Aug 2010 um 15:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Cirec
Cirec

Registriert seit: 23. Sep 2010
Ort: Frankreich
7 Beiträge
 
Delphi 2009 Enterprise
 
#2

AW: Screenshot von Fenster mit Transparenter Farbe

  Alt 24. Sep 2010, 17:01
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.
  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 19:32 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