본문 바로가기

프로그래밍/iOS

[iOS] UIImage의 DPI 정보 변경하기

DPI : Dots Per Inch, 1인치 내에 얼마나 많은 색깔점이 있는지 나타내는 수치


분명 아이폰 카메라로 찍으면 72DPI가 나오는데 특정앱들을 보면 이 DPI 수치를 조절하는 메뉴가 있다.

카메라 객체에서 DPI를 따로 설정하는건 없다보니 고민하다가... 후처린가 생각이 나서

UIImage에서 변환하나 보다 하고 찾아보니 빙고


1. DPI 변경하는 법


UIImage *my300dpiImage = [UIImage imageWithCGImage:image.CGImage scale:300.0f/72.0f orientation:UIImageOrientationUp] ;


파랭이 image는 원본 UIImage, 별거 없고 72만큼 나눠서 300 곱하더라..

아래와 같은 이미지 저장 후 윈도우에서 확인하면 dpi 정보가 300으로 바뀐것을 확인 가능하다.


2. JPG 저장

NSString  *jpgPath = [NSTemporaryDirectory()

                          stringByAppendingPathComponent:@"my300dpiImage.jpg"];

[UIImageJPEGRepresentation(my300dpiImage, 1.0) writeToFile:jpgPath atomically:YES];