Screenshot mit Maus

klose010

Mitglied
Hallo zusammen,

ich weiß wie ich einen Screenshot mit Java mache:

Java:
Robot robot = new Robot();
BufferedImage bi=robot.createScreenCapture(new Rectangle(breite,hoehe));

Leider ist bei diesem Screenshot keine maus zu sehen. Wie kann ich einen Screenshot mit Maus machen. Meine erste überlegung war die Mausposition abfragen und nachträglich nachmalen, nur gibt es dabei zwei probleme. Zum einen werden bei spielen oft andere mousecourser mit speziellen texturen verwendet, und zum anderen gibt es immer ein leichtes flackern des mousecourser beim screenshot, da dieser ja für einen bruchteil einer sekunde ausgeblendet wird. Ich würde das gerne verhindern.
 

Plopo

Bekanntes Mitglied
Glaube das funktioniert nicht wirklich von Haus aus (kann mich auch täuschen).
Ich würde einfach die Position des Cursors, beim erstellen des Screenshots, abfragen und dann auf dem Screenshot ein Bild von einem Cursor, auf der abgefragten Position, einfügen.
 

Jutschin

Mitglied
Habe vor langer Zeit mal eine eigene ScreenCapture Klasse geschrieben, die mir high-quality Bilder liefert und bei Bedarf auch skaliert. RenderingHints hab ich ausprobiert, so liefern sie mir persönlich die besten Bilder.

Java:
...

            Robot b = new Robot();
            Rectangle captureSize = new Rectangle(0, 0, w, h);
            this.screenshot = b.createScreenCapture(captureSize);

...

this.screenshot = new ImageScaler().scaleImage(screenshot, Toolkit.getDefaultToolkit().getScreenSize());

....



private BufferedImage scaleImage(BufferedImage img, Dimension d) {
        float factor = getFactor(img.getWidth(), img.getHeight(), d);

        int w = (int) (img.getWidth() * factor);
        int h = (int) (img.getHeight() * factor);
        BufferedImage scaled = new BufferedImage(w, h,
                BufferedImage.TYPE_INT_RGB);

        Graphics2D g = scaled.createGraphics();
        g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                RenderingHints.VALUE_INTERPOLATION_BILINEAR);
        g.drawImage(img, 0, 0, w, h, null);
        g.dispose();
        return scaled;
}

float getFactor(int width, int height, Dimension dim) {
        float sx = dim.width / (float) width;
        float sy = dim.height / (float) height;
        return Math.min(sx, sy);
    }

Kleiner Auschnitt, damit solltest du voran kommen.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Methoden Farbe auf Screenshot suchen Allgemeine Java-Themen 2
T Screenshot -Bereich auswählen Allgemeine Java-Themen 2
F Screenshot auf bestimmtes Teilbild untersuchen Allgemeine Java-Themen 3
U Screenshot erstellen und speichern Allgemeine Java-Themen 6
Z Desktop anzeigen + Screenshot klappt nicht Allgemeine Java-Themen 3
F Screenshot von gewissen Anwendungen nicht möglich Allgemeine Java-Themen 5
Developer_X ScreenShot erstellen Allgemeine Java-Themen 8
J Screenshot von Websites? Allgemeine Java-Themen 3
Steev Screenshot vom Bereich behind dem aktuellen Fenster machen Allgemeine Java-Themen 24
P Screenshot in Java Allgemeine Java-Themen 53
G Screenshot mittels robot ausführen Allgemeine Java-Themen 4
MQue Screenshot Allgemeine Java-Themen 4
U Java Screenshot Alt+druck Allgemeine Java-Themen 3
T Screenshot ohne meinem Programm Allgemeine Java-Themen 5
Lauezl Projektil zur Maus Position Allgemeine Java-Themen 10
Tobero JFrame nimmt keinen Key oder Maus inputs Allgemeine Java-Themen 0
M Java – Warum kann ich plötzlich bei Android Studio Grafische Benutzeroberflächen mit der Maus gestalten? Allgemeine Java-Themen 5
V Maus mitthilfe Bewegungssensor steuern (Java) Allgemeine Java-Themen 12
I AWT MouseListener Extra Knopf auf der Maus Allgemeine Java-Themen 9
N Globale Maus Allgemeine Java-Themen 7
SeppiHinteregger Maus realistisch simulieren Allgemeine Java-Themen 5
S JFreechart: ValueMarker mit der Maus ziehen? Allgemeine Java-Themen 12
Z zeit zwischen maus drücken und loslassen Allgemeine Java-Themen 7
T [RXTX] GPS-Maus (Comport) effizient auslesen Allgemeine Java-Themen 6
S GPS-Maus über USB ansprechen Allgemeine Java-Themen 8
C Markierung durch Maus lesen Allgemeine Java-Themen 9
M Maus durch JavaProgramm bewegen Allgemeine Java-Themen 2
G Eingabegerät unterscheiden (z.B. Maus oder Touchpad) Allgemeine Java-Themen 3
S GPS-Maus auslesen Allgemeine Java-Themen 14
M Automatische Steuerung der Maus Allgemeine Java-Themen 6
G TJable MULTIPLE_INTERVAL_SELECTION ohne Maus Allgemeine Java-Themen 2
B Maus-Cursor zurücksetzen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben