- (void)viewDidLoad {
[super viewDidLoad];
//創(chuàng)建圖片果港,并設置拉伸方式
UIImage *image = [[UIImage imageNamed:@"chat_sender_bg"] stretchableImageWithLeftCapWidth:33.0f topCapHeight:33.0f];
//這個imageView是為了得到 蒙版圖片
//因為如果直接用image做蒙版會拉伸圖片偏形,沒有找到好的解決方式融蹂,所以現將image賦給imageView丸边,讓后再將imageView轉換為圖片烛恤,將生成的圖片作為蒙版
UIImageView *imageV = [[UIImageView alloc]init];
imageV.frame = _imageView.frame;
imageV.image = image;
//添加遮罩
CALayer *maskLayer = [CALayer layer];
maskLayer.frame = CGRectMake(0, 0,_imageView.frame.size.width,_imageView.frame.size.height);
UIImage *maskImage = [self makeImageWithView:imageV withSize:imageV.frame.size];
maskLayer.contents = (__bridge id)maskImage.CGImage;
_imageView.layer.mask = maskLayer;
}
//將view轉image
- (UIImage *)makeImageWithView:(UIView *)view withSize:(CGSize)size
{
// 下面方法岛宦,第一個參數表示區(qū)域大小阱佛。第二個參數表示是否是非透明的帖汞。如果需要顯示半透明效果,需要傳NO凑术,否則傳YES翩蘸。第三個參數就是屏幕密度了,關鍵就是第三個參數 [UIScreen mainScreen].scale淮逊。
UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
view轉image參考:http://blog.csdn.net/lixianyue1991/article/details/52640093
圖層蒙版參考:https://github.com/AttackOnDobby/iOS-Core-Animation-Advanced-Techniques/blob/master/4-視覺效果/4-視覺效果.md