Click or drag to resize

이미지 방향 보정

일부 디지털 카메라 또는 스마트 폰에서 기기를 세로 방향으로 두고 사진을 찍을 경우 이미지가 누워 있는 형태로 저장되기도 합니다. 이러한 이미지를 웹 페이지에서 바로 사용하기에는 부적합하므로 올바르게 세워서 사용할 필요가 있습니다.

이미지 방향 조회 및 자동 보정

디지털 카메라에서 찍은 JPEG 이미지에는 EXIF 정보가 저장되어 있고 EXIF 정보 내에는 이미지의 방향(Orientation) 정보가 표시되어 있습니다. 아래 코드는 EXIF 정보에서 Orientation 정보를 구하는 예제입니다.

ASP
Const PropertyTagOrientation = 274

Set Image = Server.CreateObject("TABSUpload4.Image")
Image.Load "C:\Images\sample1.jpg"
Response.Write "Orientation = " & img.Metadata.GetExifValue(PropertyTagOrientation)

보통 Orientation 값은 1로 카메라 표시 창에 보이는 이미지와 동일하게 저장되어 있어서 추가적인 보정은 필요 없습니다. 하지만 아래 그림과 같이 7가지 방향이 추가로 정의되어 있고 일부 기기에서는 해당 값을 적용해 이미지 방향을 표시합니다.

orientation

방향이 지정된 이미지를 Orientation 값 1이 되도록 자동으로 보정해 주는 FixOrientation 메서드를 제공합니다. 해당 메서드를 사용하면 EXIF 조회와 이미지 회전과 같은 추가적인 작업 없이 이미지를 카메라 렌즈에 비친 처음 이미지로 쉽게 보정할 수 있습니다.

ASP
Dim Image, Status
Set Image = Server.CreateObject("TABSUpload4.Image")
Status = Image.Load("C:\Images\sample1.jpg")
If Status = Ok Then
    Image.FixOrientation
    Image.Save "C:\Images\fixed.jpg", 95, True
    Image.Close
Else
    Response.Write "이미지 파일을 열 수 없습니다. 오류 코드: " & Status
End If