2012-04-25 8 views
3

カメラをマイアプリに追加しました。このカメラはポートレートモードになっていますので、このようにしておきたいと思います。ここでカメラがポートレートモードで正常に動作するようにする

が私の.xamlで私が使用して、関連するコードスニペットです

SupportedOrientations="Portrait" Orientation="Portrait" 
mc:Ignorable="d" d:DesignHeight="800" d:DesignWidth="480" 

    <Canvas x:Name="viewfinderCanvas" Width="480" Height="800" > 
     <!--Camera viewfinder --> 
     <Canvas.Background> 
      <VideoBrush x:Name="viewfinderBrush"> 
      </VideoBrush> 
     </Canvas.Background> 
    </Canvas>  

ここで問題は、私は携帯電話を保持することである.XAML.CS

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     if (PhotoCamera.IsCameraTypeSupported(CameraType.FrontFacing)) 
     { 
      cam = new Microsoft.Devices.PhotoCamera(CameraType.FrontFacing); 
     } 
     else 
     { 
      cam = new Microsoft.Devices.PhotoCamera(CameraType.Primary); 
     } 

     cam.Initialized += new EventHandler<Microsoft.Devices.CameraOperationCompletedEventArgs>(cam_Initialized); 
     cam.CaptureCompleted += new EventHandler<CameraOperationCompletedEventArgs>(cam_CaptureCompleted); 
     cam.CaptureImageAvailable += new EventHandler<Microsoft.Devices.ContentReadyEventArgs>(cam_CaptureImageAvailable); 
     cam.CaptureThumbnailAvailable += new EventHandler<ContentReadyEventArgs>(cam_CaptureThumbnailAvailable); 
     viewfinderBrush.SetSource(cam); 
    } 

から私のセットアップコードであります肖像画と人に電話を指示します。画面には、人物の頭が画面の右側に表示され、人の足は画面の左側に表示されます。 彼らが私の前に立っている間に、頭が画面の上部にあり、足がボトムにあるべきで、これらの人々はスーパーマンではない。

カメラからの画像が画面に表示される前に-90回転しているようです。

この問題を解決するには、何が間違っていて、どのサンプルコードを実装する必要があるのか​​説明できます。

おかげで、 -code

答えて

1

この行をカメラページのC#コードに追加するだけです。ポートレートモードでカメラビデオストリームを正しく変換して処理します。

viewfinderTransform.Rotation = 90; 
関連する問題