2012-02-13 3 views
0

최대 1000px 너비로 이미지의 크기를 조정하려고하지만 원본 이미지 해상도의 "비율"은 동일하게 유지해야합니다. 즉 1000x1300 또는 1000x1600 등원본 비율로 UIImage 크기 조정

아래 코드를 변경하려면 어떻게해야합니까?

- (void)setImageAndConvertToThumb:(UIImage *)image { 
//image 
UIImage *sizedImg = [image scaleWithMaxSize:CGSizeMake(1000, 1000) quality:kCGInterpolationHigh]; 
NSData *data = UIImagePNGRepresentation(sizedImg); 
self.image = data; 

} 
+1

중복 가능성 [가로 세로 비율을 사용하여 크기 조정 UIImage?] (http://stackoverflow.com/questions/1703100/resize-uiimage-with-aspect-ratio) – DarkDust

답변

0

단지 높이 (또는 그 반대)에 의해 분할 된 폭 때문에 단지 같이, 원래의 화상이 가지고 동일한 비율을 이용하여 새로운 높이를 계산한다 종횡비 :

- (void)setImageAndConvertToThumb:(UIImage *)image { 
    //image 
    CGFloat newWidth = 1000; 
    CGFloat newHeight = newWidth * image.size.height/image.size.width; 
    UIImage *sizedImg = [image scaleWithMaxSize:CGSizeMake(newWidth, newHeight) quality:kCGInterpolationHigh]; 
    NSData *data = UIImagePNGRepresentation(sizedImg); 
    self.image = data; 
} 
+0

Brilliant thank you :) – CraigBellamy

관련 문제