如何裁剪所需形状的图像

时间:2014-02-27 10:40:15

标签: ios uiimage

我正在努力开发一款简单的游戏。但后来,我在UIImage遇到了这个问题。 当我导入一个图像时,我在这个球上得到了这个恼人的背景,而不仅仅是球本身。所以当我玩这个球时,这个背景必须与UIView颜色相匹配,否则它看起来会很奇怪。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码获取带蒙版的蒙版形状图像:

//beCroppedImage is the image be cropped, maskImage is a image with a white background color and a black sharp that ever you want.
theShapeImage = [beCroppedImage maskImageWithMask:maskImage];



- (UIImage *)maskImageWithMask:(UIImage*)mask {
    CGImageRef imgRef = [self CGImage];
    CGImageRef maskRef = [mask CGImage];
    CGImageRef actualMask = CGImageMaskCreate(CGImageGetWidth(maskRef),
                                              CGImageGetHeight(maskRef),
                                              CGImageGetBitsPerComponent(maskRef),
                                              CGImageGetBitsPerPixel(maskRef),
                                              CGImageGetBytesPerRow(maskRef),
                                              CGImageGetDataProvider(maskRef), NULL, false);
    CGImageRef masked = CGImageCreateWithMask(imgRef, actualMask);
    UIImage *image = [UIImage imageWithCGImage:masked];
    CGImageRelease(masked);
    CGImageRelease(actualMask);
    return image;
}