私はカメラからビデオを表示するためにAVFoundation
フレームワークを使用します。AVFoundationカメラズーム
私はそれを使用する方法のコードは、通常です:
session = [[AVCaptureSession alloc] init] ;
...
captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
...
[cameraView.layer addSublayer:captureVideoPreviewLayer];
...
だから私はカメラにズーム機能を追加したいです。
ズームを実装する方法を2つの方法で見つけました。
まずは:CGAffineTransform
を使用することです:
cameraView.transform = CGAffineTransformMakeScale(x,y);
第二:、スクロールビューにcameraViewを入れて最大と最小のスクロールを設定し、このビューを設定することですズーム表示。
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return cameraView;
}
ズームとパフォーマンスを向上させる最適な方法は何ですか?ズームを行うためのソリューションはありますか?たぶん私はズームのためのいくつかのAVFoundation
メソッドを逃した。
ありがとうございます。
私は本当の専門家からのコメントを期待していましたが、だれも私が私の経験を分かち合うと思っていたからだと思います。実際の機械的なズームはないので、アスペクト比で再生しているだけです。セッションを作成するときに特にAVCaptureVideoPreviewLayer.videoGravity設定を設定した場合、CGAffineTransformを使用してレイヤーを操作すると非常にうまく動作することがわかりました。スライダまたはピンチジェスチャで変換をリンクするのはかなり簡単です。フレームをビュー境界に設定した場合、トランスフォームは奇数フレームサイズを処理します。助けてくれることを望む。 – CocoaEv
何か答えをありがとう、私は変換を使用してズームを実装したいと思ったが、私はスクロールビューのズームを使用してそれを作るために本当に少し時間がかかった:)私はおそらくAVフレームワークはズームのための何かを持って質問を考えた。 –
スクロール表示の良いヒント私もそれをチェックするつもりです。 – CocoaEv