Designed by Maunakea !
125 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche

 NewsLetter





   

Redimensionner une image en PHP (1/5)

Génération de vignettes 'à la volée'





Didier
De nombreuses fonctions de manipulation des images sont disponibles en PHP... Nous allons nous intéresser ici au redimensionnement et à la création "à la volée" d'images réduites. J'en ai eu besoin dans le cadre du développement d'une galerie d'Art et j'ai dû chercher ailleurs les infos, alors... :)


GetImageSize() - ImageCreate() - Optimisation - Application - Jouer avec la palette



Changer la taille d'une image

Pour changer la taille d'affichage d'une image en HTML, il suffit d'utiliser les options WIDTH et HEIGHT de la balise IMG :

<IMG SRC="monimage.jpg" WIDTH=100 HEIGHT=50>

et pour redimensionner l'image en gardant les proportions de départ, il suffit de ne préciser qu'un seul des deux paramètres, votre navigateur se chargeant de calculer le deuxième.

Oui mais alors comment faire pour déterminer les dimensions à utiliser pour que l'image tienne au mieux dans une zone de XX sur YY ? HTML ne suffit plus... Aurélien vous a donné précédemment la solution en Javascript et en ASP, voyons donc la solution en PHP :



<?
function redimage($img_src,$dst_w,$dst_h) {
   // Lit les dimensions de l'image
   $size = GetImageSize($img_src);  
   $src_w = $size[0]; $src_h = $size[1];
   // Teste les dimensions tenant dans la zone
   $test_h = round(($dst_w / $src_w) * $src_h);
   $test_w = round(($dst_h / $src_h) * $src_w);
   // Si Height final non précisé (0)
   if(!$dst_h) $dst_h = $test_h;
   // Sinon si Width final non précisé (0)
   elseif(!$dst_w) $dst_w = $test_w;
   // Sinon teste quel redimensionnement tient dans la zone
   elseif($test_h>$dst_h) $dst_w = $test_w;
   else $dst_h = $test_h;

   // Affiche les dimensions optimales
   echo "WIDTH=".$dst_w." HEIGHT=".$dst_h;
}
?>


<IMG SRC="monimage.jpg" <?redimage("monimage.jpg",XX,YY)?>>

Pour plus d'infos sur la fonction GetImageSize() :
http://www.php.net/manual/fr/function.getimagesize.php


Pour pouvoir écrire dans ce forum, identifiez-vous !

 Lire  09/09/08 16:51 de nebilou
merci
  • 09/09/08 16:58 de DB77 <§img=http://www.asp-php.net/espace/aurelie...
  • 09/09/08 17:05 de nebilou ho pardon ! merci
  • 09/09/08 17:20 de DB77 C'est à jreaux62 que tu veux dire merci, do...
  •  Lire  09/09/08 12:28 de nebilou
    bonjour , je debute en PHP et je souhaiterai etre aid...
  • 09/09/08 13:04 de jreaux62 Tout nouveau, tout frais : http://ww...
  • 09/09/08 13:12 de jreaux62 Et pour comprendre le fonctionnement ...
  •  Lire  25/06/08 17:08 de jboy
    Bonjour, Votre script marche très bien. J'ai par co...
  • 28/06/08 00:29 de jreaux62 Essaye avec le chemin long vers le do...
  • 28/06/08 16:12 de Didier Server.MapPath() c'est en ASP !!! en PHP...
  • 29/06/08 11:02 de jreaux62 Mea Maxima Culpa ! Je me suis emme...
  • 29/06/08 11:17 de jboy j'ai essayé avec un realpath mais ca ne fon...
  •  Lire  29/06/04 04:18 de iubito
    Didier, voici un algo de redimensionnement plus simpl...
      v1.3p © ASP-PHP.net 2002  

    Didier le 14/03/2005 (288 506 hits)
    Didier Téléchargez 1200 Partitions Gratuites !!!
    Au fil des news  
    SharePoint - Lister les templates utilisés - Identifier les définitions utilisées par vos sites
    Un site SharePoint est créé à partir d'un modèle ou définition de site. Mais comment savoir après ...
    PowerShell - Profile avec la participation de mon ami Tigrou :)
    Adobe - Lancement de la CS4, tous à vos agendas !
    [MAJ] PHP - Fonctions de redimensionnement d'images - BD : redimensionner image + picto après upload
    Ajout de FONCTIONS de redimensionnement.
    PHP - Tchat PHP V2.1 sans base de donnée
    SharePoint et les statistiques d'utilisation - Comment obtenir des statistiques depuis SharePoint
    La mise en place de ferme SharePoint doit s'accompagner d'une notion de gouvernance. Cette notion ...
    Adobe - Nouvelles annonces Adobe sur le salon IBC 2008
    PHP - PHP TV emission 2 (septembre 2008)
    PHP - PDO ADMIN
    [MAJ] Inscription contrôlée à une NewsLetter ou Service - Abonnement avec confirmation et désabonnement
    Correction d'un point-virgule manquant (merci de m'avoir obligé à chercher JPierre) dans le module ...
    PHP - Premier lundi d'une semaine et d'une année
    JavaScript - Premier lundi d'une semaine et d'une année
    ASP - Premier lundi d'une semaine et d'une année
    Alphabet Radio et Code Morse - Alpha Zulu appelle Tango Charlie !
    Encoder-Décoder en "Alphabet Radio" ... "Alpha Zulu appelle Tango Charlie !" ou en Code Morse ... ...
    Filtrer les modèles de site SharePoint - Filtrer l'affichage des modèles de site SharePoint
    Je vous propose de découvrir à l'aide de cet article quels mécanismes peuvent vous permettent de ...
    ASP/PHP - Méthode de cryptage - par table de correspondance
    (ASP/PHP) Une méthode de cryptage de données par l'utilisation d'une "table de correspondance ...
    PHP - Listes liées (1 table) - version2
    JavaScript - Rendre Visible ou Invisible des éléments d'un form
    PHP - Listes liées (1 table) - version1
    JavaScript - Intercepter le click sur vidéo WMP ou flash SWF
    [MAJ] Une base de données sans base de données - Comment travailler avec des fichiers texte ?
    Modification du paramétrage du dossier à scanner dans le popup qui permet de sélectionner l'image.
    Jeux de l'été (et de 5) - Un jeu de Motus (mots de 8 lettres)
    C'est reparti pour un tour... Comme je venais de proposer un jeu de Mastermind, je me suis dit que, ...
    PowerShell - Extraire toutes les collections SharePoint en CSV
    PowerShell - Lister les collections pour une WebApp SharePoint
    PowerShell - Lister les utilisateurs d'un site SharePoint
    PowerShell - Connaître le code version de votre SharePoint
    Connaître la version de SharePoint installée - Comment savoir la version de SharePoint en cours
    Dans le cadre de la maintenance de plusieurs fermes SharePoint, il est indispensable de connaître ...
    PowerShell - Travailler avec une base de données SQL Server
    .NET - Visual Studio 2008 sur Facebook : çà rock's
    PowerShell - Ajouter des liens sur deux niveaux dans SharePoint
    Un petit annuaire perso avec photo - en PHP et MySQL
    Avoir des copains et des amis c'est bien que dis-je c'est même vital pour le bien être de chacun. ...
    Une base de données sans base de données - Comment travailler avec des fichiers texte ?
    Suite à une question sur le forum (les habitués me connaissent), je propose une mini-gestion de ...
    ASP/PHP : Affichage de données en tableau html - Afficher des données (BD, Array) dans un tableau
    Création d'un tableau "à la volée" pour afficher ses données. Affichage "en ligne" ou "en ...
    PowerShell - Ajouter une liste dans un site SharePoint
    Annuaire d'entreprise en PHP - Très pratique pour ne plus rien perdre
    Mon petit annuaire d'entreprise, je m'en sers tous les jours alors autant vous en faire profiter. ...
    PHP-MySQL : Formulaire - pour le script 'Bon anniversaire' de DB77
    Formulaire et script d'enregistrement pour le script « Bon anniversaire » de DB77 en PHP/MySQL ...
    .NET - Introducing Microsoft Silverlight 2.0, 2nd Edition
    PHP5 - Upload de fichiers - Classe PHP
    PHP - PHP 5 /MYSQL® 5
    PHP - Calcul de la surface d'un polygone
    Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
    Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
      Scripts : Scripting | ASP-PHP | ASP.net | Divers
      Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
    v3 © Didier 2003   
     

    Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
     Codes Sources Wygwam ASP-magazine El Roubio DotNet Project TechNet Groupes Utilisateurs Microsoft CodePPC MVP The Inquirer FR