begin process at 2012 05 27 18:20:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > REDUCTION D'UNE IMAGE À L'ÉCRAN PAR RAPPORT À UNE TAILLE MAXI

REDUCTION D'UNE IMAGE À L'ÉCRAN PAR RAPPORT À UNE TAILLE MAXI


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Classé sous :image, redimensionner, photo, proportionnel, album Niveau :Débutant Date de création :11/09/2007 Vu :9 139

Auteur : MagicManu

Ecrire un message privé
Site perso
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Renvoi une chaine contenant le lien et les dimensions d'une image en fonction de valeurs maximales et en gardant les proportions.
Si l'image n'existe pas elle est remplacée par une image de substitution (facultatif).

Pratique pour que des photos rentrent toujours dans un cadre sans le déformer et sans déformer l'image.

Source

  • <?PHP
  • function TailleImage($LienImage, $LargeurMax, $HauteurMax, $ImageRemplacement=''){
  • // Renvoi une chaine contenant le lien et les dimensions d'une image
  • // en fonction de valeurs maximales et en gardant les proportions.
  • // Si l'image n'existe pas elle est remplacée par $ImageRemplacement (facultatif)
  • // Exemple :
  • // $Image=TailleImage("Image.jpg", 300, 200, "Logo.jpg");
  • // echo "<Img $Image>";
  • $Size = @getimagesize($LienImage);
  • if (!empty($Size[0]) and !empty($Size[1])){
  • $RapportImage = $Size[1] / $Size[0];
  • $RapportZone = $HauteurMax / $LargeurMax;
  • if ($RapportImage < $RapportZone){
  • $Largeur = $LargeurMax;
  • $Hauteur = round($LargeurMax * $RapportImage);
  • }
  • else{
  • $Hauteur = $HauteurMax;
  • $Largeur = round($HauteurMax / $RapportImage);
  • }
  • $Chaine= (!empty($Largeur) and !empty($Hauteur)) ? 'Src="'.$LienImage.'" Width="'.$Largeur.'" Height="'.$Hauteur.'"' : 'Src="'.$LienImage.'" Width="'.$LargeurMax.'" Height="'.$HauteurMax.'"';
  • }
  • else
  • $Chaine='Src="'.$ImageRemplacement.'" Width="'.$LargeurMax.'" Height="'.$HauteurMax.'"';
  • return $Chaine;
  • }
  • // Exemple :
  • $Image = TailleImage("Image.jpg", 300, 200, "Logo.jpg");
  • echo "<Img ".$Image.">";
  • ?>
<?PHP
function TailleImage($LienImage, $LargeurMax, $HauteurMax, $ImageRemplacement=''){
// Renvoi une chaine contenant le lien et les dimensions d'une image
// en fonction de valeurs maximales et en gardant les proportions.
// Si l'image n'existe pas elle est remplacée par $ImageRemplacement (facultatif)
// Exemple :
//    $Image=TailleImage("Image.jpg", 300, 200, "Logo.jpg");
//    echo "<Img $Image>";

  $Size = @getimagesize($LienImage);
  if (!empty($Size[0]) and !empty($Size[1])){
    $RapportImage = $Size[1] / $Size[0];
    $RapportZone  = $HauteurMax / $LargeurMax;

    if ($RapportImage < $RapportZone){
      $Largeur = $LargeurMax;
      $Hauteur = round($LargeurMax * $RapportImage);
    }
    else{
      $Hauteur = $HauteurMax;
      $Largeur = round($HauteurMax / $RapportImage);
    }

    $Chaine= (!empty($Largeur) and !empty($Hauteur)) ? 'Src="'.$LienImage.'" Width="'.$Largeur.'" Height="'.$Hauteur.'"' : 'Src="'.$LienImage.'" Width="'.$LargeurMax.'" Height="'.$HauteurMax.'"';
  }
  else
    $Chaine='Src="'.$ImageRemplacement.'" Width="'.$LargeurMax.'" Height="'.$HauteurMax.'"';

  return $Chaine;
}



// Exemple : 
$Image = TailleImage("Image.jpg", 300, 200, "Logo.jpg");
echo "<Img ".$Image.">";
?>



 Sources du même auteur

CALCUL D'UNE TRAITE (ÉCHÉANCE)

 Sources de la même categorie

Source avec Zip Source avec une capture CAMEMBERT BD par dardelphi
Source avec une capture AMÉLIORATION : CAMEMBERT par asphator
GESTION DE COULEUR par manuche
Source avec Zip NAVIGATOR (+CSSDETECTOR) par xXVoxPopuliXx
COMMENT, AVEC GD, DESSINER UN RECTANGLE TRANSPARENT PLEIN AV... par Rainbow

 Sources en rapport avec celle ci

SNIPPET : REDIMENSIONNER UN IMAGE SANS UTILISER LA BIBLIO GD par masternico
Source avec Zip FONCTION PHP POUR REDIMENSIONNER UNE IMAGE ET UPLOADER DANS ... par GstJasmin
Source avec Zip Source avec une capture AJOUTER DES EFFETS DE PERSPECTIVE ET DES EFFETS DE REFLET SU... par zulrigh
Source avec Zip Source avec une capture ALBUM PHOTOS PERSO par Nico52
Source avec Zip Source avec une capture REDIMENSIONNER UNE IMAGE par Bahanix

Commentaires et avis

Commentaire de coucou747 le 12/09/2007 06:37:35 administrateur CS

ton image ne sera pas reduite en poids... juste en taille...
tu devrais mettre des options genre reduire par defaut en X, par exes en Y, garder la proportionalite, en faisant des masques binaires

Commentaire de MagicManu le 12/09/2007 08:54:59

C'est pas le but de réduire en poids, c'est marqué "à l'écran" dans le titre.

Le but : j'ai une cellule de mon tableau de 200x150 et je veux que toutes mes images passent dedans, qu'elles soient en portrait ou paysage.

Commentaire de coucou747 le 12/09/2007 21:10:29 administrateur CS

pour la taille ok, mais pour les options, penses-y, ca peut-etre tres pratique

Commentaire de MagicManu le 13/09/2007 08:35:44

En fait je ne vois pas trop ce que tu veux dire car si tu veux juste réduire en largeur et que tu te fout de la hauteur, il suffit de mettre QUE la propriété WIDTH, pas besoin de fonction.
Et si tu ne veux pas de propostionnalité, il suffit alors de mettre WIDTH et HEIGHT en dur.

Commentaire de coucou747 le 13/09/2007 21:00:55 administrateur CS

et si tu veux une hauteur fixee mais une largeur variable ?
et si tu veux que ton image fasse MINIMUM $X en width et Maximum $Y en height, tout en gardant la proportionalite, si on ne peut pas respecter les trois contraintes, alors on pourra negliger l'une des trois, au choix (choix reserve a l'utilisateur...)

Commentaire de stay le 14/11/2007 13:50:32

Il serait plus utile si le poids est réduit

Commentaire de bluestorm62 le 21/01/2008 21:01:12 10/10

C'est exactement ce que je cherchais!

Pouvoir afficher une image dans un tableau sans déformer quoique ce soit...

Merci ;)

Commentaire de lynxtyle le 14/04/2008 04:31:29 10/10

Je sais pas ce qu'ils ont à vouloir réduire le poids de l'image chargé...  J'ai toujours pas compris pourquoi ils adorent surcharger le serveur à calculer une miniature vu les bandes passantes des connexions actuelles (et techniquement il est plus intéressant si tu veux produire une miniature de le faire une bonne fois pour toute quand tu upload ton image sur le serveur et non à chaque fois que tu la download depuis le serveur...)

Bon passons au code :
très sympa petit morceau de code... pour la part je l'ai un peu modifier pour qu'il redimentionne dynamiquement en fonction de la taille total de la fenetre (si par exemple tu passe en plein écran ou que tu réduit la taille de l'écran), j'ai aussi mis l'image de substitution en automatique (ça me parait plus logique que de dire à chaque fois si il y a une erreur mettre le logo d'erreur...^^ par contre j'ai fait un système on/off pour celui-ci : si tu met rien ou "on" tu as le logo d'erreur si il y a un souci, sinon pour "off" il mettra rien...)

Je crois que c'est un peu près tout... donc je met 10/10 car ton code fait bien ce qu'il dit (mais peut être améliorable comme tu le vois^^)

Commentaire de MagicManu le 14/04/2008 09:04:46

Merci pour ton commentaire et pour avoir compris le but de cette fonction ;)

Comme je travaille en largeur fixe quelque soit l'écran je n'ai pas eu ce besoin mais bien sûr il peut être adapté à chacun ;)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

redimensionner une photo lrs de l'upload [ par boubeuch1 ] Bonjour, Je souhaiterais faire en sorte que quelque soit la taille de l'image d'origine, lorsqu'elle est téléchargé sur le serveur, celle-ci est redi galerie photo [ par SalahDN25 ] Salut tous le monde,je voudrais réaliser une galerie photos dans une page qui contien une table à deux colonnes: ma vision est de faire defiler vertic Album photo [ par maitehiriart ] Je cherche un script PHP simple d'album photo, qui scanne le r&#233;pertoire &#224; la recherche des photos, &#233;tablit une page avec vignettes cr&# Afficher une image correspondante [ par Prototype51 ] Bonjour à tous, Voilà bientôt 2 jours que je me casse la tête sur ce problème : Comment afficher une image au passage de la souris dans un tableau. J problème avec opendir et readdir [ par boubeuch1 ] je fais la partie administrateur d'un site, je souhaite faire en sorte d'accéder à différents album photo contenu dans un dossier: <?php $dossierphoto Warning: move_uploaded_file(../photo_galerie/$album/henne.jpg) [function.move-uploaded-file]: failed to open stream [ par boubeuch1 ] bonjour, je fais la partie admin d'un site: je souhaite téléchargé une image dans un album: case "upload" : $image=$_FILES["image"]["name"]; if($ima Suppression d'un fichier dans un dossier en php [ par boubeuch1 ] J'ai plusieurs albums photo. Je souhaite les gérer en supprimant ou en ajoutant des photos mais ça ne marche pas. Pour la suppression, il n'y a aucun Integré une image via variable [ par BlAzAk ] Alors voila je cherche a créer une page "profil" consultable par d'autre utilisateur. l'adresse ce presente sous: http://www.monsite.fr/profil.php?pse Upload de fichier php [ par paulito47 ] Je réalise un script php qui génère un formulaire qui permet la collecte des informations nécessaires pour l'ajout d'une photo (titre, description) et parcourir image php, enregistrer chemin dans SQL et la placer dans des dossiers différents du FTP [ par vive_belmondo ] Bonjour, Je suis en train de développer un site pour un architecte comportant des chantiers. Je souhaite pour la mise à jour du site faire un formula


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales