1

我在创建不规则形状的图像时遇到问题。这是我的框架的例子。

包含两部分奇形怪状的框架

请给出任何想法来创建这样的图像。它包含两个不同帧中的两个图像。但是这两个图像在装入框架后都隐藏了其中的一部分。

4

3 回答 3

0

你需要有边框的图像来掩盖你的 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;
于 2012-07-05T11:35:49.887 回答
0

您必须创建遮罩图像,以遮盖原始图像的一部分。尝试查看如何遮罩 UIImageView可能会有所帮助...

于 2012-07-05T11:03:30.653 回答
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];
}
  • 图像是您的原始图像。
  • maskImage 是黑白图像。maskImage 为黑色的地方将显示您的原始图像。
于 2012-07-05T11:07:01.300 回答