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