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

Langage PHP Discussion :

coins arrondi avec php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut coins arrondi avec php
    Bonsoir, j'ai une question concernant la génération d'image.
    Je me demande si c'est possible de créer des coins arrondi avec php ?
    Lors de la génération d'une miniature (une galerie par exemple), je trouve très sympathique d'avoir une image arrondie.
    Je suis très fainéant et j'aime savoir que PHP peux m'aider à devenir encore plus fainéant .
    Cette tâche parfois fastidieuse de faire de belle miniature serai vraiment un petit luxe d'avoir de joli coin arrondi.
    Une idée sur la question (lib peut être phpthumb , ou en dur , etc ...) .
    Merci d'éclairer ma lanterne.

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    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 494
    Par défaut
    Il te faut 4 images de coin en PNG avec transparence
    Code php : 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
     
    function roundedimage($source, $destination) {
      // Retrieve image informations
      $info = getimagesize($source);
     
      // Load image from file
      switch ($info['mime']) {
        case 'image/jpeg' :
          $image = imagecreatefromjpeg($source);
          break;
        case 'image/png' :
          $image = imagecreatefrompng($source);
          break;
        case 'image/gif' :
          $image = imagecreatefromgif($source);
          break;
        default:
          return FALSE;
      }
     
      // Set the alphablending to on
      imagealphablending($image, true);
     
      // Get the size of the image
      $image_w = imagesx($image);
      $image_h = imagesy($image);
     
      // Overlay left top corner
      $crnimage_nw = imagecreatefrompng("crn_nw.png");
      $crnimage_nw_w = imagesx($crnimage_nw);
      $crnimage_nw_h = imagesy($crnimage_nw);
     
      imagecopy($image, $crnimage_nw, 0, 0, 0, 0,
         $crnimage_nw_w, $crnimage_nw_h);
     
      // Overlay right top corner
      $crnimage_ne = imagecreatefrompng("crn_ne.png");
      $crnimage_ne_w = imagesx($crnimage_ne);
      $crnimage_ne_h = imagesy($crnimage_ne);
     
      imagecopy($image, $crnimage_ne, $image_w - $crnimage_ne_w,
         0, 0, 0, $crnimage_ne_w, $crnimage_ne_h);
     
      // Overlay left bottom corner
      $crnimage_sw = imagecreatefrompng("crn_sw.png");
      $crnimage_sw_w = imagesx($crnimage_sw);
      $crnimage_sw_h = imagesy($crnimage_sw);
     
      imagecopy($image, $crnimage_sw, 0, $image_h - $crnimage_sw_h,
         0, 0, $crnimage_sw_w, $crnimage_sw_h);
     
      // Overlay right bottom corner
      $crnimage_se = imagecreatefrompng("crn_se.png");
      $crnimage_se_w = imagesx($crnimage_se);
      $crnimage_se_h = imagesy($crnimage_se);
     
      imagecopy($image, $crnimage_se, $image_w - $crnimage_se_w,
         $image_h - $crnimage_se_h, 0, 0, $crnimage_se_w,
         $crnimage_se_h);
     
      // Output to the original format
      switch ($info['mime']) {
        case 'image/jpeg' :
          // Quality is set to 100%, maybe you can pass it via a param
          imagejpeg($image, $destination, 100);
          break;
        case 'image/png' :
          imagepng($image, $destination);
          break;
        case 'image/gif' :
          imagegif($image, $destination);
          break;
      }
     
      // Cleanup
      imagedestroy($image);
      imagedestroy($crnimage_nw);
      imagedestroy($crnimage_ne); 
      imagedestroy($crnimage_sw);
      imagedestroy($crnimage_se); 
    }

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    Mais une question étant donnée que les images uploader sont toutes différentes comment faire pour avoir les 4 coins correspondant à l'image ?

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    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 494
    Par défaut
    Un coin est un coin peut importe la taille

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    Ce code génère les 4 coins (désolé j'avais pas fais attention).
    Je suppose ensuite qu'il ne reste plus qu a assembler les 4 coins avec l'image pour un effet d'arrondi.
    En gros d'abord créer la miniature avec php, puis effectuer la création des 4 coins.
    Et pour terminer assembler tous sa , mais elle il possible d'assembler le tout avec php pour faire une véritable image avec arrondi
    J'ai bien sur pensé qu'il faut avoir un fond blanc pour que l'effet sois visible.
    Bref faut un bon truc

  6. #6
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    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 494
    Par défaut
    Tu n'as pas regardé la fonction de près.
    Avec un PNG tu as les transparences donc pas besoin de fond blanc et tu as ton image tout de suite avec cette fonction ;-)

Discussions similaires

  1. div coin arrondi décomposer avec IE7 ?
    Par fiston dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 20/05/2007, 17h43
  2. Coins arrondis avec border-radius
    Par mullger dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 13/12/2006, 22h28
  3. Faire des coins arrondi avec un DIV
    Par dessinateurttuyen dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 02/08/2006, 10h33
  4. Image avec coins arrondis
    Par cjacquel dans le forum MFC
    Réponses: 6
    Dernier message: 08/05/2006, 22h20

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