2012-05-04 4 views
1

Ok, так что у меня есть:Pixel помощь - Java

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
Rectangle screenRectangle = new Rectangle(screenSize); 
Robot robot = new Robot(); 
BufferedImage image = robot.createScreenCapture(screenRectangle) 


int w = image.getWidth(null); 
int h = image.getHeight(null); 
int[] rgbs = new int[w*h]; 
image.getRGB(0, 0, w, h, rgbs, 0, w); 
// find your pixel in the rgbs array 
for(int y=0;y<h;y++) { 
    for(int x=0;x<w;x++) { 
     if(rgbs[(y*w) + x] == mypixel) { // mypixel 
      robot.mouseMove(x, y); 
      robot.mousePress(InputEvent.BUTTON1_MASK); 
      robot.mouseRelease(InputEvent.BUTTON1_MASK); 
     } 
    } 
} 

Может кто-то пожалуйста, объясните мне, и, возможно, дать мне пример того, что mypixel может быть? Ответ, вероятно, очевидный, но я немного смущен. Заранее спасибо

+0

Не могли бы вы прояснить этот вопрос? Начните с того, что мы не знаем всех деталей вашей проблемы, которые вы делаете. –

+0

@ Hovercraft Full Of Eels Мне нужен пример того, что такое мипиксель. Это делает захват изображения размером всего экрана, затем он сканирует каждый пиксель, и если он соответствует mypixel, выполняется следующий код. Я смущен тем, что заменить mypixel. Я не знаю – user1304765

+0

mypixel должен быть цветом в формате RGB ... Я думаю. мой оригинальный вопрос: http://stackoverflow.com/questions/10441972 – user1304765

ответ

2

Самый простой способ получить значение цвета вы хотите, чтобы использовать

mypixel = new Color(red, green, blue).getRGB(); 
1

rbgs - это массив значений цвета для всего снимка экрана. В приведенной ниже строке сравниваются значения цвета текущего пикселя в изображении с цветом, который вы хотите щелкнуть. Переменная, по-видимому, является целым числом "packed".
if(rgbs[(y*w) + x] == mypixel)