2011-05-04 21 views
0

大家好: 我刚刚在我的iphone屏幕上用我的照片创建了一个UIImageView,它的形状是矩形。我想将UIImageView剪裁成菱形。如果我的照片的任何部分超出了钻石区域,请不要显示它。
但现在我不明白如何去做,所以我寻求帮助。谢谢 !如何在不同形状中裁剪UIImageView

回答

5

您尝试使用下面的方法来掩盖添加到您的图像,并把它的UIImageView

+ (UIImage *)image:(UIImage *)img withMask:(UIImage *)maskImg { 
CGImageRef maskRef = maskImg.CGImage; 

CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef), 
            CGImageGetHeight(maskRef), 
            CGImageGetBitsPerComponent(maskRef), 
            CGImageGetBitsPerPixel(maskRef), 
            CGImageGetBytesPerRow(maskRef), 
            CGImageGetDataProvider(maskRef), NULL, false); 

CGImageRef masked = CGImageCreateWithMask(img.CGImage, mask); 
UIImage *image = [UIImage imageWithCGImage:masked]; 
CGImageRelease(mask); 
CGImageRelease(masked); 
return image; 

}

+0

非常感谢您!这是解决问题的好方法。我想如果我们可以减少矩形UIImageView的四个角落 – Dekaron 2011-05-04 06:23:35