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
| function rotation($img,$degres){ //img=chemin vers image exemple: /test/imagesUp/Photo.gif
$image = getimagesize($img);
switch ($image[2]) {
case 1: $source = imagecreatefromgif($img); break;
case 2: $source = imagecreatefromjpeg($img); break;
case 3: $source = imagecreatefrompng($img); break;
}
if(($image[2] == 1) OR ($image[2]==3)){ //si c'est du gif ou png on ajouter un fond blanc avant rotation
$nHeight = $image[1];
$nWidth = $image[0];
$newImg = imagecreatetruecolor($nWidth, $nHeight); //Créer un fond noir
$blanche = imagecolorallocate($newImg, 255, 255, 255); //Créer la couleur blanche
imagefill($newImg, 0, 0, $blanche); //remplis l'image avec la couleur blanche
imagecopy($newImg, $source, 0, 0, 0, 0, $nWidth, $nHeight); //Fusionner les deux
$rotation = imagerotate($newImg,$degres,0) or die("Erreur lors de la rotation de ".$file);//Rotation de l'image
imagecolortransparent($rotation, $blanche);//Supprimer le fond blanc pour restaurer la transparence
} else {
$rotation = imagerotate($source,$degres,0) or die("Erreur lors de la rotation de ".$file);
}
switch ($image[2]) {
case 1: imagegif($rotation,$img); break;
case 2: imagejpeg($rotation,$img); break;
case 3: imagepng($rotation,$img); break;
}
} |
Partager