美文网首页
iOS-图层的那点事(二)阴影与拉伸过滤

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

作者: LJMagicCoder | 来源:发表于2017-09-11 13:21 被阅读0次

    阴影

    _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-图层的那点事(二)阴影与拉伸过滤

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