par
Smeloh » 23 juil. 2012, 17:15
Bonjour,
Petit soucis sur un script de redimension d'image. Je l'ai parcouru dans tous les sens, je pense être proche de la solution, mais je sèche vraiment là ...
Pour résumer, il me permet d'uploader des images dans ma galerie (une initiale, une moyenne et une miniature). L'image est donc déclinée 3 fois.
Dans cette galerie j'upload des images portraits et paysages (h>l et l>h).
Mon pb c'est qu'une rotation se fait pour les images portrait. Et j'aimerais que cette rotation ne s'opère pas.
Je pense que ça situe là où je calcule le ration entre la taille initiale et la miniature, mais je ne suis pas sûr.
Code : Tout sélectionner
<?php
if (!empty($_POST['InsererNews']))
{
$ListeExtension = array('jpg' => 'image/jpeg', 'jpeg'=>'image/jpeg');
$ListeExtensionIE = array('jpg' => 'image/pjpeg', 'jpeg'=>'image/pjpeg');
if (!empty($_POST['TitreNews']) && (!empty($_FILES['ImageNews'])))
{
$TitreNews = $_POST['TitreNews'];
$ContenuNews = $_POST['ContenuNews'];
if ($_FILES['ImageNews']['error'] <= 0)
{
if ($_FILES['ImageNews']['size'] <= 2097152)
{
$ImageNews = $_FILES['ImageNews']['name'];
$ExtensionPresumee = explode('.', $ImageNews);
$ExtensionPresumee = strtolower($ExtensionPresumee[count($ExtensionPresumee)-1]);
if ($ExtensionPresumee == 'jpg' || $ExtensionPresumee == 'jpeg')
{
$ImageNews = getimagesize($_FILES['ImageNews']['tmp_name']);
if($ImageNews['mime'] == $ListeExtension[$ExtensionPresumee] || $ImageNews['mime'] == $ListeExtensionIE[$ExtensionPresumee])
{
$ImageChoisie = imagecreatefromjpeg($_FILES['ImageNews']['tmp_name']);
$TailleImageChoisie = getimagesize($_FILES['ImageNews']['tmp_name']);
$NouvelleLargeur = 180; //Largeur choisie à 350 px mais modifiable
$reduc = $NouvelleLargeur / $TailleImageChoisie[0];
$NouvelleHauteur = ( ($TailleImageChoisie[1] * $reduc ));
$NouvelleImage = imagecreatetruecolor($NouvelleLargeur , $NouvelleHauteur) or die ("Erreur");
$NouvelleLargeur2 = 400; //Largeur choisie à 350 px mais modifiable
$NouvelleHauteur2 = ( ($TailleImageChoisie[1] * (($NouvelleLargeur2)/$TailleImageChoisie[0])) );
$NouvelleImage2 = imagecreatetruecolor($NouvelleLargeur2 , $NouvelleHauteur2) or die ("Erreur");
imagecopyresampled($NouvelleImage2 , $ImageChoisie , 0,0, 0,0, $NouvelleLargeur2, $NouvelleHauteur2, $TailleImageChoisie[0],$TailleImageChoisie[1]);
imagecopyresampled($NouvelleImage , $ImageChoisie , 0,0, 0,0, $NouvelleLargeur, $NouvelleHauteur, $TailleImageChoisie[0],$TailleImageChoisie[1]);
$NomImageChoisie = explode('.', $ImageNews);
$NomImageExploitable = time();
//Enregistrement de l'image initiale :
imagejpeg($NouvelleImage2 , '../images/'.$NomImageExploitable.'FullImage.'.$ExtensionPresumee, 100);
$LienImageFull = 'images/'.$NomImageExploitable.'FullImage.'.$ExtensionPresumee;
imagejpeg($NouvelleImage , '../images/'.$NomImageExploitable.'.'.$ExtensionPresumee, 100);
$LienImageNews = 'images/'.$NomImageExploitable.'.'.$ExtensionPresumee;
$req = $bdd->query('INSERT INTO galerie VALUES ("", "'.$TitreNews.'", "'.$LienImageNews.'", "'.$LienImageFull.'")') or die(mysql_error());
if ($req)
{
echo '<div class="message2">La news a bien été insérée<br /><br /><a href="upload.php">Retourner à la page précédente</a></div>';
}
}
else
{
echo 'Le type MIME de l\'image n\'est pas bon';
}
}
else
{
echo 'L\'extension choisie pour l\'image est incorrecte';
}
}
else
{
echo 'L\'image est trop lourde';
}
}
else
{
echo 'Erreur lors de l\'upload image';
}
}
else
{
echo 'Au moins un des champs est vide';
}
}
?>
Merci

Bonjour,
Petit soucis sur un script de redimension d'image. Je l'ai parcouru dans tous les sens, je pense être proche de la solution, mais je sèche vraiment là ...
Pour résumer, il me permet d'uploader des images dans ma galerie (une initiale, une moyenne et une miniature). L'image est donc déclinée 3 fois.
Dans cette galerie j'upload des images portraits et paysages (h>l et l>h).
Mon pb c'est qu'une rotation se fait pour les images portrait. Et j'aimerais que cette rotation ne s'opère pas.
Je pense que ça situe là où je calcule le ration entre la taille initiale et la miniature, mais je ne suis pas sûr.
[code]<?php
if (!empty($_POST['InsererNews']))
{
$ListeExtension = array('jpg' => 'image/jpeg', 'jpeg'=>'image/jpeg');
$ListeExtensionIE = array('jpg' => 'image/pjpeg', 'jpeg'=>'image/pjpeg');
if (!empty($_POST['TitreNews']) && (!empty($_FILES['ImageNews'])))
{
$TitreNews = $_POST['TitreNews'];
$ContenuNews = $_POST['ContenuNews'];
if ($_FILES['ImageNews']['error'] <= 0)
{
if ($_FILES['ImageNews']['size'] <= 2097152)
{
$ImageNews = $_FILES['ImageNews']['name'];
$ExtensionPresumee = explode('.', $ImageNews);
$ExtensionPresumee = strtolower($ExtensionPresumee[count($ExtensionPresumee)-1]);
if ($ExtensionPresumee == 'jpg' || $ExtensionPresumee == 'jpeg')
{
$ImageNews = getimagesize($_FILES['ImageNews']['tmp_name']);
if($ImageNews['mime'] == $ListeExtension[$ExtensionPresumee] || $ImageNews['mime'] == $ListeExtensionIE[$ExtensionPresumee])
{
$ImageChoisie = imagecreatefromjpeg($_FILES['ImageNews']['tmp_name']);
$TailleImageChoisie = getimagesize($_FILES['ImageNews']['tmp_name']);
$NouvelleLargeur = 180; //Largeur choisie à 350 px mais modifiable
$reduc = $NouvelleLargeur / $TailleImageChoisie[0];
$NouvelleHauteur = ( ($TailleImageChoisie[1] * $reduc ));
$NouvelleImage = imagecreatetruecolor($NouvelleLargeur , $NouvelleHauteur) or die ("Erreur");
$NouvelleLargeur2 = 400; //Largeur choisie à 350 px mais modifiable
$NouvelleHauteur2 = ( ($TailleImageChoisie[1] * (($NouvelleLargeur2)/$TailleImageChoisie[0])) );
$NouvelleImage2 = imagecreatetruecolor($NouvelleLargeur2 , $NouvelleHauteur2) or die ("Erreur");
imagecopyresampled($NouvelleImage2 , $ImageChoisie , 0,0, 0,0, $NouvelleLargeur2, $NouvelleHauteur2, $TailleImageChoisie[0],$TailleImageChoisie[1]);
imagecopyresampled($NouvelleImage , $ImageChoisie , 0,0, 0,0, $NouvelleLargeur, $NouvelleHauteur, $TailleImageChoisie[0],$TailleImageChoisie[1]);
$NomImageChoisie = explode('.', $ImageNews);
$NomImageExploitable = time();
//Enregistrement de l'image initiale :
imagejpeg($NouvelleImage2 , '../images/'.$NomImageExploitable.'FullImage.'.$ExtensionPresumee, 100);
$LienImageFull = 'images/'.$NomImageExploitable.'FullImage.'.$ExtensionPresumee;
imagejpeg($NouvelleImage , '../images/'.$NomImageExploitable.'.'.$ExtensionPresumee, 100);
$LienImageNews = 'images/'.$NomImageExploitable.'.'.$ExtensionPresumee;
$req = $bdd->query('INSERT INTO galerie VALUES ("", "'.$TitreNews.'", "'.$LienImageNews.'", "'.$LienImageFull.'")') or die(mysql_error());
if ($req)
{
echo '<div class="message2">La news a bien été insérée<br /><br /><a href="upload.php">Retourner à la page précédente</a></div>';
}
}
else
{
echo 'Le type MIME de l\'image n\'est pas bon';
}
}
else
{
echo 'L\'extension choisie pour l\'image est incorrecte';
}
}
else
{
echo 'L\'image est trop lourde';
}
}
else
{
echo 'Erreur lors de l\'upload image';
}
}
else
{
echo 'Au moins un des champs est vide';
}
}
?>
[/code]
Merci ;)