Как обрезать UIImageView в другой форме - PullRequest
0 голосов
/ 04 мая 2011

Привет всем: я создаю UIImageView с моей фотографией на экране iphone только сейчас, его форма является прямоугольником.и я хочу, чтобы обрезать UIImageView в форме ромба.если какая-то часть моей фотографии находится за пределами области алмаза, не показывайте ее.
Но сейчас я не понимаю, как это сделать, поэтому я прошу помощи.спасибо!

1 Ответ

5 голосов
/ 04 мая 2011

Вы пытаетесь добавить маску к вашему изображению, используя метод ниже, и поместить его в UIImageView

+ (UIImage *)image:(UIImage *)img withMask:(UIImage *)maskImg {
CGImageRef maskRef = maskImg.CGImage; 

CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
                                    CGImageGetHeight(maskRef),
                                    CGImageGetBitsPerComponent(maskRef),
                                    CGImageGetBitsPerPixel(maskRef),
                                    CGImageGetBytesPerRow(maskRef),
                                    CGImageGetDataProvider(maskRef), NULL, false);

CGImageRef masked = CGImageCreateWithMask(img.CGImage, mask);
UIImage *image = [UIImage imageWithCGImage:masked];
CGImageRelease(mask);
CGImageRelease(masked);
return image;

}

...