begin process at 2012 02 13 09:11:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > FONCTION ROTATION D'UNE IMAGE

FONCTION ROTATION D'UNE IMAGE


 Information sur la source

Note :
Aucune note
Catégorie :Graphique Classé sous :image, rotation, pivoter, imagerotate, GD Niveau :Débutant Date de création :07/11/2007 Date de mise à jour :17/11/2007 00:00:12 Vu :15 642

Auteur : zut69

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


 Description

Petite fonction simple, mais très utile, permettant de pivoter une image de x degrés.

Attention: Votre libraire GD doit être activée ! (Vous pouvez vérifier cette activation grâce à la fonction gd_info(). cf. http://www.php.net/manual/fr/function.gd-info.php)

Source

  • <?php
  • function rotation($img,$degres)
  • {
  • if(file_exists($img))
  • {
  • $image = getimagesize($img);
  • $image_type = $image['2'];
  • // création de l'image selon son extension (type) :
  • if($image_type == "1") $source = imagecreatefromgif($img);
  • if($image_type == "2") $source = imagecreatefromjpeg($img);
  • if($image_type == "3") $source = imagecreatefrompng($img);
  • if($image_type == "6") $source = imagecreatefromwbmp($img);
  • //rotation de l'image
  • $rotation = imagerotate($source,$degres,-1) or die("Erreur lors de la rotation de ".$file);
  • //Le -1 permet de remplir les zones vides avec du transparent
  • // sauvegarde de l'image (selon son type :
  • if($image_type == "1") imagegif($rotation,$img);
  • if($image_type == "2") imagejpeg($rotation,$img);
  • if($image_type == "3") imagepng($rotation,$img);
  • if($image_type == "6") imagewbmp($rotation,$img);
  • }
  • }
  • //exemple d'utilisation :
  • rotation('ma_photo12.jpg','180');
  • // : tournera ma_photo12.jpg à 180°
  • //ATTENTION: si l'image n'est pas dans le même dossier que le
  • //fichier php, il faut le spécifié. Si ma_photo12.jpg était dans un
  • //dossier photo, par exemple, il aurait fallu écrire:
  • rotation('photo/ma_photo12.jpg','180');
  • ?>
<?php
function rotation($img,$degres)
{
if(file_exists($img))
{
$image = getimagesize($img);
$image_type = $image['2'];

// création de l'image selon son extension (type) :
if($image_type == "1") $source = imagecreatefromgif($img);
if($image_type == "2") $source = imagecreatefromjpeg($img);
if($image_type == "3") $source = imagecreatefrompng($img);
if($image_type == "6") $source = imagecreatefromwbmp($img);

//rotation de l'image
$rotation = imagerotate($source,$degres,-1) or die("Erreur lors de la rotation de ".$file);
//Le -1 permet de remplir les zones vides avec du transparent

// sauvegarde de l'image (selon son type :
if($image_type == "1") imagegif($rotation,$img);
if($image_type == "2") imagejpeg($rotation,$img);
if($image_type == "3") imagepng($rotation,$img);
if($image_type == "6") imagewbmp($rotation,$img);
}
}

//exemple d'utilisation :

rotation('ma_photo12.jpg','180');

// : tournera ma_photo12.jpg à 180°
//ATTENTION: si l'image n'est pas dans le même dossier que le
//fichier php, il faut le spécifié. Si ma_photo12.jpg était dans un
//dossier photo, par exemple, il aurait fallu écrire:

rotation('photo/ma_photo12.jpg','180');
?>



 Historique

07 novembre 2007 20:39:35 :
faute de frappe
09 novembre 2007 07:46:21 :
commentaires

 Sources de la même categorie

Source avec Zip Source avec une capture CAMEMBERT BD par dardelphi
Source avec une capture AMÉLIORATION : CAMEMBERT par asphator
GESTION DE COULEUR par manuche
Source avec Zip NAVIGATOR (+CSSDETECTOR) par xXVoxPopuliXx
COMMENT, AVEC GD, DESSINER UN RECTANGLE TRANSPARENT PLEIN AV... par Rainbow

 Sources en rapport avec celle ci

CRÉER UNE IMAGE À PARTIR DU TEXTE par dilar
UPLOAD IMAGE AVEC MINIATURE par dilar
Source avec Zip Source avec une capture AJOUTER DES EFFETS DE PERSPECTIVE ET DES EFFETS DE REFLET SU... par zulrigh
Source avec Zip FAIRE DES MINIATURE D'IMAGE, DES PHOTOS POUR LES PROFILS par zulrigh
Source avec Zip Source avec une capture CLASSE LECTUREENLIGNE - POUR LES SITES DE SCANTRAD OU ... par tiger222

Commentaires et avis

Commentaire de alex1025 le 16/11/2007 15:46:32

Si on s'amuse à faire quelques rotations, on voit très rapidement une très forte perte de qualité de l'image.

Commentaire de mac97000 le 25/11/2009 14:24:51

Bonjour,

désolé de réveiller cette fonction d'outre tombe, mais mon ami google m'y a conduit après une recherche.

A chaque rafraichissement de la page, la fonction ajoute l'angle indiqué ...

Dans mon cas j'essaye d'appliquer un watermark à une photo.

Donc en plein milieu de la photo je colle un gros "vendu" en rouge vif selon un angle de 45°.

Sauf qu'à chaque rafraichissement de la page la fonction fait un +45, +45, +45 ... etc ...

Savez vous si il est possible de tester si la rotation a déjà eu lieu.

test de rotation :
   Si oui je ne tourne pas plus ou je tourne de 0
   si non j'applique l'angle indiqué

Merci pour vos idées de modification.

Commentaire de zut69 le 25/11/2009 16:57:01

Salut, en effet ca remonte cette source!
Malheureusement avec cette méthode, l'image est modifiée et la fonction ne laisse pas de trace de son passage.
Le seul moyen est donc d'enregistrer le fait que l'image ait deja été pivotée à un autre endroit. Si tu possèdes une base de données, tu peux simplement enregistrer le nom de ta photo dans une table ce qui signifierait qu elle ait deja été pivoter et apres tester si le nom de ton fichier se trouve dans ta base de données.
Si tu ne possèdes pas de base de données, il y a toujours la possibilité d'enregistrer les informations dans un fichier texte a part.
Bonne soirée,
FF

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

générer des miniatures avec gd 1.6 [ par vegetaline ] muhaha alors là c'est rigolo, un super défi pour les programmeurs fous!ok j'ai le code pour générer des miniatures grâce au php, mais ça marche qu'ave texte sur image... librairie GD ? [ par ozitoun ] Bonjour bonjour,voili voilou, je cherche à mettre une texte sur une image (jpeg).j'ai essayé les imagestring, imagechar... mais à chaque fois les exem Couper le bas d'une image (GD PHP) [ par dezeque ] bonjour,j'aimerai savoir comment faire pour couper le bas d'une image ?elle fais 600X800 et j'aimerai enlver les 50 dernirers pixels du bas pour quell Problème d'affichage avec la libraire GD [ par CMOIPOPO ] Salut &#224; tous,Je souhaite dessiner tout b&#234;tement un rectangle en php (je travaille en local)&nbsp;&#224; l'aide de la libraire GD. Pour cela, Librairie GD, Besoin d'aide !!! [ par Astalavista ] &nbsp;&nbsp;&nbsp; Bon, je post ca, car je n'arrive pas a trouver ... :( Je cherche un moyen de fair un Stretch sur une image, C'est a dir de deformer Rotation d'image [ par braunt ] Bonjour, Est il possible d'afficher une image en la faisant pivoter par rapport à son orientation d'origine, et ceux sans modifier le fichier .jpg M Librairie GD [ par Stephan45120 ] J'orai besoin de superposer 2 images. La première en arrière plan et l'autre en calque par dessus(transparente à certain endroit). Ce que je veux arri [BLOB->GD] Redimensionner un "flux image binaire"... [ par arnal69130 ] Bonjour &#224; tous,Je cherche &#224; faire une page pour afficher la carte d'identit&#233; d'un "agent", pour simplifier disons juste son nom et sa p Image GD et php ! prob d'affichage [ par riecola ] Bonjour tout le monde. Voil&#224; mon probl&#232;me : mon utilisateur selectionne une image et un texte au choix dans un formulaire ensuite une page s Recolorisation d'une image avec la lib. GD [ par fanfouer ] Bonjour, Je cherche a faire un petit script &#224; l'aide de la librairie GD pour changer les couleurs d'une image que je lui passe &#224; l'aide d'un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales