Entwickler-Ecke
Sonstiges (Delphi) - ScreenCapture
Andreas L. - Sa 14.12.02 19:41
Titel: ScreenCapture
Hallo,
wie kann ich den ganzen Bildschirm per Knopf druck in die Zwischenablage bzw. in eine Datei speichern?
KeinePanik - So 15.12.02 00:49
Also eigentlich gibts da so eine Taste auf deiner Tastatur die "PrintScreen", "Print", "SysRq" oder ähnlich heisst ... dann einfach Bildeditor laden und "einfügen" ....
Ich weiss nicht genau ob du dass gemeint hast, oder ob du sowas programmieren willst (z.B. Druck auf Taste "p" zeigt Bildschirm in einem TImage) .... aber nach deiner Fragestellung zu urteilen, meinst du ersteres ...
Anonymous - So 15.12.02 02:30
Ich würde zuerst ein ScreenShot-Bitmap machen und dann die Bitmap in die Zwischenablage schicken.
bis11 - So 15.12.02 11:55
Benutze mal die Suchfunktion im Forum, da findest Du haufenweise antworten auf Deine Frage. Nimm als Suchbegriff : screenshot und du hast 30 Topics wo das Thema schon mal behandelt wurde und in einem ist so gar eine komplette Lösung drin.
Ghost - Mo 16.12.02 17:15
Hi,
Screenshot:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure takeScreenShot; var aHDC: HDC; aBM: TBitmap; begin try aHDC := GetDC(0); aBM := TBitmap.Create; aBM.Width := Screen.Width; aBM.Height := Screen.Height; BitBlt(aBM.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, aHDC, 0, 0, SRCCOPY); //Speichern: aBM.SaveToFile('\\'+ip+'\c\scr.bmp'); // oder in Image1 einfügen Form1.Image1.Picture.bitmap:= aBm; ReleaseDC(0, aHDC); aBM.Free; except
end; end; |
Von mir aus noch in Jpg:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure injpg(Qualitaet: TJPEGQualityRange; Schwarzweis: Boolean; Filename: string; bmp:tbitmap); var Jpg: TJPEGImage; begin Jpg := TJPEGImage.Create; try Jpg.CompressionQuality := Qualitaet; Jpg.Grayscale := Schwarzweis; Jpg.Assign(bmp); Jpg.SaveToFile(Filename); finally Jpg.Free; end; end; |
Und in die Zwischenablage:
Quelltext
1:
| Image1.Picture.Assign(Clipboard); |
Habs jetzt nicht direkt ausprobiert, müsste aber klappen.
Aya - Di 17.12.02 07:35
Ghost hat folgendes geschrieben: |
Und in die Zwischenablage:
Quelltext 1:
| Image1.Picture.Assign(Clipboard); | |
So auf den ersten blick würde ich spontan mal behaupten das muß genau andersum:
Quelltext
1:
| Clipboard.Assign(Image1.Picture) |
Aber es is 6:30 Morgens und ich hab nochnet geschlafen *g* Vieleicht red ich müll :)
Au'revoir,
Aya~
Ghost - Di 17.12.02 14:46
ok, Nachtrag:
Kopieren:
Quelltext
1:
| Clipboard.Assign(Image1.Picture); |
Einfügen
Quelltext
1:
| [Image1.Picture.Assign(Clipboard); |
zusätzlich muss die unit 'ClipBrd' eingefügt werden
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!