CameraCaptureDialogで静止画撮影

カメラを使って静止画撮影を行う方法をご紹介します。

Microsoft.WindowsMobile.Forms 名前空間の CameraCaptureDialog クラスを利用する事で簡単に静止画撮影を行う事が出来ます。ここでは、ダイアログのタイトルを「Camera Demo」にして、撮影画角をQVGA(320 x 240)に設定しました。画質は標準に設定しています。

以下に、サンプルコードを示します。

VB.NET

   ' 以下の名前空間を指定します
   ' Imports Microsoft.WindowsMobile.Forms
 
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
       Dim cameraCapture As New CameraCaptureDialog()
 
       cameraCapture.Owner = Nothing
       cameraCapture.InitialDirectory = "\My Documents"
       cameraCapture.DefaultFileName = "test.jpg"
       cameraCapture.Title = "Camera Demo"
       cameraCapture.Resolution = New Size(176, 144)
       cameraCapture.StillQuality = CameraCaptureStillQuality.Normal
 
               ' カメラアプリを起動します
       cameraCapture.ShowDialog()
 
   End Sub

C#

   // 以下の名前空間を指定します
   // Using Microsoft.WindowsMobile.Forms;
 
   private void Button1_Click(System.Object sender, System.EventArgs e)
   {
       CameraCaptureDialog cameraCapture = new CameraCaptureDialog();
 
       cameraCapture.Owner = null;
       cameraCapture.InitialDirectory = "\\My Documents";
       cameraCapture.DefaultFileName = "test.jpg";
       cameraCapture.Title = "Camera Demo";
       cameraCapture.Resolution = new Size(176, 144);
       cameraCapture.StillQuality = CameraCaptureStillQuality.Normal;
 
       // カメラアプリを起動します
       cameraCapture.ShowDialog();
   }

上記のコードを実行してみました。

画質を選択する

サンプルコードでは、標準品質の静止画を撮影する設定になっていましたが、高品質の動画を録画したい場合、CameraCaptureDialog の StillQuality プロパティを変更します。設定可能な設定値は以下の通りです。

Default 標準のカメラアプリの設定値を使用する
High 高品質
Low 低品質
Normal 標準の品質

VB.NET

       ' 高品質の画像の設定にする
       cameraCapture.StillQuality = CameraCaptureStillQuality.High

C#

       // 高品質の画像の設定にする
       cameraCapture.StillQuality = CameraCaptureStillQuality.High;