0

AVCaptureVideoPreviewLayer をカットして、表示する必要がある透明な部分を含む画像にうまく収まるようにします。

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);

*UIViewまたはImageviewから形状を切り取ることができる場合は編集してください。私もやりたいことができるはずです

ありがとう

4

1 に答える 1

1

あなたが言った:

CAShapeLayerを使用して正しい形状を取得できましたが、AVCaptureVideoPreviewLayerには同じことを行うためのPathプロパティがないようです。

そのとおりです。設計上、CAShapeLayerにのみpathプロパティがあります。

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

于 2012-05-10T18:55:52.090 に答える