>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하여 EXIF ​​방향을 기반으로 업로드된 이미지를 올바르게 회전하는 방법은 무엇입니까?

PHP를 사용하여 EXIF ​​방향을 기반으로 업로드된 이미지를 올바르게 회전하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-31 14:28:02810검색
How to Correctly Rotate Uploaded Images Based on EXIF Orientation using PHP? 
EXIF 데이터 읽기

EXIF 데이터는 다음과 같은 배열을 반환하는 exif_read_data($upload_path . $newfilename)를 사용하여 추출됩니다. 다양한 메타데이터. "방향" 키는 이미지의 방향을 나타내는 값을 보유합니다.

방향 조정

회전을 수정하려면 "방향" 값에 따라 다음 스위치 문을 사용하세요.

또는 방향 조정을 위해 다음과 같은 최적화된 기능을 고려하십시오:

GD 기능

이 기능은 리샘플링 없이 이미지를 회전합니다:
<code class="php">switch($ort)
{
    case 3: // Rotate 180 degrees left
        $image->imagerotate($upload_path . $newfilename, 180, -1);
        break;

    case 6: // Rotate 90 degrees right
        $image->imagerotate($upload_path . $newfilename, -90, -1);
        break;

    case 8: // Rotate 90 degrees left
        $image->imagerotate($upload_path . $newfilename, 90, -1);
        break;
}</code>

한 줄 GD 버전

ImageMagick 함수

<code class="php">function image_fix_orientation(&$image, $filename) {
    $exif = exif_read_data($filename);

    if (!empty($exif['Orientation'])) {
        switch ($exif['Orientation']) {
            case 3:
                $image = imagerotate($image, 180, 0);
                break;
            
            case 6:
                $image = imagerotate($image, 90, 0);
                break;
            
            case 8:
                $image = imagerotate($image, -90, 0);
                break;
        }
    }
}</code>
이 함수는 ImageMagick 내에서 이미지 방향을 처리합니다.

위 내용은 PHP를 사용하여 EXIF ​​방향을 기반으로 업로드된 이미지를 올바르게 회전하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.