Mam taki kawałek kodu:
  1. <?php
  2. header ("Content-type: image/png");
  3. $im=imagecreate (500, 500);
  4. $orange=imagecolorallocate ($im, 255, 255, 255); //kolor tla obrazka
  5.  
  6. $black=imagecolorallocate ($im,0, 0, 0);
  7. $ffff=imagecolorallocate ($im,210, 110, 110);
  8. imageline ($im, 100,400, 100, 40, $black);
  9.  
  10. for ($pobieranie = 1; $pobieranie <= 450; $pobieranie++) {
  11.  
  12. $rgb = ImageColorAt($im, $pobieranie, 100);
  13.  
  14. $r = ($rgb >> 16) & 0xFF;
  15. $g = ($rgb >> 8) & 0xFF;
  16. $b = $rgb & 0xFF;
  17.  
  18.  if ($r<1 and $g<1 and $b<1) {
  19.  break;
  20.  }
  21. }
  22. imageline ($im, 0,200, $pobieranie, 200, $ffff);
  23. imagepng ($im);
  24. ?>

Z założenia miał rysować linię (poziomą) , która kończy się w miejscu napotkania innej linii (pionowej) miała się zatrzymać... Niestety nie wykonuje tego.
Testowałem to na podobnym kodzie, który operował na gotowej grafice i działało. Niestety w wypadku dynamicznego tworzenia rysunku poległem.

Może się komuś przyda. Problem stanowił png ;-). A właściwie mój błąd z odczytem koloru.

Wystarczy drobna zmiana:
  1. <?php
  2. for ($pobieranie = 1; $pobieranie <= 450; $pobieranie++) {
  3.  
  4. $rgb = ImageColorAt($im, $pobieranie, 100);
  5.  
  6.  
  7. if ($rgb==$black) {
  8.  break;
  9.  }
  10. ?>