Tag Archives: UIImage

[iPhone] UIImage 이미지 크기 Resize/Scale

이미지의 크기를 변경하기 위해서는 다음과 같은 방법을 사용하면 간단하게 크기를 변경 할 수 있습니다.

[code]UIImage *image = [UIImage imageNamed:@”sample.jpg”];
 
float resizeWidth = 60.0;
float resizeHeight = 60.0;
 
UIGraphicsBeginImageContext(CGSizeMake(resizeWidth, resizeHeight));
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, 0.0, resizeHeight);
CGContextScaleCTM(context, 1.0, -1.0);
 
CGContextDrawImage(context, CGRectMake(0.0, 0.0, resizeWidth, resizeHeight), [image CGImage]);
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();[/code]

위와 같은 방법으로 resizeWidth, resizeHeight에서 지정한 값 만큼 이미지 크기를 변경 할 수 있습니다.

참고: http://developers.enormego.com/view/uiimage_resizing_scaling

[iPhone] UIImage 에 마스크 씌우기

UIImage에 마스크를 씌워 특정 영역을 제외하고는 투명처리를 하는 방법입니다. 길게 설명할 필요없이 예제를 보시죠.

[code]CGImageRef imageRef = [[UIImage imageNamed:@”sample.jpg”] CGImage];
CGImageRef maskRef = [[UIImage imageNamed:@”mask.png”] CGImage];
   
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
                                    CGImageGetHeight(maskRef),
                                    CGImageGetBitsPerComponent(maskRef),
                                    CGImageGetBitsPerPixel(maskRef),
                                    CGImageGetBytesPerRow(maskRef),
                                    CGImageGetDataProvider(maskRef),
                                    NULL, false);
   
CGImageRef masked = CGImageCreateWithMask(imageRef, mask);
CGImageRelease(mask);
   
UIImage *maskedImage = [UIImage imageWithCGImage:masked];
CGImageRelease(masked);[/code]

사용자 삽입 이미지결과적으로 위와 같이 마스크를 씌워 마스크 이외의 영역을 투명처리 할 수 있습니다.

여기서 주의할 점은 mask.jpg에는 투명 영역이 존재하면 안됩니다. 투명으로 처리할 영역은 흰색으로 되어있어야 합니다.
참고 :