-
UIImage Image resize (이미지 비율)iOS/Objective C 2017. 1. 3. 11:45
//이미지의 사이즈를 resize하는데 비율대로 가로와 세로를 재구성한다.
+(UIImage*)imageWithImage: (UIImage*) sourceImage scaledResize: (float) size
{
//size == 1080
BOOL isWidthLong = NO;
//이미지가 가로가 더 큰 이미지
if (sourceImage.size.width > sourceImage.size.height)
{
if (sourceImage.size.width <= size) return sourceImage;//가로가 큰데 1080보다 작거나 같다면 사이즈 조절할 필요가없음.
isWidthLong = YES;
}
else
{
if (sourceImage.size.height <= size) return sourceImage;//세로가 큰데 1080보다 작거나 같다면 사이즈 조절 X
isWidthLong = NO;
}
if (isWidthLong)//가로가 크다면
{
float oldWidth = sourceImage.size.width;
float scaleFactor = size / oldWidth;
float newHeight = sourceImage.size.height * scaleFactor;
float newWidth = oldWidth * scaleFactor;
UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight));
[sourceImage drawInRect:CGRectMake(0, 0, newWidth, newHeight)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
else//세로가 크다면
{
float oldWidth = sourceImage.size.height;
float scaleFactor = size / oldWidth;
float newHeight = sourceImage.size.width * scaleFactor;
float newWidth = oldWidth * scaleFactor;
UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight));
[sourceImage drawInRect:CGRectMake(0, 0, newWidth, newHeight)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
return sourceImage;
}
'iOS > Objective C' 카테고리의 다른 글
NSString 문자열 나누기 (0) 2017.01.03 NSString 제일 마지막 문자 삭제 (0) 2017.01.03 StoryBoard IB_DESIGNABLE (0) 2017.01.03 NSString Email check (0) 2017.01.03 NSString 천단위 , 붙여주기 (돈) (0) 2017.01.03