begin process at 2010 02 09 20:39:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > REDIMENSIONNER UNE IMAGE

REDIMENSIONNER UNE IMAGE


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Classé sous :image, redimensionner, proportionnel, répertoire, trie Niveau :Débutant Date de création :02/08/2004 Date de mise à jour :02/06/2006 20:09:31 Vu / téléchargé :9 924 / 421

Auteur : Bahanix

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

 Description

Cliquez pour voir la capture en taille normale
Ce script vous permet de trouver de manière automatique les valeurs width et height d'une balise <img> de manière proportionnelle de tout un répertoire trié, avec une taille maximale à ne pas dépasser et un ajustement par hspace et vspace.

Source

  • <?php
  • // Nom de l'image.
  • $source="photo.jpg";
  • // Taille à ne pas dépasser, ici 200 pixels.
  • $taillemax=200;
  • // On récupère les dimension initiales de l'image.
  • $img = getimagesize($source);
  • $x=$img[0];
  • $y=$img[1];
  • // Le script.
  • if ($x > $y)
  • {
  • $y=$y*(($taillemax)/$x);
  • $x=$taillemax;
  • }
  • if ($y > $x)
  • {
  • $x=$x*(($taillemax)/$y);
  • $y=$taillemax;
  • }
  • if ($y == $x)
  • {
  • $x=$taillemax;
  • $y=$taillemax;
  • }
  • // On peut afficher l'image.
  • echo "<img src=\"$source\" width=\"$x\" height=\"$y\" />";
  • ?>
<?php
// Nom de l'image.
$source="photo.jpg";

// Taille à ne pas dépasser, ici 200 pixels.
$taillemax=200;

// On récupère les dimension initiales de l'image.
$img = getimagesize($source);
$x=$img[0];
$y=$img[1];

// Le script.
if ($x > $y)
{
  $y=$y*(($taillemax)/$x);
  $x=$taillemax;
}
if ($y > $x)
{
  $x=$x*(($taillemax)/$y);
  $y=$taillemax;
}
if ($y == $x)
{
  $x=$taillemax;
  $y=$taillemax;
}

// On peut afficher l'image.
echo "<img src=\"$source\" width=\"$x\" height=\"$y\" />";
?>

 Conclusion

Vous pouvez ajouter une boucle while pour effectuer l'opération sur toutes les images d'un dossier par exemple.

J'ai réalisé ce script pour mon site http://rpgisland.free.fr , une galerie d'image, mais est réservé au haut débit (long à charger sinon).

On peut aussi créer de vraie miniature de cette façon avec les fonctions appropriées de PHP.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

03 août 2004 16:30:04 :
Un petit screen pour montrer l'exemple ;-)
05 août 2004 16:18:36 :
Correction de quelques petits défauts, notament pour la fonction getimagesize.
02 juin 2006 20:09:31 :
Ajout de la boucle et de l'ajustement par hspace et vspace

 Sources de la même categorie

Source avec Zip RECHERCHE DE MOTIF DANS UNE IMAGE par ParseError
BARRES PARAMÉTRABLES EN DÉGRADÉ DE COULEUR ET AVEC TEXTE DA... par hornetbzz
Source avec Zip Source avec une capture GALERIE PHOTO SIMPLE À GÉRER par francky6691
Source avec Zip Source avec une capture DIAPORAMA AVEC AJOUT ET REDIMENSIONEMENT DE PHOTOS, CRÉATION... par giloum
Source avec Zip Source avec une capture AFFICHAGE INFOBULLE SUR GRAPHIQUE ARTICHOW par nirronico

 Sources en rapport avec celle ci

Source avec Zip REDIMENSIONNER UNE IMAGE PHP (GD VERSION 2 REQUISE) par CrazyShooter
REDIMENTION D'IMAGE, LIBRAIRIE GD par 17l7
REDUCTION D'UNE IMAGE À L'ÉCRAN PAR RAPPORT À UNE TAILLE MAX... par MagicManu
MODIFIER UNE IMAGE(REDIMENSIONNER) STOKER DANS LA BASE DE DO... par farzit
UNE IMAGE AU HASARD PARMI TOUTES LES IMAGES D'UN RÉPERTOIRES... par wizard512

Commentaires et avis

Commentaire de Bahanix le 02/08/2004 17:07:23

Le système de colorisation du site n'est pas au point, les guillemets précédés d'un antislash change la couleur...
Sinon n'hésitez pas tous les commentaires sont bon a prendre ^^.

Commentaire de GRenard le 03/08/2004 18:17:51

C'est plutot bizarre comme code ? J'en ai déjà fait un de la sorte et mmm msemble qu'il est bizarre !
Premièrement, c'est <?php et non <?PHP (cf. http://www.phpcs.com/code.aspx?ID=24870)
Deuxièmement, ce n'est pas un code Initié à mon avis mais plutot Débutant.
Et troisièmement, pourquoi je le trouve bizarre, c'est tes if qui me tracassent.
Moi, j'aurais vérifier si $x>$taillemax , j'aurais modifié le y en conséquence ainsi que le x... ENSUITE, si $y est encore plus grand que $taillemax, tu refais la même chose...

Si j'était toi, je ferais une belle fonction (en suivant les belles règles mentionnées dans le lien plus haut) qui permet de rentrer une image, et 2 dimensions max (x, y).
Ou sinon, simplement 4 arguments. (x,y,max_x,max_y)

Commentaire de AleXsItsMe le 04/08/2004 04:06:46

j'ai une erreur de type :
Fatal error: Call to undefined function: imagecreatefromjpeg() in E:\Serveur\LeSite\NBlog\envoi.php

Commentaire de Samiby le 04/08/2004 18:58:23

Ce ne serait pas plus simple d'utiliser getimagesize(); ?
à la place de :

$img = imagecreatefromjpeg($source);
$x=imagesx($img);
$y=imagesy($img);

on aurait:
$img = getimagesize($source);
$x=$img[0];
$y=$img[1];

Cela éviterait d'utiliser des ressources inutiles.

Commentaire de Bahanix le 05/08/2004 16:11:21

A je ne connaisseais pas cette fonction XD
Merci a toi Samiby ;-)

Pour Grenard :
Pour le "php" en minuscule je pensais qu'on pouvais mettre comme on veut merci du conseil,
mais pour ce qui est de ta version avec if $x>$taillemax etc. je ne suis pas trop d'accord :
ce script est créé pour occupé le plus de place possible, c'est a dire qu'il doit y avoir forcement au final $x=$taillemax ou/et $y=$taillemax, histoire d'avoir une galerie d'image bien structurée sans avoir des images de toute taille.

Avec ton systeme, si une image avais $x<$taillemax et $y<$taillemax, on aurais une image toute petite comparé au autre...

Pour la fonction c'est plus une histoire de gout qu'autre chose.

Commentaire de Bahanix le 26/09/2004 10:14:27

Vous avez un exemple d'utilisation de ce script sur ma page http://rpgisland.free.fr (une galerie d'image)

(Pub POWAA)

Commentaire de KheYrO le 12/01/2005 17:05:51

Yo ! Bhanix
je voudrais savoir quel sont les valeurs de exemple :

$img_type = GetImageSize($image);

Voilà quel type représente chaque numéro et combien il y en a.

++

Commentaire de GRenard le 12/01/2005 18:16:34

www.php.net/getimagesize
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");

Commentaire de webkiller51 le 10/11/2005 17:31:39

J'ai pas tester le code mais c'est tout à fait ce que je recherchais je testerai ca chez moi :)

Commentaire de dimi9454 le 12/03/2006 10:08:44

Parfait !! C'est le seul script qui marche !! (dans mon cas:^_^)

Mais je voudrais savoir comment on fait ?

Parceque pour les grandes images pas de problèmes mais pour les petites images.Elles sont carément pixélisés! Il n'y a pas un moyen pour les centrer ou ajouter un contour autour de sorte qu'on ne voie pas l'image complétement agrandie (et donc pixélisé) ?

Merci beaucoup d'avance

Commentaire de scara 51 le 25/04/2006 22:49:04

VOilà. Je trouve ce code pas mal. Une petite simplification :
Remplacer "
$img = getimagesize($source);
$x=$img[0];
$y=$img[1];
"

par :
"
list($x, $y, $type, $attr) = getimagesize($source);
"

Voili voilou

Commentaire de Neoninji le 02/06/2006 14:12:34

Super le code je l'ai intégré en 2 mn. Merci bcp

Commentaire de Bahanix le 27/04/2007 20:26:34

Pour ceux qui préfères des espaces plutot qu'agrandir l'image :

Remplacer a partir du if x = y :

if ($y == $x && $x > $taillemax)
{
  $x=$taillemax;
  $y=$taillemax;
}
if ($x < $taillemax)
{
$hs=round( ($taillemax - $x) / 2);
}
if ($y < $taillemax)
{
$vs=round( ($taillemax - $y) / 2);
}

// On peut afficher l'image.
echo '<img src="'.$source.'" width="'.$x.'" height="'.$y.'" hspace="'.hs.'" vspace="'.$vs.'" />';

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

redimensionner une image [ par scoder ] Bonjour, je suis webmaster d'un site consacré au jeu en ligne, et j'ai une rubrique qui recense d'autres équipes. Elles ont chacune une bannière mais redimensionner une image [ par kinooo ] Est ce que qq un pourrait m'expliquer comment faire pour redimensionner une image.et evantuellement comment afficher une image en taille reduite.merci Redimensionner une image en fonction de sa taille [ par Dexterage ] Bonjour, J'ai un petit probleme, d'ou ma venu ici :) Je cr&#233;e une gallerie d'image en php, donc la taille des images sont fixes, et losque je le Redimensionner des images lors de l'upload [ par Drazounet ] Hello &#224; tous, Je commence &#224; manipuler des images pour la premi&#232;re fois, et je trouve que c'est assez complexe... J'ai beaucoup cherch Redimensionner le background d'un <table> [ par chewbacca156 ] Hello !Je souhaiterais que l'image de fond de mon menu (généré dynamiquement) s'adapte à la longueur de ce dernier. Tout simplement car une image en d Redimensionner une image gif à l'aide de gdlib [ par el_bassir ] Bonjour,Ce que j vx c de pouvoir redimensionner des images gif &#224; l'aide de php et de la bibliotheque gd; EST CE QU'IL Y A QUELQU'UN QUI PEUT M'AI Uploader [ par ldevun ] Bonjour, Je souhaite faire une copie de fichier dans un répertoire distant. Mon probleme réside lorsque je veux mettre une condition si je choisi d al affichege d'image [ par lumikele ] Bonjour,je suis surement le plus débutant des débutant puisque jusqu'à 10 mn, je ne connaissais pas la php :-(J'ai fait plusieurs choses en html mais redimensionner une image à la taille de l'écran [ par jipe32 ] Bonjour à tous,j'ai uen image bg.jpg qui fait 2506x1920 et 1,77Moy'a t-il une silution pour la redimensionner exactement à la taille de l'écran de l'i Redimensionner une image entre deux balises [ par thecomputerman ] Bonjour,J'ai un petit soucis avec le redimensionnement d'images. Tout d'abord quand une image est insérée dans un texte c'est entre deux balises [img]


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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