【发布时间】:2011-05-06 15:12:53
【问题描述】:
我正在尝试创建一个将图像绘制到图层的简单示例,然后设置该图层的 alpha 蒙版。我将下面的代码添加到我的示例应用程序的 viewDidLoad。不设置蒙版,我可以看到叶子的图像。设置蒙版后,我看不到我的子图层所在的位置。我究竟做错了什么?
这是我正在使用的两张图片(只是我在网上找到的示例) http://sorenworlds.netfirms.com/Alpha/leaf.jpg
http://sorenworlds.netfirms.com/Alpha/leaf-alfa.jpg
self.view.layer.backgroundColor = [UIColor orangeColor].CGColor;
self.view.layer.cornerRadius = 20.0;
self.view.layer.frame = CGRectInset(self.view.layer.frame, 20, 20);
CALayer *sublayer = [CALayer layer];
sublayer.backgroundColor = [UIColor blueColor].CGColor;
sublayer.shadowOffset = CGSizeMake(0, 3);
sublayer.shadowRadius = 5.0;
sublayer.shadowColor = [UIColor blackColor].CGColor;
sublayer.shadowOpacity = 0.8;
sublayer.frame = CGRectMake(30, 30, 128, 192);
[self.view.layer addSublayer:sublayer];
CGImageRef img = [UIImage imageNamed:@"leaf.jpg"].CGImage;
sublayer.borderColor = [UIColor blackColor].CGColor;
sublayer.borderWidth = 2.0;
sublayer.contents = img;
CGImageRef imgAlpha = [UIImage imageNamed:@"leaf_alpha.jpg"].CGImage;
CALayer *alphaLayer = [CALayer layer];
alphaLayer.contents = (id)imgAlpha;
sublayer.mask = alphaLayer;
非常感谢任何帮助。
【问题讨论】:
标签: iphone objective-c ios quartz-graphics calayer