Entwickler-Ecke
Multimedia / Grafik - Screenshot erstellen
_Tyrael_ - Fr 03.09.10 17:17
Titel: Screenshot erstellen
Hallo Leute,
will gerade ein programm schreiben, welches einen Screenshot meines kompletten bildschirms machen soll. nun habe ich bereits viele einträge zum thema screenshots durchgelesen, leider ging es in diesen aber immer nur um screenshots eines bildschirmausschnittes und ich habe fast nichts davon verstanden(ich bin noch anfänger).
es wäre also nett, wenn mir jemand erklären könnte wie ich einen kompletten screenshot machen und diesen dann als .bmp datei speichern kann.
elundril - Fr 03.09.10 17:34
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| 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; |
30 sekunden googeln, ist nicht dein ernst oder?
bummi - Fr 03.09.10 17:35
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| procedure GenSceenshot(var BMP: TBitmap); var DC: THandle; begin if Assigned(BMP) then begin dc := GetDC(0); try With BMP do begin Width := Screen.Width; Height:= Screen.Height; BitBlt(Canvas.Handle, 0, 0, Screen.Width, Screen.Height, dc, 0, 0, SrcCopy); end; finally ReleaseDC(0, DC); end; end; end; |
_Tyrael_ - Fr 03.09.10 17:44
vielen dank für die antworten, aber mein problem ist, dass ich das nicht verstehe, allein die deklarierten variablen sind mir schon unbekannt... sollte einer die zeit erübrigen können, mir dass zu erklären wäre ich sehr dankbar, aber wenn nicht kann ich das gut verstehen.
_Tyrael_ - Fr 03.09.10 20:36
vielen dank!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!