<?php $im=imagecreate (500, 500); $orange=imagecolorallocate ($im, 255, 255, 255); //kolor tla obrazka $black=imagecolorallocate ($im,0, 0, 0); $ffff=imagecolorallocate ($im,210, 110, 110); imageline ($im, 100,400, 100, 40, $black); for ($pobieranie = 1; $pobieranie <= 450; $pobieranie++) { $rgb = ImageColorAt($im, $pobieranie, 100); $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; if ($r<1 and $g<1 and $b<1) { break; } } imageline ($im, 0,200, $pobieranie, 200, $ffff); imagepng ($im); ?>
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:
<?php for ($pobieranie = 1; $pobieranie <= 450; $pobieranie++) { $rgb = ImageColorAt($im, $pobieranie, 100); if ($rgb==$black) { break; } ?>