Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Screenshot bei Tastendruck machen und speichern

  Alt 17. Dez 2009, 20:37
Zitat von gasty:
Und gibt es einen Weg, die Datei gleich in eine jpeg umzuwandeln, da ~7mb pro Screen dann doch etwas viel sind?
Binde die Unit "jpeg" ein (weiß nicht, ob die bei Delphi 7 schon dabei ist, wenn nicht, musst du sie erst runterladen). Dann konvertierst du das Bild vorm Speichern in ein TJPEGImage:
Delphi-Quellcode:
JPEGImage := TJPEGImage.Create;
JPEGImage.Assign(Bitmap);
JPEGImage.SaveToFile(...);
JPEGImage.Free;
Natürlich solltest du noch Ressourcenschutzblöcke verwenden.

Allerdings dazu noch etwas von meinem Senf: JPEG halte ich als Kompressionsformat aufgrund der Artefakte für Screenshots als weniger geeignet. PNG ist eigentlich derzeit IMO das optimale Format (*) für Screenshots (solange es sich nicht um Screenshots von Videos oder grafikintesniven Spielen handelt, natürlich). PNGs lassen sich mit Delphi eigentlich genau so einfach verarbeiten wie JPEGs, nur dass die Unit pngimage und die Klasse TPNGObject heißt.

(*) Wenn man mal von dem sehr wenig verbreiteten JPEG-2000-Format absieht, das nach meiner Erfahrung noch etwas bessere Kompressionsraten hat.
  Mit Zitat antworten Zitat