screenshot machen ohne Robots?

Nardian

Bekanntes Mitglied
hi,

gibts vielleicht einen anderen weg einen screenshot vom gesamten monitor zu machen, außer mit robots?
robots scheint mir relativ langsam zu sein... (für meine zwecke ists definitiv zu langsam)

kann man vielleicht etwas mit JOGL oder sowas erreichen? oder mit anderen mitteln?

greetz
 
Zuletzt bearbeitet:

Kr0e

Gesperrter Benutzer
Hallo Nardian,

Robot ist in der Tat sehr langsam unter Windows, grad bei hohen Auflösungen. Ich glaube JMF kann auch Screenshots machen, aber keine Ahnung ob das schneller ist. Würde mich aber wundern, wenn JMF auch Robot benutzt. Wäre ja ziemlich sinnfrei...
Ansonsten hab ich im Internet nichts gefunden was einfach wäre oder mal eben testfähig wäre. Ich glaube aber das ist ein ganz normales Problem. Ich glaube aber nicht, dass Screenshots unter Windows schneller möglich sind (Jetzt mal iwelche DX-Hacks rausgelassen). Ist ja alles nicht hardwarebeschleunigt unter Windows. Ich denke mal, dass du einer Art RemoteDesktop machen willst. Da hatte ich das mal für gebraucht. Linux kann das sehr viel schneller, sofern der richtige Grafiktreiber installiert ist. Screenshots unter Linux (Ubuntu z.b.) gingen bei mir immer sehr schnell mit Java/Robot (1-2 ms, auch bei 1680x1050).

Gruß,
Chris
 

Geeeee

Bekanntes Mitglied
Also mit Robot geht auch die Implementierung einer Remotedesktopanwendung. Hatte ich vor ein paar Monaten selber mal evaluiert. Mir war schon vorher bewusst, dass der Robot recht langsam arbeiten sollte, aber dann war ich recht positiv überrascht, wie -für Remotedesktopverhältnisse- flüssig das ganze wirkte.
"Leider" sind die Testrechner sehr gut bestückt gewesen, weshalb ich mehr oder weniger nur die Datenübertragung per "Diff-Bilder" optimiert habe.
Als Alternative steht, wie immer und oben erwähnt, JNI zur Verfügung. Gerade beim "Zusammenbauen" des Bildes, um es dann auch darstellen zu können, hatte ich Probleme und diese Lösung vorerst verworfen.
 

Nardian

Bekanntes Mitglied
ja, im prinzip gehts wirklich um ne art remotedesktop...

nur mein problem mit dem grad ist, dass das screenshotten (zumindest under win) recht lang dauert - soweit ich mich richtig erinnere hats bei mir so um die 100ms gedauert oO
dazu kommt dann auch noch die kompression... momentan verwenden wir dafür einen GZIP-Stream.. der macht seine arbeit zwar recht gut, nur ein keyframe (also ein komplettes bild) braucht trotzdem nochmal ca 100ms (bzw eher etwas mehr)...
klar - alles ist besser als nichts, nur wollte ich mal fragen ob jemand irgendwas kennt mit dems eben schneller gehn würde..

jni - ja, bin nicht wirklich abgeneigt... wenn jemand ne gute lib kennt, würds mich freun wenn er sein wissen mit uns teilen würde :)
und das JMF ist ein interessanter hinweis, werd ich mir genauer anschaun

thx schonmal an alle :)
 

Kr0e

Gesperrter Benutzer
MIr fällt da grad ein, dass das mit DX ziemlich shcnell gehen muss.
Es gibt ja Fraps, das kann in der freigeschalteten Version 100 FPS realtime Videos aufnehmen.
Wenn es nur für Windows sein soll, kannste damit bestimmt einfach weiterkommen. Ein allround-Lösung
ist natürlich dann immer lagnsamer bzw. schlechter.. das ist ganz klar. Etwas derart plattformabhängiges
kann auch nicht überall gleich schnell funktionieren.
 

Nardian

Bekanntes Mitglied
hmm.. ja, DX wär sehr wahrscheinlich ne lösung...

kennt jemand vllt gute libs oder sowas?

(ich bitte hier niemanden für mich zu googln, kann ich ja auch selber machen, nur falls jemand schon was kennt, würde er mir vermutlich viel zeit ersparen)
 

Kr0e

Gesperrter Benutzer
Tagchen,

eine fertige Lib nur zum Screenshotten gibts bestimmt nicht.

Nimm einen "DirectX Java Wrapper", ich vermute, dass es das auch für DX geben muss,
wenns das auch für OpenGL gibt.. Jogl, LWJGL...

Und dann ganz java-frei nach DX tuts suchen für screen capture oder so...
 

coder101101

Mitglied
Hi
Ich Stehe vor dem selben Problem ich will ebenfalls eine Art Remote Desktop machen.Allerdings komm ich nur auf 3 FPS und ein 3tel der Zeit geht für den Scrennshot drauf(200 ms unter Ubuntu) kennt jmd. einen Platformunabhänigen und möglichst schnellen erstatz für den Robot?
 

Nardian

Bekanntes Mitglied
Ich fürchte du wirst plattformunabhängig nicht weiterkommen.. ich habe damals auch ein Remote Desktop System entwickelt.. Es hat zwar "brauchbar" funktioniert, jedoch wie du schon sagtest mit einer nicht besonders guten FPS...

Als ob das noch nicht genug wäre, hat Robot leider noch einen Nachteil den ich feststellen musste. Unter Windows (denke dass es ähnliche Fälle auch unter linux und anderen OS geben wird) kann Robot eine Fullscreen-DirectX-Applikation nicht screenshoten. Entweder ist der ganze Bildschirm Schwarz, oder man sieht genau das was man schon vorher gesehen hat (also als ob gar nicht ge-screenshot-et werden würde..)

Ich denke immer noch dass die "sauberste" Methode ein RMS in Java zu entwickeln eben eine immer funktionierende (aber langsame) Robot alternative, und dann optional plattform-bezogene native-Implementierungen einer Caputre-Funktion ist.

Falls jemand was anderes weiß / ne andere Idee hat, immer her damit :)

MfG
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L JavaFX JavaFX Screenshot Machen AWT, Swing, JavaFX & SWT 6
A AWT Beim (mehrmaligen) Screenshot machen läuft der Speicher voll AWT, Swing, JavaFX & SWT 2
F Screenshot vom Desktop machen? AWT, Swing, JavaFX & SWT 2
F Screenshot eines JPanel AWT, Swing, JavaFX & SWT 3
F AWT Robot Klasse Screenshot nach Pixelmustern in bestimmten Radius um Bildschirmmittelpunkt absuchen AWT, Swing, JavaFX & SWT 13
K Screenshot AWT, Swing, JavaFX & SWT 6
0 2D-Grafik Screenshot von ScrollBar-Inhalt AWT, Swing, JavaFX & SWT 2
C JList: Eintrag anklicken & JTextfield mit Text aus MySQL füllen? (Screenshot dabei) AWT, Swing, JavaFX & SWT 8
G GUI Screenshot AWT, Swing, JavaFX & SWT 5
T Screenshot ist verschoben. AWT, Swing, JavaFX & SWT 3
D Robot: Screenshot vom Desktop Hintergrund möglich ? AWT, Swing, JavaFX & SWT 3
H Screenshot abhängig von Grafikkarte? AWT, Swing, JavaFX & SWT 15
T Screenshot mit SWT AWT, Swing, JavaFX & SWT 5
A Screenshot eines best. Fensters AWT, Swing, JavaFX & SWT 5
R Screenshot von fremder Anwendung AWT, Swing, JavaFX & SWT 4
H Was ist das für eine Komponente ? (Screenshot) AWT, Swing, JavaFX & SWT 8
A Screenshot einer Anwendung erstellen AWT, Swing, JavaFX & SWT 14
M Bildschirnkoordinaten und Screenshot? AWT, Swing, JavaFX & SWT 2
R JPanel als Screenshot in eine Datei schreiben AWT, Swing, JavaFX & SWT 3
D Zoom problem!!! (brauche screenshot...) plz help thx AWT, Swing, JavaFX & SWT 7
M JavaFX TableView nur erste Zeile editable machen und gelb markieren AWT, Swing, JavaFX & SWT 0
I Libraries für AWT für andere Grafik-Frameworks tauglich machen AWT, Swing, JavaFX & SWT 6
B Java Projekt mit JavaFX und jfoenix ausführbar machen AWT, Swing, JavaFX & SWT 46
FrittenFritze Text in Flying Saucer selectierbar machen AWT, Swing, JavaFX & SWT 0
L TextArea Zeichenabstand gleich machen AWT, Swing, JavaFX & SWT 8
DonBronson Java Graphics bewegbar machen (Drag&Drop) AWT, Swing, JavaFX & SWT 3
N JavaFX Javafx intelij Projekt zu ausführbaren jar Datei Machen AWT, Swing, JavaFX & SWT 1
J Ablaufsteuerung/Anleitung machen mit JDialog und einer Zustandsmaschine AWT, Swing, JavaFX & SWT 1
CptK Ordentlicher Code & Panel ab bestimmter Komponentenzahl scrollbar machen AWT, Swing, JavaFX & SWT 12
N JavaFX Projekt nachträglich zu JavaFX Application machen? AWT, Swing, JavaFX & SWT 1
O Swing JOptionPane.showOptionDialog - Wie kann ich Buttons größer machen AWT, Swing, JavaFX & SWT 10
L AWT .gif image transparent machen AWT, Swing, JavaFX & SWT 3
VPChief Ein JFrame ohne setUndecorated(true); nicht verschiebbar machen. AWT, Swing, JavaFX & SWT 6
T Java: Zwei abhängige JSlider machen nicht das, was sie sollen AWT, Swing, JavaFX & SWT 4
M JavaFX Ein Labeltext eine zeitlang anzeigen dann weiter machen AWT, Swing, JavaFX & SWT 3
MaxG. JavaFX JavaFX Stage nicht minimierbar machen AWT, Swing, JavaFX & SWT 2
L JavaFX TableView background transparent machen AWT, Swing, JavaFX & SWT 7
K JButton nicht sichtbar machen für User 2 AWT, Swing, JavaFX & SWT 4
V JavaFX Teile eines Images Transparent machen AWT, Swing, JavaFX & SWT 4
I JavaFX TreeView Pfeil nicht mehr Klickbar machen AWT, Swing, JavaFX & SWT 1
M JavaFX ImageView lichtundurchlässig machen ? AWT, Swing, JavaFX & SWT 0
P JTextField unsichtbar machen AWT, Swing, JavaFX & SWT 2
Y Kann man Buttons in einem JFrame rund machen ? AWT, Swing, JavaFX & SWT 2
D JavaFX Interface Initializable - Was machen die Parameter in der Methode inizializeable() ? AWT, Swing, JavaFX & SWT 4
J Swing JTable Zeile nicht auswählbar machen AWT, Swing, JavaFX & SWT 0
F Fullscreen rückgänig machen !!! AWT, Swing, JavaFX & SWT 4
F Swing JTextField (unbeschriebbar machen) AWT, Swing, JavaFX & SWT 12
J Swing Graphic anpassbar/resizeable machen AWT, Swing, JavaFX & SWT 10
N Swing Filechooser zweifarbig machen AWT, Swing, JavaFX & SWT 33
T Aus JAVA.Jar GUI eine Flash-Datei machen AWT, Swing, JavaFX & SWT 3
N LookAndFeel Wie kann ich mein eigenes LookAndFeel machen? AWT, Swing, JavaFX & SWT 6
P JScrollBar designen oder unsichtbar machen AWT, Swing, JavaFX & SWT 10
N Swing teilstring in textarea fett machen AWT, Swing, JavaFX & SWT 13
T Jframe Transparent machen AWT, Swing, JavaFX & SWT 3
S Canvas durch transparentes JPanel sichtbar machen AWT, Swing, JavaFX & SWT 2
P jframe setVisible(false) wieder sichtbar machen? AWT, Swing, JavaFX & SWT 4
J Gibt es brauchbare GUI-Builder, oder doch besser alles per Hand machen? AWT, Swing, JavaFX & SWT 6
P Pfeilpolygon per Maus rotierbar machen - Kleine Schwierigkeiten AWT, Swing, JavaFX & SWT 29
S View-Komponenten im Controller bekannt machen AWT, Swing, JavaFX & SWT 7
Java-Insel AWT RadioButtons unauswählbar machen AWT, Swing, JavaFX & SWT 11
lumo AWT Screenshots machen ist langsam? AWT, Swing, JavaFX & SWT 6
P JPanel scrollable machen AWT, Swing, JavaFX & SWT 19
A jformattedtextfield unsichtbar und wieder sichtbar machen AWT, Swing, JavaFX & SWT 13
R AWT TextArea schreibunfähig machen AWT, Swing, JavaFX & SWT 5
T Swing JScrollBar fetter machen? AWT, Swing, JavaFX & SWT 2
C Etwas durchsichtig machen über einem Panel AWT, Swing, JavaFX & SWT 7
C SWT CTabItem wieder sichtbar machen AWT, Swing, JavaFX & SWT 3
A Swing JCheckbox transparent machen AWT, Swing, JavaFX & SWT 7
A Swing JPanel in JScrollBar scrollbar machen AWT, Swing, JavaFX & SWT 4
B RootPane bzw CardLayout Transparent machen AWT, Swing, JavaFX & SWT 7
T JPopup modal machen AWT, Swing, JavaFX & SWT 2
C JTextPane / JEditorPane ohne Keywords farbig machen AWT, Swing, JavaFX & SWT 4
P SWT Viewpart undisposable machen? AWT, Swing, JavaFX & SWT 5
F Swing JFileChooser - Dateinamen nicht editierbar machen AWT, Swing, JavaFX & SWT 8
O JTree/TreeModel/DefaultMutableTreeNodes thread safe machen AWT, Swing, JavaFX & SWT 3
M SWT Tabllenspalte editierbar machen AWT, Swing, JavaFX & SWT 2
S SWT GridLayout scrollbar machen? AWT, Swing, JavaFX & SWT 7
P Swing JList hübscher machen AWT, Swing, JavaFX & SWT 3
D JList Scrollbar machen geht nicht AWT, Swing, JavaFX & SWT 4
B bin am verzweifeln, will auf knopfdruck durch ne überprüfung die labels unsichtbar machen AWT, Swing, JavaFX & SWT 2
S ButtonCelleditor explizit sichtbar machen AWT, Swing, JavaFX & SWT 6
F Einzelne TreeNode an einem JTree editierbar machen AWT, Swing, JavaFX & SWT 3
E Alles unsichtbar machen AWT, Swing, JavaFX & SWT 12
C Vom User angelegte Spaltenanordung rückgängig machen AWT, Swing, JavaFX & SWT 2
C Swing JTable: Spaltenverschiebung rückgängig machen AWT, Swing, JavaFX & SWT 4
M Swing Docking Widgets selber machen? AWT, Swing, JavaFX & SWT 14
S Spielfeld mit unförmigen Objekten anklickbar machen? AWT, Swing, JavaFX & SWT 4
R WindowClosing Event - Schließen rückgängig machen? AWT, Swing, JavaFX & SWT 2
woezelmann JComboBox Item nicht auswählbar machen AWT, Swing, JavaFX & SWT 4
D JTable während edit kein update machen lassen AWT, Swing, JavaFX & SWT 2
Developer_X Swing Graphics2D.zoom, wie rückgängig machen? AWT, Swing, JavaFX & SWT 6
F AWT Wie Bild unscharf machen? AWT, Swing, JavaFX & SWT 5
C Swing Mit jTree ein Ordneröffnen Dialog machen? Und Ordner Inhalt auslesen? AWT, Swing, JavaFX & SWT 4
Developer_X Swing Was gegen Flimmern machen? AWT, Swing, JavaFX & SWT 8
E Swing JButton nur pressed machen und Gruppe bilden AWT, Swing, JavaFX & SWT 2
A Swing JTree Editable einzelne Nodes editierbar machen! AWT, Swing, JavaFX & SWT 2
D JWindow rund machen AWT, Swing, JavaFX & SWT 11
J JTable - Spaltenzellen nicht fokusierbar machen AWT, Swing, JavaFX & SWT 15
D JTextArea nicht editierbar machen AWT, Swing, JavaFX & SWT 1
slawaweis JXTreeTable, jede Spalte einzeln scrollbar machen? AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben