2013-03-02 11 views

Odpowiedz

19

Tak, można uzyskać wartość "piksela" w kolorze, korzystając z imagecolorat().

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

Gdzie $resource to źródło obrazu i $x, $y są współrzędnymi piksela chcesz uzyskać kolor.

Można iterować przez wszystkie takie piksele. Zauważ, że może to być kosztowne zadanie w zależności od tego, jak duży jest obraz.

$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

Zauważ, że może to spowodować powrót: 1) indeks koloru w tym piksel 2) rzeczywisty kolor w tym pikselu. Jeśli użyjesz funkcji imagecolorsforindex(), możesz mieć pewność, że otrzymujesz wartości RGB. –

+0

Co można zrobić, jeśli zasoby są ciągami? –

+0

@GintareStatkute ​​* ciąg znaków * jak w ścieżce obrazu? –

Powiązane problemy