Redimensionnement images
Résolu
griko
Messages postés
343
Date d'inscription
Statut
Membre
Dernière intervention
-
griko Messages postés 343 Date d'inscription Statut Membre Dernière intervention -
griko Messages postés 343 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
y aurait-il un moyen de redimensionné une image
quand elle est au format paysage, que la hauteur soit réduite à 65px
quand elle est au format portrait, que la largeur soit réduite à 65px
Qui peut m'aider ??
y aurait-il un moyen de redimensionné une image
quand elle est au format paysage, que la hauteur soit réduite à 65px
quand elle est au format portrait, que la largeur soit réduite à 65px
Qui peut m'aider ??
A voir également:
- Redimensionnement images
- Des images - Guide
- Extraire images pdf - Guide
- Images enregistrées - Forum Bureautique
- Recherche images - Guide
- 4 images 1 mot niveau 10 chaperon rouge ✓ - Forum Jeux vidéo
7 réponses
Essaye avec ça :
<?php $image_ressource = 'image.png'; $size = getimagesize($image_ressource); $largeur = $size[0]; $hauteur = $size[1]; if($largeur > $hauteur) { // Format paysage $n_largeur = 65; $qu = ceil($largeur/$n_largeur); $n_hauteur = ceil($hauteur/$qu); header("Content-type: image/png"); $image = imagecreatefrompng($image_ressource); $miniature = imagecreatetruecolor($n_largeur,$n_hauteur); imagecopyresampled($miniature, $image, 0, 0, 0, 0, $n_largeur, $n_hauteur, $largeur, $hauteur); imagepng($miniature); } else { // Format portrait $n_hauteur = 65; $qu = ceil($hauteur/$n_hauteur); $n_largeur = ceil($largeur/$qu); header("Content-type: image/jpeg"); $image = imagecreatefromjpeg($image_ressource); $miniature = imagecreatetruecolor($n_largeur,$n_hauteur); imagecopyresampled($miniature, $image, 0, 0, 0, 0, $n_largeur, $n_hauteur, $largeur, $hauteur); imagepng($miniature); } ?>
<img src="tonimage.png" alt="Texte alternatif ; !obligatoir!" style="max-width:65px;max-height:65px;" />
Utilise la bibliothèque GD.
Tu trouveras toutes les fonctions nécessaires ici.
Pour savoir si elle est au format paysage ou en portrait, récupère la largeur et la hauteur puis fait une conditions "si la largeur est plus grande que la hauteur" « if($largeur > $hauteur) ».
Tu trouveras toutes les fonctions nécessaires ici.
Pour savoir si elle est au format paysage ou en portrait, récupère la largeur et la hauteur puis fait une conditions "si la largeur est plus grande que la hauteur" « if($largeur > $hauteur) ».
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok donc en gros il faudrait
<?php $source = imagecreatefromjpeg("couchersoleil.jpg"); // La photo est la source // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur_source = imagesx($source); $hauteur_source = imagesy($source); if($largeur_source > $hauteur_source) { $destination = imagecreatetruecolor(65, 65); // On crée la miniature vide }else{ $destination = imagecreatetruecolor(65, 65); // On crée la miniature vide } // MAIS j'y pense, il faudrait, je ne sais pas si c'est possible qu'il redimensionne si hauteur> largeur, largeur=65 et si largeur > hauteur, hauteur=65 et l'autre coté se redimensionne automatiquement mais il l'image final est 65x65 (mais pas écrasé!!) (Je ne sais pas si je suis très claire !) // On redimensionne et après on récupère 65x65 pour voir ce que l'on veux $largeur_destination = imagesx($destination); $hauteur_destination = imagesy($destination); // On crée la miniature imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source); // On enregistre la miniature sous le nom "mini_couchersoleil.jpg" imagejpeg($destination, 'mini_couchersoleil.jpg'); ?>
Sa fonctionne mais se que je veux c'est :
si la largeur > hauteur, alors hauteur = 65
si la hauteur > largeur , alors largeur = 65
j'ai échangé ton code si qui donne
Mais je n'ai pas de résultat, juste l'adresse url de la page actuelle
Donc comment faire pour que ça fonctionne ?
si la largeur > hauteur, alors hauteur = 65
si la hauteur > largeur , alors largeur = 65
j'ai échangé ton code si qui donne
$image_ressource = ''.$dossier . $nom_changer . $fichier2.''; $size = getimagesize($image_ressource); $largeur = $size[0]; $hauteur = $size[1]; if($largeur > $hauteur) { // Format paysage $n_hauteur = 65; $qu = ceil($hauteur/$n_hauteur); $n_largeur = ceil($largeur/$qu); header("Content-type: image/png"); $image = imagecreatefromjpeg($image_ressource); $miniature = imagecreatetruecolor($n_largeur,$n_hauteur); imagecopyresampled($miniature, $image, 0, 0, 0, 0, $n_largeur, $n_hauteur, $largeur, $hauteur); imagepng($miniature); } else { // Format portrait $n_largeur = 65; $qu = ceil($largeur/$n_largeur); $n_hauteur = ceil($hauteur/$qu); header("Content-type: image/jpeg"); $image = imagecreatefrompng($image_ressource); $miniature = imagecreatetruecolor($n_largeur,$n_hauteur); imagecopyresampled($miniature, $image, 0, 0, 0, 0, $n_largeur, $n_hauteur, $largeur, $hauteur); imagepng($miniature); }
Mais je n'ai pas de résultat, juste l'adresse url de la page actuelle
Donc comment faire pour que ça fonctionne ?