Witam
Czy jest jakaś klasa, która służy do analizowania zawartości ekranu(tego co widzi użytkownik na ekranie). Najlepiej jakbym mógł uzyskać tablice pikseli z wartościami RGB. Jeżeli nie ma takiej to może jest klasa dzięki której mogę zrobić zrzut ekranu a potem go przeanalizować. Z góry dzięki za pomoc
- Rejestracja:około 14 lat
- Ostatnio:około miesiąc
- Postów:55
- Rejestracja:około 14 lat
- Ostatnio:prawie 14 lat
- Postów:16
Jeśli chodzi o Javę, to ze swojej strony mogę polecić Ci QtJambi. Tu masz prosty example pisany w C++. http://doc.qt.nokia.com/4.6/desktop-screenshot.html
- Rejestracja:ponad 14 lat
- Ostatnio:prawie 11 lat
dev_dingo napisał(a)
Jeśli chodzi o Javę, to ze swojej strony mogę polecić Ci QtJambi. Tu masz prosty example pisany w C++. http://doc.qt.nokia.com/4.6/desktop-screenshot.html
Nie, to głupi pomysł. Bardzo. Kodziłem w QtJambi przez 2 dni, wcześniej ok. rok w C++ i zrezygnowałem na rzecz Swinga.
W Javie też można łatwo robić screenshoty:
http://www.javalobby.org/forums/thread.jspa?threadID=16400&tstart=0
http://download.oracle.com/javase/1.4.2/docs/api/java/awt/image/BufferedImage.html
Z BufferedImage wyciągasz kolor pixela przez getRGB(x,y)
, model ARGB: możesz ręcznie dzielić i modować to jako inta(szybko), albo zrobić z tego Color poprzez Color col=new Color(screen.getRGB(x,y));
- Rejestracja:około 14 lat
- Ostatnio:około miesiąc
- Postów:55
Ok, udało się
A jak teraz na obiekcie BufferedImage coś namalować a potem zapisać. Namalować umiem
BufferedImage bf = ...;
Graphics g = bf.getGraphics();
I mogę rysować. Nie wiem jak później ponownie wgrać to BufferedImage i zapisać za pomocą ImagrIO.write();
- Rejestracja:ponad 14 lat
- Ostatnio:prawie 11 lat
Jak pobierzesz Graphics, czy też Graphics2D (getGraphics() zwraca w rzeczywistości Graphics2D, tylko trzeba rzutować) z BufferedImage, to rysujesz bezpośrednio na tym obrazie, czyli tylko pobierasz Graphics2D, rysujesz np. g2d.fillRect(10,10,100,100); i od razu możesz zapisać na dysku ten obraz używając obraz, z którego pobierasz Graphics2D.
- Rejestracja:prawie 14 lat
- Ostatnio:prawie 14 lat
- Postów:3
Zamiast używać QT do robienia screenshootów, możesz wykorzystać klasę Robot http://download.oracle.com/javase/1.4.2/docs/api/java/awt/Robot.html
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.