Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Screenshots erstellen (https://www.delphipraxis.net/214177-screenshots-erstellen.html)

Sherlock 29. Nov 2023 14:15

AW: Screenshots erstellen
 
Zitat:

Zitat von dummzeuch (Beitrag 1530217)
Zitat:

Zitat von Sherlock (Beitrag 1530211)
Wie wird das Programm gestartet?

Steht doch im Urprsungspost: Mittels konfigurierter Tastenkürzel in Desktop-Shortrcuts.

Fand ich halt etwas unpraktisch. Wie ich ja dann noch erläuterte.

Amateurprofi 29. Nov 2023 23:25

AW: Screenshots erstellen
 
Zitat:

Zitat von Kas Ob. (Beitrag 1530208)
Have you considered using PNG ?

here an example the attachment is screen shot with 1793x879 pixel and sizes are :
PNG : 65.7 KB (67,300 bytes)
JPG : 239 KB (245,146 bytes)
BMP : 4.50 MB (4,729,074 bytes)


Anhang 56470Anhang 56471

I had to archive the PNG to prevent the resizing and keep the quality and pixels.
Anhang 56472

ps: for my screenshot daily usage i use GreenShot https://getgreenshot.org/

Thank you Kas Ob.
As explained, I need this mainly to include bitmaps into HelpFiles.
I use the Windows Help Workshop which supports only .bmp files.

Stevie 29. Nov 2023 23:36

AW: Screenshots erstellen
 
Zitat:

Zitat von Amateurprofi (Beitrag 1530248)
I use the Windows Help Workshop which supports only .bmp files.

Du meinst diesen Windows Help Workshop?
Ich frage, weil dort steht, dass

Zitat:

It supports HTML, ActiveX, Java, scripting languages (JScript, and Microsoft Visual Basic Scripting Edition), and HTML image formats (.jpeg, .gif, and .png files).

Amateurprofi 29. Nov 2023 23:49

AW: Screenshots erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Stevie (Beitrag 1530249)
Zitat:

Zitat von Amateurprofi (Beitrag 1530248)
I use the Windows Help Workshop which supports only .bmp files.

Du meinst diesen Windows Help Workshop?
Ich frage, weil dort steht, dass

Zitat:

It supports HTML, ActiveX, Java, scripting languages (JScript, and Microsoft Visual Basic Scripting Edition), and HTML image formats (.jpeg, .gif, and .png files).

Ich benutze diesen Help-Workshop (hcw.exe)

Amateurprofi 29. Nov 2023 23:50

AW: Screenshots erstellen
 
Zitat:

Zitat von jziersch (Beitrag 1530209)
Windows contains a standard program:

Ausschneiden und Skizzieren / Snipping Tool

It is pretty usable and offers saving to PNG.

Windows 7

Amateurprofi 29. Nov 2023 23:53

AW: Screenshots erstellen
 
Zitat:

Zitat von Sherlock (Beitrag 1530211)
Wie wird das Programm gestartet? Die Maus zeigt ja immer auf das Icon, wenn man die Maus nutzt. Wenn man per Tastatur startet, hat sich der Focus geändert. Besser wäre es, das Programm würde ständig laufen oder meinetwegen die "Drucken" Taste Hooken, dann aber machen die zahlreichen Parameter wenig Sinn.

"Von der Exe habe ich mehrere Verknüpfungen auf dem Desktop angelegt, die mit unterschiedlichen Shortcuts aufgerufen werden und die die Exe mit unterschiedlichen Parametern aufrufen."

Amateurprofi 29. Nov 2023 23:55

AW: Screenshots erstellen
 
Zitat:

Zitat von himitsu (Beitrag 1530212)
Ja, in aktuelleren Windowsen (10/11) liegt auf der Print-Taste ein neues Standardtool von Microsoft. (früher mußte man es noch manuell starten, bzw. aus dem Appstore installieren)
* das kann den ganzen Bildschirm in die Zwischenablage kopieren, oder ein Fenster, bzw. einen freien Bereich
* sowie das Ganze als Bild oder Video

* Achtung, nach dem Stop werden Videos nicht automatisch gespeichert
* Fotos kommen standardmäßig in die Zwischenablage, sowie ist seit Windows 11 auch das Automatisch Speichern standardmäßig aktiv
* * C:\Users\%username%\Pictures\Screenshots
* manuell speichern oder noch beaarbeiten -> Klick auf Popup oder in den Benachrichtigungen (falls man das nicht deaktiviert hat)

*
Delphi-Quellcode:
Snipping Tool
, bzw.
Delphi-Quellcode:
Ausschneiden und skizzieren
(lässt sich auch im Startmenü finden)
* * reagiert es nicht direkt auf [Drucken], oder geht irgendwas automatisch oder nicht ... siehe im Programm, oben Rechts, in den 3 Punkten -> Einstellungen

ansonsten gäbe es z.B. auch Bei Google suchenSnagIt

Ich arbeite mit Windows 7.

Delphi.Narium 29. Nov 2023 23:56

AW: Screenshots erstellen
 
HardCopys von Formularen mache ich immer aus dem Programm selbst heraus:
Delphi-Quellcode:
procedure HardCopy(sJpegFile : String; fm : TForm);
Var
          FJpeg    : TJpegImage;
begin
  try
    if SysUtils.FileExists(sJpegFile) then SysUtils.DeleteFile(sJpegFile);
    if fm.WindowState = wsMinimized then fm.WindowState := wsNormal;
    fm.Show;
    fm.Refresh;
    FJpeg := TJpegImage.Create;
    try
      try
        FJpeg.Assign(fm.GetFormImage);
        fJPeg.SaveToFile(sJpegFile);
      except
        on e : Exception do begin
          MessageDlg(e.Message,mtError,[mbOk],0);
        end;
      end;
    except
      // Fehler werden ignoriert, da sie nicht behoben werden können.
    end;
  finally
    FJpeg.Free;
  end;
end;
Die Routine sollte sich mit wenig Aufwand auf BMP umbauen lassen.

Aufruf:
Delphi-Quellcode:
HardCopy('Dateiname.jpg', Form1);


Oder (sinngemäß) sowas in der Art:
Delphi-Quellcode:
var
  i : Integer;
  s : String;
begin
  for i := 0 to Screen.FormCount - 1 do begin
    s := Format('c:\temp\%s.jpg',[Screen.Forms[i].Name]);
    HardCopy(s, Screen.Forms[i]);
  end;
end;
Die älter Version des Help-Workshop, die für die .hlp-Dateien war und als Quelltext RTF-Dateien verlangte, konnte nur .bmp-Dateien verarbeiten.

Der HTML-Help-Workshop (hcw.exe) für die .chm-Dateien, kann alles verarbeiten, was man so in HTML-Dateien "verwursten" kann, da da (zumindest in den älteren Windowsversionen) die Hilfe über eine eingebettete Version des Internetexplorers angezeigt wurde. Von daher sind JPG-Dateien absolut ok.

Keine Ahnung, wie das aktuell läuft. (ok: Unter Windows 10 sieht es genauso aus wie unter NT, XP, ... ;-))

Amateurprofi 30. Nov 2023 00:10

AW: Screenshots erstellen
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1530254)
HardCopys von Formularen mache ich immer aus dem Programm selbst heraus:
Delphi-Quellcode:
procedure HardCopy(sJpegFile : String; fm : TForm);
Var
          FJpeg    : TJpegImage;
begin
  try
    if SysUtils.FileExists(sJpegFile) then SysUtils.DeleteFile(sJpegFile);
    if fm.WindowState = wsMinimized then fm.WindowState := wsNormal;
    fm.Show;
    fm.Refresh;
    FJpeg := TJpegImage.Create;
    try
      try
        FJpeg.Assign(fm.GetFormImage);
        fJPeg.SaveToFile(sJpegFile);
      except
        on e : Exception do begin
          MessageDlg(e.Message,mtError,[mbOk],0);
        end;
      end;
    except
      // Fehler werden ignoriert, da sie nicht behoben werden können.
    end;
  finally
    FJpeg.Free;
  end;
end;
Die Routine sollte sich mit wenig Aufwand auf BMP umbauen lassen.

Aufruf:
Delphi-Quellcode:
HardCopy('Dateiname.jpg', Form1);


Oder (sinngemäß) sowas in der Art:
Delphi-Quellcode:
var
  i : Integer;
  s : String;
begin
  for i := 0 to Screen.FormCount - 1 do begin
    s := Format('c:\temp\%s.jpg',[Screen.Forms[i].Name]);
    HardCopy(s, Screen.Forms[i]);
  end;
end;
Die älter Version des Help-Workshop, die für die .hlp-Dateien war und als Quelltext RTF-Dateien verlangte, konnte nur .bmp-Dateien verarbeiten.

Der HTML-Help-Workshop (hcw.exe) für die .chm-Dateien, kann alles verarbeiten, was man so in HTML-Dateien "verwursten" kann, da da (zumindest in den älteren Windowsversionen) die Hilfe über eine eingebettete Version des Internetexplorers angezeigt wurde. Von daher sind JPG-Dateien absolut ok.

Keine Ahnung, wie das aktuell läuft. (ok: Unter Windows 10 sieht es genauso aus wie unter NT, XP, ... ;-))

Zu
Zitat:

HardCopys von Formularen mache ich immer aus dem Programm selbst heraus:
Also in jedes Programm diese Prozedur integrieren?
Sorry, aber da finde ich es schon praktischer, einfach nur Zum Beispiel AltGr+B zu drücken.

Delphi.Narium 30. Nov 2023 00:25

AW: Screenshots erstellen
 
Nö, die Routine ist Teil einer Unit, die ich sowieso in jedes Programm mit einbinden muss, da sie durchaus noch weitere sinnvolle Aufgaben erledigt. (Gesamtes Laden und Speichern der konfigurierbaren Einstellungen, zentrale Fehlerbehandlung aller Fehler, die nicht vernünftig im Quelltext abgehandelt wurden, Aufruf des (programm)eigenen Hilfesystems (EPub-Format), ...)

Das sie auch die HardCopy-Routine enthält ist nur ein kleines Schmanckerl.

Wenn Du das auch so löst, dann kannst Du der Routine ja den ShortCut ALTGr+B geben. Damit muss Du im Arbeitsablauf dann nicht mal was ändern ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:12 Uhr.
Seite 2 von 3     12 3      

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