Skip to content
Extraits de code Groupes Projets
Valider 2d92801e rédigé par Fil's avatar Fil
Parcourir les fichiers

quand on fait tourner un fichier il faut l'enregistrer dans le meme format...

quand on fait tourner un fichier il faut l'enregistrer dans le meme format qu'on le lit, sinon il est fini (Steph)
parent abb05dba
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -631,15 +631,44 @@ function supprime_document_et_vignette($doc_supp) { ...@@ -631,15 +631,44 @@ function supprime_document_et_vignette($doc_supp) {
// Faire tourner une image // Faire tourner une image
// //
function gdRotate ($imagePath,$rtt){ function gdRotate ($imagePath,$rtt){
if(preg_match("/\.(png)/i", $imagePath)) if(preg_match("/\.(png|gif|jpe?g|bmp)$/i", $imagePath, $regs)) {
$src_img=ImageCreateFromPNG($imagePath); switch($regs[1]) {
else if(preg_match("/\.(jpg)/i", $imagePath)) case 'png':
$src_img=ImageCreateFromJPEG($imagePath); $src_img=ImageCreateFromPNG($imagePath);
else if(preg_match("/\.(bmp)/i", $imagePath)) $save = 'imagepng';
$src_img=ImageCreateFromWBMP($imagePath); break;
case 'gif':
$src_img=ImageCreateFromGIF($imagePath);
$save = 'imagegif';
break;
case 'jpeg':
case 'jpg':
$src_img=ImageCreateFromJPEG($imagePath);
$save = 'Imagejpeg';
break;
case 'bmp':
$src_img=ImageCreateFromWBMP($imagePath);
$save = 'imagewbmp';
break;
default:
return false;
}
}
if (!$src_img) {
spip_log("gdrotate: image non lue, $imagePath");
return false;
}
$size=@getimagesize($imagePath); $size=@getimagesize($imagePath);
if (!($size[0] * $size[1])) return false;
if (function_exists('imagerotate')) {
$dst_img = imagerotate($src_img, $rtt, 0);
} else {
// Sous GD2 : ImageCreateTrueColor // Creer l'image destination (hauteur x largeur) et la parcourir
// pixel par pixel (un truc de fou)
$process = lire_meta('image_process'); $process = lire_meta('image_process');
if ($process == "gd2") if ($process == "gd2")
$dst_img=ImageCreateTrueColor($size[1],$size[0]); $dst_img=ImageCreateTrueColor($size[1],$size[0]);
...@@ -682,9 +711,13 @@ function gdRotate ($imagePath,$rtt){ ...@@ -682,9 +711,13 @@ function gdRotate ($imagePath,$rtt){
$b--; $b--;
} }
} }
}
ImageDestroy($src_img); ImageDestroy($src_img);
ImageInterlace($dst_img,0); ImageInterlace($dst_img,0);
ImageJPEG($dst_img,$imagePath);
# obligatoire d'enregistrer dans le meme format, puisque c'est
# dans le fichier de depart...
$save($dst_img,$imagePath);
} }
function tourner_document($var_rot, $doc_rotate, $convert_command) { function tourner_document($var_rot, $doc_rotate, $convert_command) {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter