美文网首页
仿微信图片消息遮罩

仿微信图片消息遮罩

作者: sweetsmelon | 来源:发表于2017-06-02 15:16 被阅读29次

- (void)viewDidLoad {

[super viewDidLoad];

//创建图片,并设置拉伸方式

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

{

// 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传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

相关文章

网友评论

      本文标题:仿微信图片消息遮罩

      本文链接:https://www.haomeiwen.com/subject/kddufxtx.html