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 :

[Images] Modification de l'affichage d'une image à la volée


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut [Images] Modification de l'affichage d'une image à la volée
    Je voudrais que si une image dépasse une certaine largeur, elle soit redimensionnée homothétiquement (à l'affichage uniquement) à une largeur prédéfinie.

    Exemple, la largeur maximale est de 600px, mon image fait 800x300px, elle devra donc faire <img src="" width="600" height="225" />
    Une idée comment m'y prendre ?

    Si vous vous posez la question, c'est parce que je ne gère pas moi même les images.

  2. #2
    Membre averti Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Points : 348
    Points
    348
    Par défaut
    salut

    si tu utilises la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $size = getimagesize($chemin.$Image);
    tu vas obtenir les valeur en x et y de ton image

    du coup en fonction de ta taille maximale d'affichage , il suffit de faire le ratio et de mettre ces valeurs dans les width et les height de l'affichage de l'image

    quelquechose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ratio = 600;
    if ( $size[0] >= $ratio ) {
    $x = $ratio;
    $y = round ( ( $size[1] * ( $ratio / $size[0] ) );
    }
     
    echo '<img src="$chemin.$Image" width=".$x." height=".y.">';
    ce qui donnerait pour une image de 1000 en x et de 400 en y
    600 en x et 240 en y

  3. #3
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Merci de ta réponse il me manquait juste cette ligne :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $y = round ( ( $size[1] * ( $ratio / $size[0] ) );

    Je teste de suite

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/04/2015, 13h10
  2. Une image en session ou comment renvoyer une image sur une page
    Par a tunar with no tune dans le forum Spring
    Réponses: 1
    Dernier message: 26/01/2012, 09h02
  3. Réponses: 3
    Dernier message: 18/11/2011, 10h19
  4. Modification hauteur et largeur d'une image suite à un double-click sur une autre image
    Par LorenzoIlMagnifico dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/11/2009, 16h10
  5. Réponses: 4
    Dernier message: 18/10/2008, 05h54

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