我在创建不规则形状的图像时遇到问题。这是我的框架的例子。
请给出任何想法来创建这样的图像。它包含两个不同帧中的两个图像。但是这两个图像在装入框架后都隐藏了其中的一部分。
我在创建不规则形状的图像时遇到问题。这是我的框架的例子。
请给出任何想法来创建这样的图像。它包含两个不同帧中的两个图像。但是这两个图像在装入框架后都隐藏了其中的一部分。
你需要有边框的图像来掩盖你的 imagview 的图像。现在这样做:
#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;
您必须创建遮罩图像,以遮盖原始图像的一部分。尝试查看如何遮罩 UIImageView可能会有所帮助...
您可以使用掩码:
- (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];
}