Hallo Matthias,
1, 3, 6 und 8 sind die möglichen Werte. http://www.impulseadventure.com/photo/exif-orientation.html
mein Versuch
$bv = "bilder";
$vb = "vorschaubilder";
$verzeichnis = opendir($bv);
$bilder = array();
while (($datei = readdir($verzeichnis)) !== false) {
if (preg_match("/\.JPE?G$/", $datei)) {
$bilder[] = $datei;
}
}
closedir($verzeichnis);
foreach ($bilder as $bild) {
$image = imagecreatefromjpeg("$bv/$bild");
$exif = exif_read_data($bild);
if(!empty($exif['Orientation'])) {
switch($exif['Orientation']) {
case 8:
$image = imagerotate($image,90,0);
break;
case 3:
$image = imagerotate($image,180,0);
break;
case 6:
$image = imagerotate($image,-90,0);
break;
}
}
// scale image
$ratio = imagesx($image)/imagesy($image); // width/height
if($ratio > 1) {
$width = 230;
$height = round(230/$ratio);
} else {
$width = round(130*$ratio);
$height = 130;
}
$scaled = imagecreatetruecolor($width, $height);
imagecopyresampled($scaled, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image));
imagejpeg($scaled, "$vb/$bild");
}
leider ohne Erfolg, es wird noch immer jedes Bild Quer gelegt. Siehst du / Ihr vielleicht den Fehler in meinem Code?