Jak przechwycić obraz ekranu za pomocą wskaźnika myszy na nim w Javie? Wiedz, że mogę przechwytywać ekran za pomocą klasy Robot, ale przechwytuje ekran bez wskaźnika myszy, więc nie jest to rozwiązanie dla mnie.Sposób przechwytywania obrazu ekranowego za pomocą wskaźnika myszy na nim w języku Java
Odpowiedz
Nie jest to bezpośrednio możliwe, ale można użyć numeru MouseInfo#getPointerInfo()
, aby uzyskać informacje o miejscu, w którym znajduje się wskaźnik.
int x = MouseInfo.getPointerInfo().getLocation().x;
int y = MouseInfo.getPointerInfo().getLocation().y;
Po uzyskaniu ekranu jako BufferedImage
, można umieścić swój własny obraz kursora w dokładnie tym miejscu na zrzucie z pomocą Java 2D API.
Rectangle screen = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage screenCapture = new Robot().createScreenCapture(screen);
Image cursor = ImageIO.read(new File("c:/cursor.gif"));
int x = MouseInfo.getPointerInfo().getLocation().x;
int y = MouseInfo.getPointerInfo().getLocation().y;
Graphics2D graphics2D = screenCapture.createGraphics();
graphics2D.drawImage(cursor, x, y, 16, 16, null); // cursor.gif is 16x16 size.
ImageIO.write(screenCapture, "GIF", new File("c:/capture.gif"));
+1 Dowód według kontrprzykładu! :-) – trashgod
To nie zapisuje rzeczywistego kursora, tylko kursor zastępczy z pliku. Jeśli mój kursor jest inny (kursor ręki, kursor przeciągania, zmiana kursorów, brak kursora, niestandardowy pakiet kursora w panelu kontrolnym), to się zepsuje. –
@ Zom-B: Zgodnie z odpowiedzią, nie jest to bezpośrednio możliwe. Jest to więc Twój najlepszy zakład, który powinien wystarczyć, jeśli twoim jedynym zainteresowaniem jest pozycja kursora. Jeśli znasz lepsze rozwiązanie, możesz to napisać :) – BalusC
Można użyć Java Native Access, aby uzyskać dynamicznie dostęp do kursorów/wskaźników myszy w systemie operacyjnym.
Gdzie można naprawić ten problem? czy możesz podać nam więcej szczegółów na temat rozwiązania? –
- 1. Jak zrobić zdjęcie za pomocą wskaźnika myszy z jquery?
- 2. Jak zmienić kursor myszy w języku Java?
- 3. Windows 10 aktywować okno za pomocą wskaźnika myszy?
- 4. Sposób przechwytywania ekranu za pomocą/dev/graphics/fb0 (Android)
- 5. Przezroczyste okno (lub rysowanie na ekranie) Brak przechwytywania myszy
- 6. Łatwy sposób uruchamiania skryptów w języku Python za pomocą myszy w systemie OS-X
- 7. Jak wybrać obszar na obrazie PictureBox.Image za pomocą myszy w języku C#
- 8. zastępuje ustawienia częstości myszy. Tworzenie własnego algorytmu wskaźnika myszy
- 9. Jak zamazać część obrazu za pomocą JAVA
- 10. Czy istnieje sposób na utworzenie bezpośredniego obiektu ByteBuffer ze wskaźnika wyłącznie w języku Java?
- 11. Proporcje obrazu za pomocą Reportlab w języku Python
- 12. Sposób przechwytywania obrazu z nagranego projektu w formacie * .camrec
- 13. Zmiana wskaźnika myszy w aplikacji UWP
- 14. Twórz stylowe wykresy w języku Java, np. Za pomocą JFreeChart
- 15. Używanie ncurses do przechwytywania kliknięć myszy na aplikacji konsolowej
- 16. WPF - Rysowanie na płótnie za pomocą zdarzeń myszy
- 17. za pomocą myszy z sendInput w C
- 18. Zamień tablicę pikseli w obiekt obrazu za pomocą Java ImageIO?
- 19. jak pobrać plik obrazu za pomocą okhttpclient w java
- 20. Rysowanie za pomocą myszy na GUI w Matlab
- 21. Jak renderować tekst za pomocą FRACTIONALMETRICS w języku Java 7
- 22. Sterowanie urządzeniem iOS za pomocą myszy/klawiatury
- 23. Program pocztowy w języku Java za pomocą wzoru strategii
- 24. Wywołanie metody ogólnej za pomocą odbicia w języku Java
- 25. Szyfrowanie i odszyfrowywanie za pomocą klucza prywatnego w języku Java
- 26. Zmiana wskaźnika myszy przy użyciu JavaScript
- 27. C++: Wywołanie funkcji członka za pomocą wskaźnika
- 28. Niska jakość obrazu/obrazu podczas przechwytywania z kamery
- 29. Jak emitować sygnał z QPushButton, gdy mysz na nim wisi?
- 30. Jak przesunąć kursor myszy za pomocą C#?
Jakiej platformy hosta? – trashgod
Um, masz na myśli OS? Windows Vista. To ma znaczenie? – solgar
To nie powinno mieć znaczenia. Java jest niezależna od platformy. – BalusC