Entwickler-Ecke
Sonstiges (Delphi) - Bestimmten Bereich des Desktops ins TImage packen
Mindforce - Di 02.01.07 23:11
Titel: Bestimmten Bereich des Desktops ins TImage packen
Hi,
wie kann ich einen bestimmten Teil des Desktops in ein TImage packen, und wie könnte ich diesen Teil makieren?
Es gibt ja viele ScreenShot Programme mitdem man eine Zone makieren kann was "Fotografiert" werden soll.
Genau das möchte ich gerne machen!
Nur, wie?!
Thx!
M!ndforce
Coder - Mi 03.01.07 00:55
Such mal nach Screenshot und nach malen oder zeichnen auf den Desktop.
MfG
Mindforce - Mi 03.01.07 21:11
Hmmmm,
ich finde nex :-(
Mindforce - Mi 03.01.07 22:17
Hi,
ich hab mir den Thread durchgelesen, kann mir aber kein Code draus mixen einen bestimmten bereich auswählen zu können und ihm zu sagen das er genau diesen Bereich fotografieren soll! :eyes:
M!ndforce
alias5000 - Mi 03.01.07 22:27
MrSaint hat im oben verlinkten Artikel geschrieben: |
Hmm... Ich hab's aus die Schnelle damit versucht:
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:
| var WinDC, MemDC : hDC; Desktop : hBitmap; zx, zy : integer; bmp : TBitmap; begin zx := Screen.Width; zy := Screen.Height; WinDC := GetDC (GetDeskTopWindow); MemDC := CreateCompatibleDC (WinDC); Desktop := CreateCompatibleBitmap (WinDC, zx, zy); SelectObject (MemDC, Desktop); BitBlt (MemDC, 0, 0, zx, zy, WinDC, 0, 0, SRCCOPY); DeleteDC (MemDC); ReleaseDC (GetDeskTopWindow, WinDC); bmp := TBitmap.Create; try bmp.Handle := Desktop; Image1.Picture.Bitmap.Assign(bmp); finally FreeAndNil(bmp); end; end; |
Leider wird auch ein "normaler" Screenshot gemacht :( Vielleicht fällt mir ja irgendwann mal noch was dazu ein, muss jetzt aber rst mal weg...
MrSaint |
Und damit erhälst du ja einen Screenshot des Desktops. Jetzt musst du noch gucken, wie man auf dem Desktop eine Auswahl treffen könnte (da müsste ich jetzt auch suchen, kann da jetzt auch nichts zu sagen). Die Koordinaten kannst du dir ja merken und dann entsprechend das Bild zusammenschneiden.
Ich hoffe das hat nen Denkanstoss gebracht... :roll:
Gruß alias5000
jaenicke - Mi 03.01.07 23:08
Naja, was diese Programme machen ist ja, den Benutzer die Auswahl auf dem zuvor erstellten Bildschirmfoto zu machen und dabei ggf. noch die Fenster hervorzuheben.
Es gibt auch Programme, die das anders machen, aber das live zu machen... ich wüsste da nicht wie. Ich glaube da gibts was von Windows von wegen Desktop disablen, aber ich weiß nicht wie das unter XP geht und ob es überhaupt geht.
Das einfachste dürfte sein, einfach ein Bildschirmfoto mit dem obigen Code zumachen, dieses im Vollbild anzuzeigen, z.B. per Formular mit TopMost, und dann den User dort die Auswahl machen lassen. So meinte ich den Hinweis auf den anderen Thread.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!