Salut à tous !
J’essaye de parcourir tous les pixels (i, j) d’une image à l’aide d’une boucle foreach.
Je consulte la documentation de foreach :
PHP 5.5 ajoute la possibilité d’itérer dans un tableau de tableaux, et d’en extraire les tableaux internes dans des variables, en fournissant une liste list() comme valeur.
J’essaye alors le code suivant avec PHP 7 :
<?php
$im = imagecreatefrompng('image.png');
$tim = array($im);
$black = imagecolorallocate($im, 0, 0, 0);
foreach ($tim as list($i, $j))
{
imagesetpixel($im, $i, $j, $black);
}
header('Content-type: image/png');
imagepng($im);
Le code ne fonctionne pas, il se contente de rendre le pixel (0, 0) en noir et laisse le reste inchangé.
La ligne 4 renvoie un tableau dont l’unique élément est l’image $im.
Auriez-vous une idée de la manière dont on pourrait parcourir les pixels d’une image avec la boucle foreach ?
+0
-0