2016-06-29 32 views
7

Używam blueimp upload widget do przesyłania zdjęć do mojego serwera plików, który działa poprawnie.Obróć obraz przed przesłaniem za pomocą przesyłania blueimp

Jedynym problemem jest to, że chcę poprawnie obrócić obraz, zanim go załaduję na serwer, więc gdy połączę się z nim za pośrednictwem adresu URL, zostanie wyświetlony we właściwej orientacji.

Każdy pomysł, z którego ustawienia korzystać?

+0

Należy ustawić orientację obrazu po stronie serwera. Najpierw należy uzyskać ** wartość obrotu ** z obrazu za pomocą GDI. następnie możesz obrócić obraz za pomocą ** metody Image.RotateFlip ** do właściwego kąta obrotu. –

+1

Czy możesz wyjaśnić, co chcesz osiągnąć na przykładzie (krok po kroku). – Abhijeet

Odpowiedz

1

Jest to rozwiązanie backend. Nie zezwalamy na przesyłanie zdjęć tiff, więc nie włączałem sprawdzania typu obrazu.

$uploadedFile->tempName is the file path eg: "/var/www/site/upload/images/someImage.jpg" 

if(exif_imagetype($uploadedFile->tempName) == 2)//2 IMAGETYPE_JPEG 
{ 
$exif = exif_read_data($uploadedFile->tempName); 
if(!empty($exif['Orientation'])) 
{ 
    $image = imagecreatefromjpeg($uploadedFile->tempName); 

    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; 
    } 
     imagejpeg($image, $uploadedFile->tempName); 
} 
}