PHP - cambiar un pixel con imagepixel e imagecolorat

   
Vista:

cambiar un pixel con imagepixel e imagecolorat

Publicado por gonzalo (555 intervenciones) el 12/01/2018 21:43:58
necesito cambiar los puntos negros en una imagen y cambiarlos a tonos de gris, aqui tengo la funcion, segun yo si funciona pero no hace el cambio, alguien que me pueda ayudar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$Gris=array
(
  imagecolorallocate($im, 0, 0, 0),
  imagecolorallocate($im, 30, 30, 30),
  imagecolorallocate($im, 60, 60, 60),
  imagecolorallocate($im, 90, 90, 90),
  imagecolorallocate($im, 120, 120, 120)
);
 
for($x=0;$x<150;$x++)
{
  for($y=0;$y<50;$y++)
  {
    $rgb = imagecolorat($im, $x, $y); // extrael el color en ese punto
    $r = ($rgb >> 16) & 0xFF;
    $g = ($rgb >> 8) & 0xFF;
    $b = $rgb & 0xFF;
 
    //echo("$r,$g,$b ");
 
    if($r==0 & $g==0 & $b==0) // si el color es negro, si detecta cuando el color es negro
    {
      //echo("ok");
      imagesetpixel ($im ,  $x,  $y,  $Gris[rand(0,count($Gris)-1)]); // entonces cambialo a un tono de griz
    }
  }
}
 
header("Content-Type: image/png");
imagepng($im);
imagedestroy($im);

pero NO hace el cambio.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Revisar política de publicidad