2015-09-17 39 views
7

Próbuję utworzyć Ambilight za pomocą pasków LED podłączonych do Raspberry Pi z systemem Raspbian. Buduję aplikację z Javą, która musi odczytać kolory pikseli po wszystkich stronach ekranu, dzięki czemu mogę ich użyć do pokolorowania diod LED za ekranem.Szybkie przechwytywanie ekranu Java

Próbowałem robić zrzuty ekranu z robot.createScreenCapture(), ale trwa to przez + - 45 ms, co powoduje, że diody LED zbyt późno zmieniają kolor.

Czy ktoś ma pomysł, jak utworzyć zrzut ekranu szybciej lub jak uzyskać piksel w inny sposób, który zmniejsza ms?

Jest to metoda Używam obecnie uzyskać zrzut ekranu:

Robot robot = new Robot(); 
Rectangle area = new Rectangle(0, 0, this.screenSize.width, this.screenSize.height); 
BufferedImage bufferedImage = robot.createScreenCapture(area); //Slow line 
+1

Kim jest ten robot? –

+0

Klasa robotów @WeareBorg. 'java.awt.Robot' –

+0

wystarczy uruchomić' robot.createScreenCapture (area); 'jeśli uruchomisz to w pętli –

Odpowiedz

-1

użyć metody getPixelColor() na robocie

+0

Próbowałem tego, ale okazało się, że jest wolniejsze niż 'createScreenCapture()', ponieważ muszę uzyskać pikselowe kolory wielu pikseli –