The next script he does is pixelate an image with PHP. Use the PHP GD library to pixelate the image.
source: https://www.marcofbb.com.ar/pixelear-imagenes-con-php/
PHP:
<?php
// Tamaño del pixel
$pixel = 15;
/* Pixelar una imagen */
$getImagen = 'mona-lisa.jpg';
//Creamos una variable imagen a partir de la imagen original
# $imagen = imagecreatefrompng($getImagen); // Descomentar si es PNG
$imagen = imagecreatefromjpeg($getImagen);
if(!$imagen) exit('ERROR');
list($ancho,$alto)=getimagesize($getImagen);
$superficieTotal = $ancho*$alto;
//
$superficieRecorrida = 0;
$auxX=0;
$auxY=0;
while($superficieRecorrida <= $superficieTotal){
$posX=0;$posY=0;$data = array();
while($posX <= $pixel and (($auxX + $posX) < $ancho)){
$posY=0;
while($posY <= $pixel and (($auxY + $posY) < $alto)){
$rgb = imagecolorat($imagen, ($auxX + $posX), ($auxY + $posY));
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$data[] = array($r,$g,$b);
$posY++;
}
$posX++;
}
// Busco promedio
$r = 0; $g = 0; $b = 0;
foreach($data as $d){
$r+= $d[0];
$g+= $d[1];
$b+= $d[2];
}
$totalArray = count($data);
if($totalArray == 0) $totalArray = 1;
$r = $r/$totalArray;
$g = $g/$totalArray;
$b = $b/$totalArray;
$colorPromedio = imagecolorallocate($imagen, $r, $g, $b);
imagefilledrectangle($imagen, $auxX, $auxY, ($auxX + $pixel), ($auxY + $pixel), $colorPromedio);
//
$auxX+= $pixel;
if($auxX >= $ancho){
$auxX = 0;
$auxY+= ($pixel+1);
}
$superficieRecorrida+= $pixel*$pixel;
}
//
Header("Content-type: image/jpeg");
imagejpeg($imagen);
imagedestroy($imagen);
// Fin Pixelar una imagen
?>
source: https://www.marcofbb.com.ar/pixelear-imagenes-con-php/