Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

Empécher les images trop larges/hautes

Poster un nouveau sujet Imprimer cette discussion    Forum -> Administration d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
Julia41
WRInaute impliqué
WRInaute impliqué

Inscrit le: 31 Aoû 2007
Messages: 429
Localisation: Oléron

URL permanente de ce messagePosté le : Sam Mai 10, 2008 20:52    Sujet du message: Empécher les images trop larges/hautes

Voilà, j'ai un petit site qui permet de poster des messages/textes/présentation en BBCode (ce n'est pas un forum mais c'est le même principe)...

Le problème est que certaines personnes postent des images trop larges. Il y aurait-il une fonction simple en html/php pour empêcher ses images d'être affichée, ou alors les redimensionner... J'avais pensé à un système en gd, mais cela va faire beaucoup de codage pour pas forcément grand chose... Donc si quelqu'un a une méthode simple...

Edit OTP : titre en vrac ! Wink
 
Julia41 Visiter le site web du posteur
Ron56
WRInaute passionné
WRInaute passionné

Inscrit le: 20 Nov 2005
Messages: 671

URL permanente de ce messagePosté le : Sam Mai 10, 2008 21:33    Sujet du message: Empécher les images trop larges/hautes

Voila un petit script qui redimensionne une photo en gardant les proportion selon une largeur et une longueur maxi :

Code:

function vignette($img, $img_dest, $width, $height) {
    $size = GetImageSize($img);
    $src_w = $size[0];
    $src_h = $size[1];

    if ($width != 0 | $height != 0) {
        if ($src_w > $width | $src_h > $height) {
            if ($src_w > $src_h && $width != 0) {
                //On retrecit la largeur
                $height = ceil(($src_h / $src_w) * $width);
            } elseif($src_h > $src_w && $height != 0) {
                //On retrecit la hauteur
                $width = ceil(($src_w / $src_h) * $height);
            }
        } else {
            $width = $src_w;
            $height = $src_h;
        }
    } else {
        $width = $src_w;
        $height = $src_h;
    }

    $ext = explode(".", $img);
    $ext= $ext[count($ext) -1];

    $dst_im = ImageCreateTrueColor($width,$height);
    $trans_color = imagecolorallocate($dst_im, 255, 0, 0);
    if (!$dst_im) { return 0; }

          if ($ext == 'jpg' or $ext == 'jpeg' or $ext == 'JPG' or $ext == 'JPEG') {
              $src_im = ImageCreateFromJpeg($img);
          } elseif ($ext == 'gif') {
              $src_im = imagecolortransparent($dst_im, $trans_color);
              $src_im = ImageCreateFromGif($img);
          } elseif ($ext == 'png') {
              $src_im = ImageCreateFromPng($img);
          } else { return 0; }

          if (!$src_im) { return 0; }
          ImageCopyResampled($dst_im,$src_im,0,0,0,0,$width,$height,$src_w,$src_h);

          if ($ext == 'jpg' or $ext == 'jpeg' or $ext == 'JPG' or $ext == 'JPEG') {
              ImageJpeg($dst_im,$img_dest);
          } elseif ($ext == 'gif') {
              ImageGif($dst_im,$img_dest);
          } elseif ($ext == 'png') {
              ImagePng($dst_im,$img_dest);
          } else { return 0; }

          ImageDestroy($dst_im);
          return 1;
}


Ron
 
Ron56 Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Administration d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort