IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[ImageMagick] Redimensionnement d'image


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut [ImageMagick] Redimensionnement d'image
    bonjour a tous,
    j'utilise une fonction de redimensionement d'image et j'ai un petit prob avec, elle a un marché une fois et elle ne marche plus. ai-je fais une fausse manip?

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    // Requete affichant l'image selectionne
    $query = "SELECT * FROM spip_documents WHERE id_document=$idoc";
    $result = spip_query($query);
     
    //Si la dimension a ete changee
    if (isset($_GET['dimensions'])){
     
    	//Recuperation des dimensions
    	$dimensions= $_GET['dimensions'];
     
     
    	while ($image = spip_fetch_array($result)) {	
    		$fichier = $image["fichier"];
    		$largeur = $image["largeur"];
    		$hauteur = $image["hauteur"];
     
    		//Recuperation des nouvelles dimensions
    		if ($dimensions==1) {
    			$newlargeur=$largeur;
    			$newhauteur=$hauteur;
    		} 
      		else if ($dimensions==2) {
    			$newlargeur=$largeur/2;
    			$newhauteur=$hauteur/2;
    		} 
    		else if ($dimensions==3) {
    			$newlargeur=$largeur/4;
    			$newhauteur=$hauteur/4;
    		} 
    		else if($dimensions==4) {
    			$newlargeur=$largeur/8;
    			$newhauteur=$hauteur/8;
    		}
    		else {
    			exit("erreur");
    		} 
     
     
    		echo $newlargeur;
    		echo $newhauteur;
    		echo $largeur;
    		echo $hauteur;
    		$fichier="../$fichier";
    		echo $fichier;
    	}
    	$function_image_create = "ImageCreateFromJpeg";
    	$function_image_new = "ImageJpeg";
     
    	$thumb = ImageCreateTrueColor($newlargeur,$newhauteur);
    	$source = @$function_image_create($fichier);
     
    	ImageCopyResampled($thumb, $source, 0, 0, 0, 0, $newlargeur, $newhauteur, $largeur, $hauteur);
     
    	@$function_image_new($thumb,$fichier);
    merci d'avance

  2. #2
    Membre éprouvé Avatar de ciesco
    Inscrit en
    Février 2004
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 110
    Par défaut
    Avec ce script il faut que tu n'utilises que des jpg peut etre l'as tu essaye avec des gif, png?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut
    oui sur

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut
    j'ai modifié, ça marche mieux mais de temps en temps l'image ne veut pas se redimensionné, ai-je une erreur?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    //Si la dimension a ete changee
    if (isset($_GET['dimensions'])){
     
    	//Recuperation des dimensions
    	$dimensions= $_GET['dimensions'];
     
     
    	while ($image = spip_fetch_array($result)) {	
     
    		$fichier = $image["fichier"]; //Nom du fichier
    		$largeur = $image["largeur"]; //Largeur du fichier
    		$hauteur = $image["hauteur"]; //Hauteur du fichier
     
    		//En fonction de la dimension choisie par l'utilisateur,
    		//les nouvelles dimensions sont calculees
    		if ($dimensions==1) {
    			$newlargeur=$largeur;
    			$newhauteur=$hauteur;
    		} 
      		else if ($dimensions==2) {
    			$newlargeur=$largeur/2;
    			$newhauteur=$hauteur/2;
    		} 
    		else if ($dimensions==3) {
    			$newlargeur=$largeur/4;
    			$newhauteur=$hauteur/4;
    		} 
    		else if($dimensions==4) {
    			$newlargeur=$largeur/8;
    			$newhauteur=$hauteur/8;
    		}
    		else if($dimensions==5) {
    			if ($largeur==1024) {
    				$newlargeur=$largeur/1.28;
    				$newhauteur=$hauteur/1.28;
    			}
    			else if ($largeur==1280) {
    				$newlargeur=$largeur/1.25;
    				$newhauteur=$hauteur/1.25;
     
    			}
    			else {
    				$newlargeur=$largeur/1.28;
    				$newhauteur=$hauteur/1.28;
    			}
    		}
    		else {
    			exit("erreur");
    		}
     
    		//Verification que les dimensions ne descendent pas en dessous de 1
    		if ($newlargeur<5)
    		{
    			$newlargeur=5;
    		}
    		else if ($newhauteur<5)
    		{
    			$newhauteur=5;
    		}
     
    		$fichier="../$fichier";//Correction du lien du fichier
     
    	}
     
    	//Recuperation de l'extension du fichier
    	$Ext = strtolower(substr($fichier, strrpos($fichier, '.')));
     
    	switch($Ext){
          case ".jpg":
          	$function_image_create = "ImageCreateFromJpeg";
          	$function_image_new = "ImageJpeg";
          break;
     
          case ".png":
          	$function_image_create = "ImageCreateFromPng";
          	$function_image_new = "ImagePNG";
          break;
     
          case ".gif":
          	$function_image_create = "ImageCreateFromGif";
          	$function_image_new = "ImageGif";
          break;
         }
     
     
    	//Creation d'une image vide
    	$thumb = ImageCreateTrueColor($newlargeur,$newhauteur);
     
    	//Creation d'une image contenant l'image du fichier
    	$source = @$function_image_create($fichier);
     
       //Suppression de l'ancienne image
       @unlink($fichier);  
     
       //Redimensionennement de l'image et application sur l'image vide 	            
    	$redim=ImageCopyResampled($thumb, $source, 0, 0, 0, 0, $newlargeur, $newhauteur, $largeur, $hauteur);
     
       //Si le redimensionnement a marché
     
    		//Affichage de l'image
    		@$function_image_new($thumb,$fichier);
     
    		//Recuperation de la taille de la nouvelle image
    		$taille=filesize($fichier);
     
    		//Modification dans la BD de la largeur, hauteur et largeur
    		$query = "UPDATE spip_documents 
    				 SET largeur=$newlargeur, hauteur=$newhauteur, taille=$taille 
    				 WHERE id_document=$idoc";
    		$result = spip_query($query);

  5. #5
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    c'est pas jsute un petit problème de cache ?

  6. #6
    Membre éclairé Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Par défaut
    Quelcu'un peut m'éclairer sur ces spip qui trainent de partout à la place des mysql et qui semblent ne choquer personne ?

  7. #7
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Citation Envoyé par hisy
    Quelcu'un peut m'éclairer sur ces spip qui trainent de partout à la place des mysql et qui semblent ne choquer personne ?
    pourquoi mysql ???
    example
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function spip_query($query) {
       switch (MOTEUR_SQL) {
          case 'mysql':
             return mysql_query($query);
             break;
          case 'mssql':
             return mssql_query($query);
             break;
          case 'truc':
             return truc_query($query);
             break;
    ...

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut
    pour le probleme du cache, peut etre en effet, dans ce cas la comment le régler?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut
    en effet lorsque j'ajoute une image et que j'attend pour la redimensionner elle se redimensionne dans les fichiers et pas dans mon navigateur, c'est donc bien un probleme de cache.

    Y-a-til un moyen de le régleR?

  10. #10
    Membre chevronné Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Par défaut
    ... vider le cache...
    sinon fais des recherches sur le forum, y pas lontemps y a eu un post sur les problemes liés au cache d'IE je crois (maintenant je saurais pas te dire s'il a été resolu ou pas...)

  11. #11
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    dans ta page au niveau des meta, tu rajoute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Par défaut
    Vous savez ou se trouve le HEAD pour mettre les meta dans spip?

Discussions similaires

  1. [ImageMagick] Redimensionner une image à l'upload
    Par dembroski dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 14/07/2007, 16h23
  2. [ImageMagick] Redimensionner une image
    Par jiojioforever dans le forum Bibliothèques et frameworks
    Réponses: 26
    Dernier message: 05/02/2007, 13h07
  3. [ImageMagick] Redimensionnement d'image
    Par DocCoinCoin dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 21/12/2006, 15h47
  4. [ImageMagick] Redimensionner une image avant de l'enregistrer
    Par julien.63 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 03/05/2006, 21h01
  5. [ImageMagick] Redimensionnement d'images : certaines passent, d'autres pas !
    Par p0Kep0K dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 09/02/2006, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo