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