Redimensionner image
Résolu
Helloween77
Messages postés
93
Date d'inscription
Statut
Membre
Dernière intervention
-
ReDLoG -
ReDLoG -
Bonjour,
J'ai eu besoin de mettre au point une fonction qui redimensionne l'image si la largeur ou la hauteur est trop grande.... Fonction qui marche puisque je l'ai testé sur des images contenus dans un dossier. Le problème est que les images affichés sur le site où je travaille proviennent d'un site hébergeur d'images, donc je voulais savoir s'il y avait quand même un moyen de les redimensionner à l'affichage?
Voilà comment je fais appel à ma fonction, la variable $image faisant donc référence à l'adresse où est stockée l'image :
<img <?php fctaffichimage($image,50,60) ?> align="left" alt="" />
Là ça n'affiche plus rien, je me dis que c'est peut-être parce que $image est une url, mais je ne sais pas comment faire autrement...
Je ne sais pas si quelqu'un pourra m'aider, mais je tente et remercie d'avance ceux qui me répondront :)
J'ai eu besoin de mettre au point une fonction qui redimensionne l'image si la largeur ou la hauteur est trop grande.... Fonction qui marche puisque je l'ai testé sur des images contenus dans un dossier. Le problème est que les images affichés sur le site où je travaille proviennent d'un site hébergeur d'images, donc je voulais savoir s'il y avait quand même un moyen de les redimensionner à l'affichage?
Voilà comment je fais appel à ma fonction, la variable $image faisant donc référence à l'adresse où est stockée l'image :
<img <?php fctaffichimage($image,50,60) ?> align="left" alt="" />
Là ça n'affiche plus rien, je me dis que c'est peut-être parce que $image est une url, mais je ne sais pas comment faire autrement...
Je ne sais pas si quelqu'un pourra m'aider, mais je tente et remercie d'avance ceux qui me répondront :)
A voir également:
- Redimensionner image
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
- Légender une image - Guide
- Image gratuite - Guide
3 réponses
Bonjour,
Sans avoir le contenu de la fonction fctaffichimage() il va être difficile de te dépanner, en attendant, corrige ta balise <img> de cette manière :
P.S. : Je suppose que ta fonction renvoie un résultat en faisant appel à echo, sinon ça n'affichera rien si c'est un return...
Sans avoir le contenu de la fonction fctaffichimage() il va être difficile de te dépanner, en attendant, corrige ta balise <img> de cette manière :
<img src="<?php fctaffichimage($image,50,60); ?>" align="left" alt="" />
P.S. : Je suppose que ta fonction renvoie un résultat en faisant appel à echo, sinon ça n'affichera rien si c'est un return...
Bonjour,
En effet je fais un echo. Voilà la fonction (qui comme je le disais marche impec avec une image situé dans un dossier) :
function fctaffichimage($img_src, $W_max, $H_max) {
if(file_exists($img_src)) {
//lit les dimensions de l'image source
$img_size=GetImageSize($img_src);
$W_src=$img_size[0]; //largeur source
$H_src=$img_size[1]; //hauteur source
if(!$W_max) { $W_max=0; }
if(!$H_max) { $H_max=0; }
//teste les dimensions tenant dans la zone
$W_test=round($W_src * ($H_max / $H_src));
$H_test=round($H_src * ($W_max / $W_src));
//si l'image est plus petite que la zone
if($W_src<$W_max && $H_src<$H_max) {
$W=$W_src;
$W=$W_src;
//sinon si $W_max et $H_max non definis
} else if($W_max==0 && $H_max==0) {
$W=$W_src;
$H=$H_src;
//sinon si $W_max libre
} else if($W_max==0) {
$W=$W_test;
$H=$H_max;
//sinon si $H_max libre
} else if($H_max==0) {
$W=$W_max;
$H=$H_test;
//sinon les dimensions qui tiennent dans la zone
} else if($H_test > $H_max) {
$W=$W_test;
$H=$H_max;
} else {
$W=$W_max;
$H=$H_test;
}
} else { //si le fichier image n'existe pas
$W=0;
$H=0;
}
//Affiche les dimensions optimales
echo ' src="'.$img_src.'" width="'.$W.'" height="'.$H.'" ';
}
En effet je fais un echo. Voilà la fonction (qui comme je le disais marche impec avec une image situé dans un dossier) :
function fctaffichimage($img_src, $W_max, $H_max) {
if(file_exists($img_src)) {
//lit les dimensions de l'image source
$img_size=GetImageSize($img_src);
$W_src=$img_size[0]; //largeur source
$H_src=$img_size[1]; //hauteur source
if(!$W_max) { $W_max=0; }
if(!$H_max) { $H_max=0; }
//teste les dimensions tenant dans la zone
$W_test=round($W_src * ($H_max / $H_src));
$H_test=round($H_src * ($W_max / $W_src));
//si l'image est plus petite que la zone
if($W_src<$W_max && $H_src<$H_max) {
$W=$W_src;
$W=$W_src;
//sinon si $W_max et $H_max non definis
} else if($W_max==0 && $H_max==0) {
$W=$W_src;
$H=$H_src;
//sinon si $W_max libre
} else if($W_max==0) {
$W=$W_test;
$H=$H_max;
//sinon si $H_max libre
} else if($H_max==0) {
$W=$W_max;
$H=$H_test;
//sinon les dimensions qui tiennent dans la zone
} else if($H_test > $H_max) {
$W=$W_test;
$H=$H_max;
} else {
$W=$W_max;
$H=$H_test;
}
} else { //si le fichier image n'existe pas
$W=0;
$H=0;
}
//Affiche les dimensions optimales
echo ' src="'.$img_src.'" width="'.$W.'" height="'.$H.'" ';
}
Merci de m'avoir dit d'où vient le souci =)
Mais donc peut-on contourner le problème ou sera t il impossible d'obtenir le redimensionnement? (J'ai essayé d'enlever le file_exists() pour voir mais ça n'a rien changé d'ailleurs)
Mais donc peut-on contourner le problème ou sera t il impossible d'obtenir le redimensionnement? (J'ai essayé d'enlever le file_exists() pour voir mais ça n'a rien changé d'ailleurs)
Bonsoir,
Sans contourner le safe mode je me disais qu'il y avait peut-être une astuce pour arriver à ce que je cherche... Le mec pour qui je fais le site, m'a dit que bientôt il aimerait héberger les images sur son propre serveur, pensez vous que ça pourrait changer quelque chose?
Sinon merci encore de m'avoir expliqué =)
Sans contourner le safe mode je me disais qu'il y avait peut-être une astuce pour arriver à ce que je cherche... Le mec pour qui je fais le site, m'a dit que bientôt il aimerait héberger les images sur son propre serveur, pensez vous que ça pourrait changer quelque chose?
Sinon merci encore de m'avoir expliqué =)