CALayer遮罩效果
2016-03-13 22:39
295 查看
#import "ViewController.h"
@interface ViewController ()
@property (nonatomic,
strong) CALayer *imageLayer;
@property (nonatomic,
strong) CALayer *maskLayer;
@property (nonatomic,
strong) UIImage *imageContents;
@property (nonatomic,
strong) UIImage *maskImageContents;
@end
@implementation ViewController
- (void)viewDidLoad {
[super
viewDidLoad];
//获取图片
_imageContents = [UIImage
imageNamed:@"原始图片"];
_maskImageContents = [UIImage
imageNamed:@"遮罩图片"];
//创建图片layer
_imageLayer = [CALayer
layer];
_imageLayer.frame =
CGRectMake(50,
50, 200,
200);
_imageLayer.contents = (__bridge
id _Nullable)(_imageContents.CGImage);
[self.view.layer
addSublayer:_imageLayer];
//创建遮罩layer
_maskLayer = [CALayer
layer];
_maskLayer.frame =
_imageLayer.bounds;
_maskLayer.contents = (__bridge
id _Nullable)(_maskImageContents.CGImage);
//给图片layer提供遮罩
_imageLayer.mask =
_maskLayer;
}
- (void)didReceiveMemoryWarning {
[super
didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@interface ViewController ()
@property (nonatomic,
strong) CALayer *imageLayer;
@property (nonatomic,
strong) CALayer *maskLayer;
@property (nonatomic,
strong) UIImage *imageContents;
@property (nonatomic,
strong) UIImage *maskImageContents;
@end
@implementation ViewController
- (void)viewDidLoad {
[super
viewDidLoad];
//获取图片
_imageContents = [UIImage
imageNamed:@"原始图片"];
_maskImageContents = [UIImage
imageNamed:@"遮罩图片"];
//创建图片layer
_imageLayer = [CALayer
layer];
_imageLayer.frame =
CGRectMake(50,
50, 200,
200);
_imageLayer.contents = (__bridge
id _Nullable)(_imageContents.CGImage);
[self.view.layer
addSublayer:_imageLayer];
//创建遮罩layer
_maskLayer = [CALayer
layer];
_maskLayer.frame =
_imageLayer.bounds;
_maskLayer.contents = (__bridge
id _Nullable)(_maskImageContents.CGImage);
//给图片layer提供遮罩
_imageLayer.mask =
_maskLayer;
}
- (void)didReceiveMemoryWarning {
[super
didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
相关文章推荐
- 各种排序算法(c)及时间复杂度分析
- 随堂笔记160303String
- Android-使用框架布局管理器居中显示层叠的正方形
- Velocity魔法堂系列三:模板与宿主环境通信
- 网络攻击与防范中的五种常用工具简介
- 20145304 刘钦令 Java程序设计第二周学习总结
- 输出图案题,当看到图案成对称的时候,想想绝对值。
- 随堂笔记160302OOP和String
- CALayer图片淡入淡出效果
- 记《第一行代码》读后感---Service服务
- 向下转型
- JavaScript中的对象类型详解
- 切忌浮躁、急功近利
- centos更换163网易源
- Everything For Linux
- 微信公众号开发——网页授权实现简化用户绑定
- JVM字节码
- Java day02 for循环练习 带星图案
- Rust 中的变量和赋值
- Velocity魔法堂系列二:VTL语法详解