Entwickler-Ecke
Multimedia / Grafik - Screenshot direkt als JPG abspeichern
neo - Fr 12.12.03 16:18
Titel: Screenshot direkt als JPG abspeichern
Hallo!
Wie kann ich einen Screenshot direkt als JPG abspeichern. (Ohne Umwandlung von BMP nach JPG)
um die Hälfte verkleinern wäre auch nicht schlecht
Gandalfus - Fr 12.12.03 17:09
Titel: Re: Screenshot direkt als JPG abspeichern
| neo hat folgendes geschrieben: |
um die Hälfte verkleinern wäre auch nicht schlecht |
Strechdraw
GSE - Fr 12.12.03 17:15
Titel: Re: Screenshot direkt als JPG abspeichern
| Gandalfus hat folgendes geschrieben: |
| Besucht doch mal meine HP. Den Link findest du meiner Sig(in anderen Delphi Foren). |
Soll das ´ne Anspielung sein, dass im DF keine Werbelinks in der Signatur erlaubt sind?
Einfach in deinem Profil die Adresse der HP angeben, dann erscheint unter deinen Beiträgen so ein toller Button: "www". Probier´s mal!
@neo: Warum willst du nicht umwandeln?´
mfg
GSE
neo - Fr 12.12.03 17:48
Titel: RE:
Weil es vermutlich schneller ist wenn ich direkt als JPG abspeichere
Raphael O. - Fr 12.12.03 17:52
geht aber IMO nicht, da du wenn du den Screenshot machst ja erst alle Pixelwerte zurückbekommst...
in JP(E)G liegen dann ja die Werte mit (Verlust)Komprimierung bearbeitet in einer DAtei...
doch diese Komprimierung muss ja irgendwann durchgeführt werden, was beim umwandeln passiert...
->IMo ist es nciht direkt möglich darin zu speichern ...
neo - Sa 13.12.03 01:10
Titel: RE: Ist doch möglich
Habe nochmal intensive gesucht, hier die Lösung:
| Zitat: |
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: 29: 30: 31: 32: 33: 34:
| procedure ScreenToFile(aFileName: string); var Bitmap: TBitmap; JPG : TJPEGImage; Canvas: TCanvas; begin Canvas := TCanvas.Create; try Canvas.Handle := GetWindowDC(0); try Bitmap := TBitmap.Create; JPG := TJPEGImage.Create; try Bitmap.Width := Screen.DesktopWidth; Bitmap.Height:= Screen.DesktopHeight; Bitmap.PixelFormat := pfDevice;
BitBlt(Bitmap.Canvas.Handle, 0, 0, Pred(Screen.DesktopWidth), Pred( Screen.DesktopHeight), Canvas.Handle, Screen.DesktopLeft, Screen.DesktopTop, Bitmap.Canvas.CopyMode);
JPG.Assign(Bitmap); JPG.SaveToFile(aFileName); finally Bitmap.Free; JPG.Free; end; finally ReleaseDC(0, Canvas.Handle); end; finally Canvas.Free; end; end; | |
Moderiert von
Peter Lustig: Delphi-Tags hinzugefügt
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!