2012-08-10 129 views
0

我正在編寫一個程序,該程序打開一個程序,並等待它加載。當它加載時,中間有一個加載條,屏幕的其餘部分是黑色的。如何比較兩種像素顏色

我想要做的是檢查顏色,比方說,1200和300,將它保存爲一個變量,然後檢查兩個是否是每1秒相同的顏色,當它們不相同時,繼續執行其餘的代碼。

我該如何去做這件事?

編輯:可以somone提供一些有效的代碼嗎?

BGC = robot.getPixelColor(1200, 300); 
System.out.println(robot.getPixelColor(1200, 300)); 

     int counter = 1; 
    while (counter < 10){ 
     System.out.println(robot.getPixelColor(1200, 300)); 
     if (BGC == robot.getPixelColor(1200, 300)){ 
      Thread.sleep(2000); 
      System.out.println("Colors Match"); 
     } else{ 
      System.out.println("Colors Dont Match"); 
     } 
     counter++; 
    } 

這段代碼產生了這個結果,顏色不匹配的結果,以及明確匹配的顏色......幫助._。

+2

這是一種非常奇怪的做事方式。 – Quinma 2012-08-10 21:29:01

+1

你能告訴我們你有什麼嗎? – 2012-08-10 21:29:18

回答

0

http://www.javalobby.org/forums/thread.jspa?threadID=16400&tstart=0

http://www.daniweb.com/software-development/java/code/216988/java-code-to-capture-your-screen-as-image

下面將介紹如何讓一個屏幕捕捉在Java中,並保存爲一個BufferedImage兩個環節。

http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/image/BufferedImage.html

下面是BufferedImage類

所以的文檔,你想要做的是一樣的東西:

  1. 運行程序
  2. 採取截圖
  3. 檢查與RGB值文檔中描述的一些方法
  4. 與舊價值相比,它是一樣的嗎?如果是,再回到2,否則到5
  5. 休息計劃

的但是我不知道如果這是你應該想要做什麼。你試圖解決的問題究竟是什麼?

0

爲什麼不使用機器人類(getPixelColor(x,y))來檢查像素顏色?但如前所述,不知道這是你應該如何去做。