Hola,
Antes que nada quiero decir, que mi idea no es revivir un post viejo sin motivos, el motivo es que este post esta muy posicionado en Google y es una lastima que en el post no este la solución al problema.
Dejo el código PHP para pixelear imagenes con Libreria GD
Código PHP:
Ver original<?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
if(!$imagen) exit('ERROR'); $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;
//
$auxX+= $pixel;
if($auxX >= $ancho){
$auxX = 0;
$auxY+= ($pixel+1);
}
$superficieRecorrida+= $pixel*$pixel;
}
//
Header("Content-type: image/jpeg"); // Fin Pixelear una imagen
?>
Fuente y explicación:
http://www.marcofbb.com.ar/pixelear-imagenes-con-php/