2013-03-02 17 views

Antwort

19

Ja, Sie können den Pixel "Wert" wie in Farbe mit imagecolorat() erhalten.

$color = imagecolorat($resource, $x, $y); 

Wo $resource Ihre Bildressource ist, und $x, $y sind die Koordinaten des Pixels Sie die Farbe erhalten möchten.

Sie können durch alle Pixel wie folgt iterieren. Beachten Sie, dass dies eine teure Aufgabe sein kann, abhängig davon, wie groß das Bild ist.

$width = imagesx($resource); 
$height = imagesy($resource); 

for($x = 0; $x < $width; $x++) { 
    for($y = 0; $y < $height; $y++) { 
     // pixel color at (x, y) 
     $color = imagecolorat($resource, $x, $y); 
    } 
} 
+5

Beachten Sie, dass dies entweder 1) den Index der Farbe an diesem Pixel 2) tatsächliche Farbe an diesem Pixel zurückgeben kann. Wenn Sie imagecolorsforindex() verwenden, können Sie sicher sein, dass Sie RGB-Werte erhalten. –

+0

Was kann getan werden, wenn Ressourcen die Zeichenfolge sind? –

+0

@GintareStatkute ​​* Die Zeichenfolge * wie im Bildpfad? –

Verwandte Themen