0

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

4

1 回答 1

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;

}

于 2011-05-04T05:05:32.123 回答