Ich bekomme einige Inkonsistenz mit der Autorotate-Funktionalität von Hefter, und hoffte, jemand könnte erklären, was passiert.PHP Hefter und Stellen Sie sich Bild autororate Problem
sind meine Arten definiert als auf ein Eloquent Modell folgt:
'styles' => [
'thumbnail' => [
'dimensions' => '300',
'auto_orient' => true,
'convert_options' => ['quality' => 100],
],
'standard' => [
'dimensions' => 'x275',
'auto_orient' => true,
'convert_options' => ['quality' => 100],
],
'zoom' => function($file, $imagine) {
$image = $imagine
->setMetadataReader(new \Imagine\Image\Metadata\ExifMetadataReader)
->open($file->getRealPath());
// Auto rotate the image
$filter = new \Imagine\Filter\Basic\Autorotate;
$filter->apply($image);
// Get the current size
$size = $image->getSize();
// Scale down to zoom size only if
// image is wide enough.
if ($size->getWidth() > 1280) {
$newSize = $size->widen(1280);
$image->resize($newSize);
}
return $image;
}
]
Das Problem ist, dass für ein bestimmtes Bild, das zoom
Stil nicht richtig funktioniert. Es dreht das Bild um 90 Grad, obwohl das Original bereits aufrecht ist.
Hier ist ein Screenshot des Originalbildes, können Sie es aufrecht sehen:
Hier ist ein Screenshot des Bildes nach dem zoom
Stil verarbeitet werden. Es wird um 90 Grad gedreht:
Wie Sie sehen können, habe ich auch autorotate
Satz gilt für die thumbnail
und standard
Stile, aber diese Bilder sind nicht mehr als 90 Grad gedreht wird und korrekt angezeigt werden nach der Verarbeitung.
Die seltsame Sache ist, dass, wenn ich die Exif-Ausrichtung Daten für das Originalbild überprüfen, hat es einen Wert von 6, was bedeutet, dass das Bild um 90 Grad gedreht werden soll. Wenn das der Fall ist, warum werden die anderen Stile auch nicht gedreht?
$imagine = new Imagine\Imagick\Imagine;
$image = $imagine->open('https://s3.amazonaws.com/path/to/original/image.jpg');
echo $image->metadata()->toArray()['ifd0.Orientation'];
// Output is 6
Also ich frage mich, warum die Exif-Ausrichtung 6 ist, wenn dieses Bild bereits aufrecht ist. Warum wird das Bild nur für den Stil gedreht?