2

我想将 UIImageview 上的图像裁剪成任何形状

4

2 回答 2

2

您设置剪切路径,瞧:

// Load image thumbnail
    NSString *imageName = [self.picArray objectAtIndex:indexPath.row];
    UIImage *image = [UIImage imageNamed:imageName];        
    CGSize imageSize = image.size;
    CGRect imageRect = CGRectMake(0, 0, imageSize.width, imageSize.height);    

    UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0);
    // Create the clipping path and add it
    UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:imageRect cornerRadius:5.0f];
    [path addClip];
    [image drawInRect:imageRect];
    UIImage *roundedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

这段代码加载一个图像并通过对矩形进行四舍五入创建路径,结果是最终图像已被裁剪,即圆角。RoundedImage 是结果。

于 2012-08-29T17:30:45.907 回答
0

您可以使用CGImageMask.

Apple 的 QuartzDemo 的 QuartzMaskingView 类中有一个示例。

于 2012-09-05T11:47:42.513 回答