Portrait et paysage

Résolu
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   -  
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   -
hello,

J'ai récupéré 2 bouts de code assemblés.
Il enregistre l'image ensuite la redimensionne.

<?php
if(isset($_FILES['image'])){
$errors= array();
$file_name = $_FILES['image']['name'];
$file_size = $_FILES['image']['size'];
$file_tmp = $_FILES['image']['tmp_name'];
$file_type = $_FILES['image']['type'];
$file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));

$expensions= array("jpeg","jpg","png");

if(in_array($file_ext,$expensions)=== false){
$errors[]="extension not allowed, please choose a JPEG or PNG file.";
}

if($file_size > 4097152) {
$errors[]='File size must be excately 2 MB';
}

if(empty($errors)==true) {
$heure=date("s");
$file_name=$heure.$file_name;


move_uploaded_file($file_tmp,"images/".$file_name);



echo "Image brut bien enregistrée<br/>";
//-------------------
$img="images/".$file_name;
$chemin ="redim/";
$nom=$file_name ;

$dimension=getimagesize($img);


$image = imagecreatefromjpeg($img);

$maxSize = 800;

$sourceWidth = imagesx($image);
$sourceHeight = imagesy($image);

echo 'largeur origine: '.$sourceWidth.'<br/>' ;
echo 'hauteur origine: '.$sourceHeight.'<br/>' ;



if($sourceWidth >= $sourceHeight) // paysage
{

$newWidth = $maxSize;
$newHeight = ($maxSize*$sourceHeight)/$sourceWidth;

}
else // portrait
{
$newWidth = ($maxSize*$sourceWidth)/$sourceHeight;
$newHeight = $maxSize;
}

$miniature = imagecreatetruecolor($newWidth, $newHeight);
$largeur_source = imagesx($image);
$hauteur_source = imagesy($image);
$largeur_destination = imagesx($miniature);
$hauteur_destination = imagesy($miniature);
imagecopyresampled($miniature,$image,0,0,0,0,$largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
imagejpeg($miniature,$chemin.$nom,90);

return true;
//------------------

}
else
{
print_r($errors);
}

}
?>


<html>
<body>

<form action = "" method = "POST" enctype = "multipart/form-data">
<input type = "file" name = "image" />
<input type = "submit"/>

<ul>
<li>Sent file: <?php echo $_FILES['image']['name']; ?>
<li>File size: <?php echo $_FILES['image']['size']; ?>
<li>File type: <?php echo $_FILES['image']['type'] ?>
</ul>

</form>

</body>


il fonctionne sur des images que je créer avec toshop, une image de largeur:800 hauteur:1600 garde bien les proportions au format portrait.
Maintenant, si je prend une photo de mon smartphone, l'image réduite se retrouve au format paysage.
si je prend la même photo du smartphone, que je l'ouvre avec toshop, je ne fais rien dessus, je l'enregistre sous un autre nom, et bien là l'image est au format portrait.

Et le problème c'est que l'image visualisé dans le diaporama se retrouve en paysage et non en portrait.

Moi pas tout comprendre, et vous ?
Une solution à me proposer ?

Merci



:-)Pour un vieux de 47 ans, je peux encore en apprendre et vous en apprendre aussi :-D
A voir également:

1 réponse

astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   1 641
 
résolut

j'ai ajouté une option pour choisir portrait ou paysage, et je fais un
-webkit-transform: rotate(Xdeg); à l'affichage


0