サブレイヤーを使用UIView
してのイメージを作成しようとしています。CALayer
このコードで
- (UIImage*)snapshot{
UIGraphicsBeginImageContext(self.bounds.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
画像は表示されますが、画面に表示されているものを正確に表していない。特に、CAShapeLayer
マスクプロパティを尊重しません。丸みを帯びた角が画像に表示されません。
これは、例が画面にどのように表示されるかと、画像にどのように表示されるかを比較したものです。
明確にするために、右側の画像は古いオブジェクトと同じ位置に配置され、基本的にオブジェクトをラスタライズします。それが同じ背景がある理由です。それは私が画像をキャプチャしているオブジェクトの一部ではありません。
CAShapeLayer
画像にマスクを保持したまま、オブジェクトの画像をキャプチャするにはどうすればよいですか?
編集:問題はパスではなく、レイヤーマスクだったようです。