2011-08-05 73 views
1

我想從使用imagecolorat()的每個像素獲取rgb顏色信息,而且我不確定我的語法是否將rgb值保存到$ xy中() 是正確的。我正在查看文檔,但我仍然不明白髮生了什麼問題。使用php-gd循環從圖像中獲取每個像素的imagecolorat()數據

我的錯誤顯示:解析錯誤:語法錯誤,意想不到的 '' 在/sites/uploadresults.php在線69

#loop to populate rgb values and save to array: $xy 

    $imagew = imagesx($img); 
    $imageh = imagesy($img); 
    $xy = array(i); 

    echo "Image (w,h): ($imagew, $imageh)<br/>"; 

    $x = 0; 
    $y = 0; 
    for ($x = 0; $x <= $imagew; $x++) { 
    for ($y = 0;$y <= $imageh; $y++) { 
      $rgb = imagecolorat($img, $x, $y); 
      $r = ($rgb >> 16) & 0xFF; 
      $g = ($rgb >> 8) & 0xFF; 
      $b = $rgb & 0xFF; 

      #loop to save ($r,$g,$b) into $xy 
      for ($i = 0; $i <= $xytotal; $i++) { 
      $xy[i] = ($r, $g, $b); 
      } 



      echo "xy: $xy x: $x, y: $y <br/>"; 
      var_dump($r, $g, $b); 
     } 
    } 

整個代碼是在這裏:提前 http://pastebin.com/ZNDEzXFK

謝謝!

+0

嗨理查......我是今年在FunnyGarbage的技術實習生,致力於改善您的Rich Mosaic項目! – LonelyWebCrawler

回答

2

我想應當

$xy[i] = array($r, $g, $b); 

IOW $xy是陣列的陣列,每個子陣列的RGB三元組?

順便說一句$xy = array(i);在開始的時候看起來很可疑,我想應該只是$xy = array();,即你把它初始化爲空數組。

+0

啊哈。謝謝! – Richard

相關問題