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 32 33 34
| <?php
$largeur = $_POST['largeur'];
$hauteur = $_POST['hauteur'];
$pixels = $_POST['pixels'];
/*
echo 'L*l*6 = '.$largeur*$hauteur*6;
echo 'chaine= '.strlen($pixels);
*/
$image = imagecreatetruecolor($largeur,$hauteur);
for($y=0;$y<$hauteur;$y++){
for($x=0;$x<$largeur;$x++){
// position du début de la séquence RRVVBB pour le pixel en cours
$i =(($y*$largeur) + $x) * 6;
// RVB
$r = hexdec(substr($pixels, $i, 2));
$v = hexdec(substr($pixels, $i+2, 2));
$b = hexdec(substr($pixels, $i+4, 2));
// création de la couleur
$colorid = imagecolorallocate($image,$r,$v,$b);
// écriture de la couleur dans l'image
imagesetpixel($image,$x,$y,$colorid);
}
}
header("Content-type: image/jpeg");
imagejpeg($image,"",100);
imagedestroy($image);
?> |
Partager