0

windows phone で cameracapturetask または Photochoosertask の向きを確認するにはどうすればよいですか?

   private void openCameraTask()
    {
        CameraCaptureTask cam = new CameraCaptureTask();
        cam.Completed += task_Completed;

        cam.Show();
    }

    void task_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {

            imgFrame.Visibility = System.Windows.Visibility.Visible;
            System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage();


            bmp.SetSource(e.ChosenPhoto);
            imgProfilePic.ImageSource = bmp;
         }
     }
4

1 に答える 1

1

考えられる方法は、画像の高さと幅をピクセル単位で確認することです。高さが幅よりも高い場合は、ポートレートまたはランドスケープと言えます。BitmapImage クラスには、これをすぐに通知するメソッドがありません。

次のような単純なもの

if (bitmap.PixelHeight > bitmap.PixelWidth) {
     // portrait 
} else {
     // landscape 
}

両方のサイズが同じである可能性もあります。したがって、この場合、実際には横長または縦長ではありません。

于 2014-04-17T14:03:13.210 に答える