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

  1. #1
    Débutant  
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2002
    Messages : 17
    Points : 14
    Points
    14
    Par défaut [ImageMagick] Redimensionnement d'image
    Bonsoir,

    J'ai un petit soucis sur le redimensionnement de mon image.

    J'envoi mon image par un formulaire mais quand je souhaite la redimenssioner il ne la retouche pas.

    Je ne sais pas trop ou ca bloque ...

    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
     
     
    $tmp = $_FILES['fichier']['tmp_name'];
     
    [...]
     
    $name = "[64x64] ".$nomart.' - '.$alb.'.jpg';
     
    [...]
     
     if (isset($tmp)) // Si on envoi l'image par un fichier 
     
            {
     
            $content_dir = './cdimg/'.$user.'/';
     
             if( !is_uploaded_file($tmp) )
        {
            exit("Le fichier est introuvable");
        }
     
        // on vérifie maintenant l'extension
        $type_file = $_FILES['fichier']['type'];
     
        if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') )
        {
            exit("Le fichier n'est pas une image");
        }
     
        // on copie le fichier dans le dossier de destination
        $name_file = $_FILES['fichier']['name'];
     
        if( !move_uploaded_file($tmp, $content_dir . $name_file) )
        {
           exit("Impossible de copier le fichier dans $content_dir");
        }
     
        $urlemt = $content_dir.$name_file;
     
         $size = getimagesize($urlemt);
         $thumb = imagecreatetruecolor(64, 64);
         $source = imagecreatefromjpeg(trim($content_dir.$name_file));
     
         imagecopyresampled  ($thumb,$source,0,0,0,0,64,64,$size[0],$size[1]);
     
         imagejpeg($thumb,$name);
     
     
            }
    Merci à vous

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Salut

    J'avais fais une fonction de redimensionnement si sa t'intéresse:

    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
     
    private function resize($taille_maximum,$source_img,$dest,$src_srv,$name,$w,$h)
       { // début de la fonction resize
          // on test la taille de l'image
          if($w <= $taille_maximum && $h <= $taille_maximum)
             {
             // si le fichier a déjà la bonne dimension ou est plus petit que la taille max on fait une simple copie
             copy($src_srv,$dest.$name);		
             }
             else
             {
             // défini le type de l'image
             //header ("Content-type: image/jpeg");
             // crée une image par rapport à l'image de base
             $source = imagecreatefromjpeg($src_srv);
             // si l'image est plus large que haute
             if($w >$h)
             {
                // on crée une image vide avec les dimensions de l'image de destination
                $destination = imagecreatetruecolor($taille_maximum,($taille_maximum/(imagesx($source))*imagesy($source)));
             }
             else
             {
                // on crée une image vide avec les dimensions de l'image de destination mais dans l'autre sens (plus haute que large)
               $destination = imagecreatetruecolor(($taille_maximum/((imagesy($source)))*imagesx($source)), $taille_maximum);
             }
                // redimesionne l'image par rapport à la nouvelle image
                imagecopyresized($destination, $source, 0, 0, 0, 0, imagesx($destination), imagesy($destination), imagesx($source), imagesy($source));
                // copie la nouvelle image dans le dossier normal
                imagejpeg($destination,$dest.$name);
             }
       }
    J'espère que sa pourra t'aider!

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, 17h23
  2. [ImageMagick] Redimensionner une image
    Par jiojioforever dans le forum Bibliothèques et frameworks
    Réponses: 26
    Dernier message: 05/02/2007, 14h07
  3. [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, 22h01
  4. [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, 15h08

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