![]() |
AW: Screenshots erstellen
Die Methode GetFormImage liefert doch schon ein Bitmap, damit müsste eigentlich auch sowas gehen:
Delphi-Quellcode:
form1.GetFormImage.SaveToFile('c:\temp\' + Form1.Name + '.bmp');
Delphi-Quellcode:
for var i : Integer := 0 to Screen.FormCount - 1 do Screen.Forms[i].GetFormImage.SaveToFile(Format('c:\temp\%s.bmp',[Screen.Forms[i].Name]));
|
AW: Screenshots erstellen
|
AW: Screenshots erstellen
Heißt das, dass oben in meiner Routine mit dem
Delphi-Quellcode:
auch ein Speicherloch entsteht?
FJpeg.Assign(fm.GetFormImage);
|
AW: Screenshots erstellen
Natürlich.
Delphi-Quellcode:
function TCustomForm.GetFormImage: TBitmap;
begin Result := TBitmap.Create; |
AW: Screenshots erstellen
Mist, warum hat mich FastMM noch nie darauf hingewiesen?
Da muss dann noch mehr im Argen liegen :-( So besser?
Delphi-Quellcode:
Wenn nicht, sollte ich mir langsam aber sicher ein anderes Hobby suchen :-(
{ Bildschirmfoto eines Formulars machen und als JPeg speichern. }
procedure HardCopy(sJpegFile : String; fm : TForm); Var FJpeg : Jpeg.TJpegImage; FBmp : Graphics.TBitmap; begin if SysUtils.FileExists(sJpegFile) then SysUtils.DeleteFile(sJpegFile); if (fm.WindowState = wsMinimized) then fm.WindowState := wsNormal; fm.Show; fm.Refresh; FJpeg := TJpegImage.Create; FBmp := fm.GetFormImage; try try FJpeg.Assign(FBmp); fJPeg.SaveToFile(sJpegFile); except on e : Exception do begin MessageDlg(e.Message,mtError,[mbOk],0); end; end; finally FBmp.Free; FJpeg.Free; end; end; |
AW: Screenshots erstellen
Zitat:
Danke für Deine Mühe, Delphi.Narium, kommt aber für mich nicht in Frage, weil Erstens habe ich keine Unit, die ich in alle Projekte einbinde. Zweitens will ich nicht immer eine Form aus einem aktuell laufenden Programm kopieren. Drittens will ich nicht immer eine Form, sondern auch nur einzelne Controls kopieren. etc. Vor allem: Ich habe doch ein perfekt auf meine Bedürfnisse zugeschnittenes Programm, das ich durch Shortcuts aufrufen kann, ohne vorher ein Programm zu starten. Übrigens hatte ich früher in meine Programme etwas ähnliches integriert, zum Beispiel ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz