Accueil > > > SNIPPET : REDIMENSIONNER UN IMAGE SANS UTILISER LA BIBLIO GD
SNIPPET : REDIMENSIONNER UN IMAGE SANS UTILISER LA BIBLIO GD
Information sur la source
Description
Ce snippet permet de récupérer une paire width / height pour une image donnée en fonction des dimensions maxi de la zone d'affichage. En gros, si je veux afficher une image qui fait 192x147 dans une boite qui fait 145x145, le code me renvois les bonnes valeurs à afficher dans les attributs de l'image. Ex: list($image_width,$image_height) = image_shrink('documents/' . $galleries_documents_content['documents_nom'],193, 147); echo '<img src="documents/' . $galleries_documents_content['documents_nom'] . '" width="' . $image_width . '" height="' . $image_height . '"/>';'
Source
- //Génère une paire d'attribus image_width / image_height en fonction des dimmensions max fournies
- //$image_name : chemin complet vers l'image relatif à la position actuelle du script ex: 'documents/ordi.jpg'
- //$max_width : largeur maxi de l'image
- //$max_height : hauteur maxi de l'image
-
- function image_shrink($image_name,$max_width,$max_height)
- {
- $image_info = getimagesize($image_name); // on récupère les info de l'image en cours
- $image_width = $image_info[0]; // la largeur actuelle
- $image_height = $image_info[1]; // la hauteur actuelle
- $image_ratio_width = ($max_width / $image_width); // ratio horizontal
- $image_ratio_height = ($max_height / $image_height); // ration vertical
-
- if(($image_ratio_width < 1) OR ($image_ratio_height < 1)) // si l'un des ration est < 1; il faut redimensionner
- {
- $image_ratio = (($image_ratio_width > $image_ratio_height)?$image_ratio_height:$image_ratio_width); // on s'appuis sur le plus petit ratio
- $image_width = ($image_width * $image_ratio); // on applique le ration sur la largeur
- $image_height = ($image_height * $image_ratio); // on applique le ratio sur la hauteur
- }
-
- return(array($image_width,$image_height)); // retour à l'envoyeur
-
- }
//Génère une paire d'attribus image_width / image_height en fonction des dimmensions max fournies
//$image_name : chemin complet vers l'image relatif à la position actuelle du script ex: 'documents/ordi.jpg'
//$max_width : largeur maxi de l'image
//$max_height : hauteur maxi de l'image
function image_shrink($image_name,$max_width,$max_height)
{
$image_info = getimagesize($image_name); // on récupère les info de l'image en cours
$image_width = $image_info[0]; // la largeur actuelle
$image_height = $image_info[1]; // la hauteur actuelle
$image_ratio_width = ($max_width / $image_width); // ratio horizontal
$image_ratio_height = ($max_height / $image_height); // ration vertical
if(($image_ratio_width < 1) OR ($image_ratio_height < 1)) // si l'un des ration est < 1; il faut redimensionner
{
$image_ratio = (($image_ratio_width > $image_ratio_height)?$image_ratio_height:$image_ratio_width); // on s'appuis sur le plus petit ratio
$image_width = ($image_width * $image_ratio); // on applique le ration sur la largeur
$image_height = ($image_height * $image_ratio); // on applique le ratio sur la hauteur
}
return(array($image_width,$image_height)); // retour à l'envoyeur
}
Conclusion
Comme ça, l'image reste proportionnée et ne déforme pas le cadre de destination.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Problème avec createimagefromjpeg et thumnails [ par j_claude05 ]
Salut à tous je viens à vous après de longues heures la tête dans le code et à vrai dire à l'heure ou j'ecris je vois pl
GD : Affichages IE et firefox ? [ par alonsyl ]
bonjour,afin de generer des miniatures a la volee sur mon site web j'ai cree la petite fonction suivante :function creerMiniature($dossier, $img) {
probleme avec imagecopyresized [ par ldevun ]
Bonjour,Je souhaite redimmensionner une image et l'enregistrer dans un répertoire. Après lecture des messages sur ce sujet sur le forum j'ai fait le c
opacité, redimensionnement, noir et blanc et arrondi [ par paguira ]
je cherche à amméliorer le script suivant:les valeurs :original = source du fichier (gif,jpg ou png)weight = largeur de l'imageheight = hauteur de l'i
redimension d'une image [ par clement1138 ]
voila j'ai ecris ce code..... pour redimensionner mes images...mais est ce que je peux le faire a la taille que je veux au lieu d'utiliser un pourceta
enregistrement d'image apres redimensionnement [ par clement1138 ]
voila bon j'ai un code qui me permet de redimensionner des images puis de les enregistrer dans un dossier.....toutes les images s'appelle image suivi
Problème redimension image [ par psyckan ]
Bonjour,Voila j'essaie de redimensionner une image au moment de l'upload mais ça marche pas et ça m'affiche plein des caractère spéciaux à l'endroit o
faire une bouclze sur un fichier contenant des photo et les redimmensionner [ par hannao ]
salut à tous, voilà j'ai un petit code qui redimensionne une photo (contenu dans un dossier) à la fois j'aimerais pouvoir faire une boucle dans le fic
fonction pour redimensionner des images de grande taille [ par oceanrider ]
Bonjour à tous, Je me tourne vers vous car malgré mes recherches, je ne trouve pas de solution à mon problème. J'ai recours à une fonction pour redi
erreur de synthaxe près de '-1' à la ligne 1 [ par fredoann ]
Bonjourj'ai une erreur qui s'affiche lorsque je lance ma page "erreur de synthaxe près de '-1' à la ligne 1"d'où sort ce -1 quelqu'un a-t-il une idée
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|