iOS-图层的那点事(二)阴影与拉伸过滤

阴影

_showView.layer.masksToBounds = NO;        //此图层里面的所有东西都会被截取在外(这个要为YES阴影会被截取出去)
_showView.layer.shadowColor = [UIColor redColor].CGColor;    //阴影颜色
_showView.layer.shadowOffset = CGSizeMake(10, 20);                //阴影的位置(x向右,y向下)
_showView.layer.shadowOpacity = 0.5;                         //阴影颜色的深浅(从0.0~1.0之间)  
_showView.layer.shadowRadius = 5;                              //阴影模糊度(越大越模糊)
_showView.layer.shadowPath = [[UIBezierPath bezierPathWithRect:_showView.bounds] CGPath];   //直接设置阴影源图层的位置(可以节省可观的cpu时间,提升性能)(不过之前视图的圆角等变化不会被加上。。。)

阴影裁剪

//用图片大小当蒙版 
CALayer *maskLayer = [CALayer layer];                       //创建一个CALayer
maskLayer.frame = _showView.bounds;                          //位置大小
UIImage *maskImage = [UIImage imageNamed:@"Cone.png"];       //设置图片
maskLayer.contents = (__bridge id)maskImage.CGImage;         //将图片形状绑定到蒙版上
maskLayer.backgroundColor = [UIColor whiteColor].CGColor;    //必须有一个颜色(颜色随意)
_showView.layer.mask = maskLayer;                           //添加蒙版

//自定义蒙版大小
maskLayer.frame = _showView.bounds;                         //位置大小
maskLayer.frame = CGRectMake(0, 0, 10, 200);                  //设置蒙版位置与大小
maskLayer.backgroundColor = [UIColor whiteColor].CGColor;   //必须有一个颜色(颜色随意)
_showView.layer.mask = maskLayer;                          //添加蒙版

拉伸过滤

_showView.layer.magnificationFilter = kCAFilterNearest;     //是指会根据像素颜色进行过滤(用在颜色变化小的地方)(当图片进行了拉伸或缩放时调用这个会过滤图片,让图片看起来更好些)
_showView.layer.magnificationFilter = kCAFilterLinear;      //当图片进行了拉伸或缩放时调用这个会过滤图片,让图片看起来更好些(用在颜色变化大,图形变化小的地方)(根据图形进行过滤)
_showView.layer.magnificationFilter = kCAFilterTrilinear;   //功能与上面一样,貌似这个好一些

你可能感兴趣的:(iOS-图层的那点事(二)阴影与拉伸过滤)