ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글