0
我正在尝试开发一个简单的游戏。但后来,我遇到了这个问题,我的UIImage
。 当我导入一张图片时,我在这个球上得到了这个烦人的背景,而不仅仅是球本身。所以当我玩这个球时,这个背景必须匹配UIView
的颜色,否则它看起来很奇怪。我该如何解决这个问题?如何在所需的形状中裁剪图像
我正在尝试开发一个简单的游戏。但后来,我遇到了这个问题,我的UIImage
。 当我导入一张图片时,我在这个球上得到了这个烦人的背景,而不仅仅是球本身。所以当我玩这个球时,这个背景必须匹配UIView
的颜色,否则它看起来很奇怪。我该如何解决这个问题?如何在所需的形状中裁剪图像
您可以使用下面的代码来获得一个面罩形状像带着面具:
//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;
}
哪里是你的形象? – Jing
我的图像位于支持文件中。你想让我在这里上传实际图片吗?这只是一个带有白色背景色的简单黑球。 – chanpkr
为什么不使用透明背景的黑球?这很容易 – Jing