如何剪辑不同形状的UIImageView

时间:2011-05-04 02:01:13

标签: iphone uiimageview shape clip

大家好:          我刚刚在我的iphone屏幕上用我的照片创建了一个UIImageView,它的形状是矩形。我想将UIImageView剪辑成钻石的形状。如果我的照片的任何部分超出钻石区域,请不要显示它 但是现在我不会理解如何去做,所以我会寻求帮助。谢谢!

1 个答案:

答案 0 :(得分:5)

您尝试使用下面的方法为图像添加蒙版并将其添加到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;

}