Можно ли добавить фоновое изображение в CAShape?(IPhone) - PullRequest
0 голосов
/ 07 апреля 2011

Я пытаюсь исказить изображение произвольным образом, следуя, например, фигуре Безье.Я использовал CAShapeLayer для создания формы, но потом кажется, что установка его содержимого в Image не работает.Как я могу исказить изображение, следуя этой форме?Это вообще возможно?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 04 июля 2013

сделать это невозможно, но мне удалось это сделать, поместив 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];
0 голосов
/ 29 апреля 2011

В настоящее время это невозможно. Я бы предложил подать радар (http://bugreport.apple.com), если вы считаете, что это должно быть поддержано.

См. Также: Можно ли добавить CGImage к свойству содержимого CAShapeLayer?

...