在ios中特定形状剪裁图片的实现
原问题来自于CSDN问答频道,更多解决方案见http://ask.csdn.net/questions/1260
如何用特定的形状剪裁覆盖UIImageView的图片?效果图如下:
解决方案:
用两个图片和下面的方法实现。 图片1是被剪裁的图片,图片2是需要剪裁的形状。
- (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]; }
如果要调整尺寸用
UIImage *small = [UIImage imageWithCGImage:original.CGImage scale:0.25 orientation:original.imageOrientation];