Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Screenshot unter Linux (https://www.delphipraxis.net/192640-screenshot-unter-linux.html)

Harry Stahl 7. Mai 2017 20:41

Screenshot unter Linux
 
Hallo,

hat Jemand von Euch zufälligerweise schon herausgefunden, wie man mit Delphi 10.2 unter Linux einen Screenshot erstellen kann?

Und zwar nicht so, dass man ein anderes Linux-Systemtool aufruft, sondern das direkt mit Delphi selber erledigen kann?

Über einen Hinweis wäre ich dankbar.:)

creed steiger 7. Mai 2017 21:00

AW: Screenshot unter Linux
 
X11?
ohne "Linux-Systemtool" wirst du dir schwer tun, wobei ich nicht weis was du darunter verstehst

Harry Stahl 7. Mai 2017 22:22

AW: Screenshot unter Linux
 
Systemtool: Darunter verstehe ich z.B. das unter Ubuntu schon installierte gnome. Man kann es mit einem Parameter aufrufen und dann einen Screenshot als Datei speichern lassen.

Nur: Es werden bei Multimonitor-Systemen dann alle 3 Monitore erfasst und außerdem flackert es dann einmal kurz.

Von der Performance natürlich auch viel zu langsam. Ich möchte mein Remote-Desktop-Programm auch für Linux erweitern, da wäre es schon gut, alles auf Memory-Ebene erledigen zu können.

Bei der Suche nach entsprechenden Funktionen in den von Delphi mitgelieferten Linux-Dateien (Enterprise-Version) bin ich allerdings leider nicht fündig geworden.

mensch72 7. Mai 2017 22:32

AW: Screenshot unter Linux
 
https://github.com/TigerVNC/tigervnc/releases

guck mal in den Source von z.B. TigerVNC, die haben das was du willst für Linux gelöst :)

(was in C geht, geht auch in Delphi und wenn man es als eine externe C lib realisiert und diese aufruft)

MichaelT 8. Mai 2017 08:30

AW: Screenshot unter Linux
 
Kannst du das Drücken der PrintScreen Taste emulieren?




himitsu 8. Mai 2017 11:43

AW: Screenshot unter Linux
 
Zitat:

Zitat von MichaelT (Beitrag 1370537)
Kannst du das Drücken der PrintScreen Taste emulieren?

Im Android kann man auch irgendwie über /dev/input/irgendwas oder dev/graphics/irgendwa auf den "Monitor" zugreifen.
Da Android intern quasi auch nur ein Linux ist, wird es das doch auch im "normalen" Linux geben?



Das wäre für dich ja auch ein Systemtool?
http://www3.hs-esslingen.de/rz/FAQ.php3?MYID=155

MichaelT 8. Mai 2017 15:54

AW: Screenshot unter Linux
 
Es gibt genug Lösungen für X-Windows in C am Netz. Diese Beiträge hat der Harry Stahl bestimmt schon zuvor gefunden. Im Freepascal geht/ging es bestimmt. Ich will allein nicht dauern dorthin verlinken.

Lazarus Wiki

Unter Windows brauche ich zumindest noch das gute alte SnagIt da ich SAP Listboxen quasi scrolle und ein Qualitätsprüfung mache (wofür würde jetzt zuweit vom Thema wegführen).

Imagemagick gibt es auch mit Pascal interface ... wenn man nachher etwas tun will.


Zitat:

Zitat von himitsu (Beitrag 1370561)
Zitat:

Zitat von MichaelT (Beitrag 1370537)
Kannst du das Drücken der PrintScreen Taste emulieren?

Im Android kann man auch irgendwie über /dev/input/irgendwas oder dev/graphics/irgendwa auf den "Monitor" zugreifen.
Da Android intern quasi auch nur ein Linux ist, wird es das doch auch im "normalen" Linux geben?



Das wäre für dich ja auch ein Systemtool?
http://www3.hs-esslingen.de/rz/FAQ.php3?MYID=155


Namenloser 8. Mai 2017 16:22

AW: Screenshot unter Linux
 
Zitat:

Zitat von MichaelT (Beitrag 1370537)
Kannst du das Drücken der PrintScreen Taste emulieren?



Da würde bei meinem Linux genau überhaupt nichts passieren.

Harry Stahl 8. Mai 2017 16:30

AW: Screenshot unter Linux
 
PrintScreen hat den Nachteil, dass es auch flackert und sich standardmäßig das Bildschirmtool präsentiert (Ubuntu).

In TigerVNC konnte ich (zumindest nach kursorischer Durchsicht) nichts relevantes finden...

hanvas 8. Mai 2017 19:43

AW: Screenshot unter Linux
 
Unter Linux mit X wird normalerweise das Komando/Programm XWD benutzt um Screenshots zu machen. Das dürfte für die unterschiedlichen Desktop-Manager die portabelste Lösung sein.

XWD selbst greift auf die XLib bzw. libX11 zurück (XGetImage) Da der Linux Support von Delphi sich ausdrücklich nur auf die Kommandozeile bezieht, bezweifle ich das es Bindings dafür gibt. Für FPC / Lazarus gibt es die sehr wohl, möglicherweise kannst Du ja damit etwas anfangen. *

Nachtrag :

Da Du ausdrücklich GNOME erwähnst könntest Du auch mal nach Bindings für Delphi/FreePascal und GTK+ suchen (da Gnome auf GTK+ basiert) oder die entsprechenden Funktionen / Header einfach selbst übersetzen. **




cu Ha-Jö


* http://wiki.lazarus.freepascal.org/X11
** http://stackoverflow.com/questions/3...hot-with-c-gtk


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 Uhr.
Seite 1 von 3  1 23      

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-2025 by Thomas Breitkreuz