是否可以将背景图像添加到CAShape? (苹果手机)

时间:2011-04-07 09:20:50

标签: iphone cashapelayer

我试图以任意方式扭曲图像,例如跟随bezier形状。我已经使用CAShapeLayer来创建形状,但似乎将其内容设置为图像不起作用。如何在形状后扭曲图像?它甚至可能吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

这是不可能的,但我通过将CALayer放在CAShapeLayer的顶部成功完成了这项工作。 这是我的代码:

CALayer *image =[CALayer layer];
image.frame = CGRectMake(0, 0, 75, 75);
image.contents = (id) [UIImage imageNamed:@"number-1"].CGImage;    
 [self.layer addSublayer:image];



UIBezierPath *circle = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 75, 75)];
blueCircleLayer = [CAShapeLayer layer];
blueCircleLayer.path = circle.CGPath;
blueCircleLayer.strokeColor = [UIColor blueColor].CGColor;
blueCircleLayer.fillColor = [UIColor clearColor].CGColor;
blueCircleLayer.shadowColor =[UIColor blackColor].CGColor;
blueCircleLayer.shadowOffset = CGSizeMake(0.0f, 5.0f);
blueCircleLayer.shadowOpacity = 0.7f;
blueCircleLayer.lineWidth = 7.0;

[self.layer addSublayer:blueCircleLayer];

答案 1 :(得分:0)

目前无法做到这一点。如果您认为应该支持,我建议提交雷达(http://bugreport.apple.com)

另请参阅:Can a CGImage be added to the contents property of a CAShapeLayer?