擦除UIImageView的矩形

kle*_*vre 3 iphone objective-c uiimageview ipad ios

我想知道,我怎么能擦除一个自定义矩形(例如,用UIViewin IB或其他东西)UIImageView来显示另一个UIImageView位于下面的.


在此输入图像描述

我没有设法在论坛中使用一些回复...

Mor*_*ast 9

这将清除图像中的矩形:

- (UIImage *)clearRect:(CGRect)rect inImage:(UIImage *)image {

    if (UIGraphicsBeginImageContextWithOptions != NULL)
        UIGraphicsBeginImageContextWithOptions([image size], NO, 0.0);
    else
        UIGraphicsBeginImageContext([image size]);

    CGContextRef context = UIGraphicsGetCurrentContext();

    [image drawInRect:CGRectMake(0.0, 0.0, [image size].width, [image size].height)];
    CGContextClearRect(context, rect);

    UIImage *result = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return result;
}
Run Code Online (Sandbox Code Playgroud)

只需加载图像并清除图像,然后再将其指定给图像视图:

UIImage *image = [UIImage imageNamed:@"Image.png"];
UIImage *maskedImage = [self clearRect:CGRectMake(10.0, 10.0, 50.0, 50.0) inImage:image];
[imageView setImage:maskedImage];
Run Code Online (Sandbox Code Playgroud)