0

たとえば、ベジエ形状に従って、画像を任意の方法で歪めようとしています。CAShapeLayer を使用して形状を作成しましたが、その内容を Image に設定してもうまくいかないようです。その形状に合わせて画像を歪ませるにはどうすればよいですか? それは可能ですか?

ありがとうございました!

4

2 に答える 2

2

そうすることはできませんが、CAShapeLayer の上に CALayer を配置することで成功しました。これは私のコードです:

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];
于 2013-07-04T07:35:28.580 に答える
0

現在、これは不可能です。これがサポートされるべきだと思うなら、レーダー(http://bugreport.apple.com)を提出することをお勧めします。

参照:CAShapeLayerのcontentsプロパティにCGImageを追加できますか?

于 2011-04-28T20:30:03.290 に答える