カメラを使って静止画撮影を行う方法をご紹介します。
Microsoft.WindowsMobile.Forms名前空間の CameraCaptureDialogクラス
を利用する事で簡単に静止画撮影を行う事が出来ます。ここでは、ダイアログのタイトルを「Camera Demo」にして、撮影画角をQVGA(320 x 240)に設定しました。画質は標準に設定しています。
以下に、サンプルコードを示します。
CameraCaptureDialogを使って静止画撮影する
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;