1

私の Microsoft HD Web カメラは 16:9 の縦横比をサポートしています。Microsoft LifeCam ユーティリティから 16:9 の縦横比でプレビューおよびキャプチャできます。

私のアプリケーションでは、プレビューは 4:3 の縦横比でのみ表示されます。16:9に設定する方法はありますか?私はそれをグーグルで検索し、MSDN APIを検索しましたが、それを行う方法が見つかりませんでした.

これまでのコードは次のようになります。

XAML <CaptureElement x:Name="CameraCaptureElement" Stretch="Uniform" ></CaptureElement>

C# コード

private async void InitializeCamera()
{
MediaCapture mediaCaptureMgr = new Windows.Media.Capture.MediaCapture();
await mediaCaptureMgr.InitializeAsync();
CameraCaptureElement.Source = mediaCaptureMgr;
await mediaCaptureMgr.StartPreviewAsync();
}
4

2 に答える 2

0

MediaCapture を使用して縦横比を設定するための API はないと思います。そのため、縦横比の選択が重要な場合は、代わりに CameraCaptureUI の使用を検討することをお勧めします。ユーザー (ただし、ユーザーが元のキャプチャをトリミングすることを選択した場合は、トリミングされた画像の開始縦横比をプログラムで制御できます)。

次のサンプルを確認してください。

http://code.msdn.microsoft.com/windowsapps/CameraCaptureUI-Sample-845a53ac

これは、CameraCaptureUI オブジェクトを使用してクロッピングの縦横比を設定する方法を示しています。これは、プログラムで実行できる最善の方法だと思います。関連するコードは次のとおりです。

CameraCaptureUI dialog = new CameraCaptureUI();
Size aspectRatio = new Size(16, 9);
dialog.PhotoSettings.CroppedAspectRatio = aspectRatio;

ユーザーが選択できる最大解像度を制限することもできますが、キャプチャの縦横比は制限できません。

CameraCaptureUI が CaptureFileAsync を介して呼び出されると、以下に示すように、ユーザーは [カメラ オプション] ボタンを使用して縦横比を調整することができます。

カメラオプション

Windows ストア アプリ開発の詳細については、Generation Appに登録してください。

于 2013-02-20T17:49:48.030 に答える
0

を設定しClipCameraCaptureElement、プレビューを目的のアスペクト比にクリップできます。次に、写真をキャプチャした後、トリミングする必要があります。

于 2013-02-20T20:29:47.017 に答える