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 :

[GD] agrandir une photo selon ses dimensions


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut [GD] agrandir une photo selon ses dimensions
    Bonsoir,

    Quand on upload une photo dans mon script d'upload, deux images sont créées :
    la première est la miniature et la deuxième est celle qui va être affichée quand on clique sur cette miniature pour l'agrandir.

    Le problème est que la qualité des grandes images n'est pas bonnes, j'ai besoin d'aide pour savoir comment calculer le facteur d'agrandissement sachant que les images ne devront pas dépasser 480 de largeur et 360 de hauteur.

    mon code est le suivant :
    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
    		//hauteur et largeur de l'image 
    		$size = getimagesize($image);//$image chemain de l'image 
    		$width = $size[0];
    		$height = $size[1];
     
     
    		$max_width = 480;
    		$max_height = 360;	
     
                    // si l'image est trop large ou trop haute
    		 if( $width < 200 && $height  < 100 )
    		 {
    			$max_width = $width * 2;
    			$max_height = $height * 2;
    		 }
    		 else
    		 {
     
    			if( $width > $height ) 
    			{
    				// image plus large que haute
    				$max_height = ( ($height * $max_width)/ $width );	
    				$max_width = $max_width;
     
    			}
    			elseif( $height > $width ) 
    			{
    				// image plus haute que large
    				$max_height = $max_height;
    				$max_width = ( ($width *$max_height) / $height );
     
    			}
    			else
    			{
     
    				 $max_width = ( ($width *$max_height) / $height );
    				 $max_height = ( ($height * $max_width)/ $width );
    			}
     
    		}
     
    		if( $max_width > 480 )
    		{
    			$max_width = 480;
    		}
     
    		if( $max_height > 360 )
    		{
    			$max_height = 360;
    		}

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    A mon avis il serait mieux de mettre l'image dans le lien du zoom, et mettre un redimensionnement miniaturisé dans l'image mini. Car il est plus facile de reduire une image que de l'agrandir pour ne pas perdre de qualité...

    Le fait d'agrandir une image de faible résolution ne fera qu'empirer les choses...

    A moins que tu n'upload seulement que des images de grosses resolution...

Discussions similaires

  1. Binariser une image selon ses canaux RGB
    Par zorino-liger dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 06/04/2012, 16h29
  2. Macro ImageJ pour binariser une photo selon ses canaux RGB
    Par zorino-liger dans le forum ImageJ
    Réponses: 1
    Dernier message: 05/04/2012, 10h53
  3. Réponses: 8
    Dernier message: 01/04/2010, 23h27
  4. Réponses: 1
    Dernier message: 16/02/2010, 20h41
  5. [VC++2005] Agrandir une "Form" ET ses composants
    Par laatysha dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 08/03/2007, 13h58

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