2012-05-08 9 views
0

私はAVCaptureVideoPreviewLayerをカットする必要があります。このAVCaptureVideoPreviewLayerは、見えるように透明な部分がある画像にうまく収まります。UIViewまたはAVCaptureVideoPreviewLayerからシェイプを切り取るiPhone

AVCaptureVideoPreviewLayerからシェイプをカットする最も効果的な方法は何ですか?

私はCAShapeLayerを使って正しい形を得ることができましたが、AVCaptureVideoPreviewLayerには同じことをするPathプロパティがないようです。

cameraLayer = [[CAShapeLayer layer] retain]; 
CGRect rect = CGRectMake(64, 32, 190 , 152); 
CGMutablePathRef path = CGPathCreateMutable(); 
CGPathAddEllipseInRect(path, NULL, rect); 
cameraLayer.path = path; 
CGPathRelease(path); 

*編集は

答えて

1

あなたが言った私はaswell

おかげでやりたいことができるはずのUIViewまたはImageViewの外の形状をカットすることが可能である場合:

私はCAShapeLayerを使用して正しい形状を得ることができましたが、 AVCaptureVideoPreviewLayerには同じようなPathプロパティがないと思われます 同じです。

これは正しいです。 CAShapeLayerだけがパスプロパティを持ちます。

ビュー内の幾何学的な穴をカットする場合は、通常の方法はCAShapeLayerを作成し、シェイプパスをインストールしてシェイプレイヤーをビューのレイヤーのマスクにします。これはうまくいく。 「穴」を通してビューの下にあるコンテンツを表示できるようにするには、ビューの不透明なプロパティをNOに設定する必要があることに注意してください。