Hallo Rolf,
Du willst einen weißen Streifen finden, der
- möglichst hoch oben ist
- hoch genug ist
Richtig?
Nicht ganz richtig.
Ich will einen weißen Streifen finden, der
- möglichst weit unten ist
- hoch genug ist
So gehts (nur iterativ):
function suche_freiraum($line = 842,$img2) {
$freiraum = $failed = 0;
$fp = fopen($_SERVER['DOCUMENT_ROOT']."/tmp/pixel.txt",'a+');
for($myY = $line;$myY > 500;$myY--) {
for($myX = 0;$myX < 530;$myX++) {
$pixel = $img2->getImagePixelColor($myX,$myY);
$colors = $pixel->getColorAsString();
if($colors != "srgba(255,255,255,0)" && $colors != "srgb(255,255,255)") { // wenn kein weißes Pixel
$failed++;
}
}
// Line zuende und failed noch auf 0 ?
if($failed == 0) {
$freiraum++;
fwrite($fp,"line ".$myY.": all white. Freiraum = ".$freiraum."\n");
} else {
fwrite($fp,"line ".$myY.": failed\n");
$freiraum = 0;
$failed = 0;
}
if($freiraum == 150) {
fclose($fp);
return $myY;
}
}
fclose($fp);
return 0; // kein Freiraum gefunden
}
Jochen