我有一个问题是要创建不规则形状的图像。这是我的框架的例子。
请创建像这样创建图像的任何想法。它包含两个不同帧中的两个图像。但是这两个图像在框架内适合后隐藏了它的一部分。
答案 0 :(得分:0)
你必须创建掩盖图像,将掩盖原始图像的一部分.. 试着看How to Mask an UIImageView它可能会有所帮助......
答案 1 :(得分:0)
你可以使用面具:
- (UIImage*) maskImage:(UIImage *)image withMask:(UIImage *)maskImage
{
CGImageRef maskRef = maskImage.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
return [UIImage imageWithCGImage:masked];
}
答案 2 :(得分:0)
你需要有边框的图像来掩盖你想象的图像。现在这样做:
#import <QuartzCore/QuartzCore.h>
// remember to include Framework as well
CALayer *mask = [CALayer layer];
mask.contents = (id)[[UIImage imageNamed:@"bordered_image_mask.png"] CGImage]; // here bordered image
mask.frame = CGRectMake(5, 5, <img_width>, <img_height>); // here x and y is 5 to show white boder around like in image
yourImageView.layer.mask = mask;
yourImageView.layer.masksToBounds = YES;