2016-04-09 9 views
0

画像処理関連のアクティビティの一部にF#を使用しています。ビットマップとしてF#に保存すると画像が回転しています

私は

let imagesForRecognition = 
    Directory.GetFiles("/RImages/","*.jpg") 
    |> Array.map(fun x -> new Bitmap(x)) 

を使用して画像を取得し、これを行う場合。

imagesForRecognition.[0].Save("A.jpg") 

イメージのサイズが1080x1920の場合、イメージは90度回転します。私は528x960を使用し、回転しませんでした。私はこの行動が奇妙だと思う。

私はXamarin StudioのはMac OS Xに

+2

以外のExifOrientationを使用していること。見たことがないので、これは、私のニーズに適したものです – CaringDev

+0

あなたの質問は解決されましたか? –

答えて

0

を使用しています私はXamarin.Formsで同じ問題を抱えていました。 しかし私がXLabsを使用しているとき、私のアプリが画像を撮るとき、私はMediaFileオブジェクトにアクセスすることができます。このクラスには興味深いプロパティの1つがありますOrientation。私はこのプロパティをチェックし、必要なときに適切な形式でイメージを取得するためのコードを実行できます。

let prepare (orientation:ExifOrientation) img = 
    match orientation with 
    | ExifOrientation.BottomRight -> rotate 180 img 
    | ExifOrientation.TopLeft -> img 
    | _ -> img 

私は私が持っていたスマートフォンは、おそらく `Bitmap`はExifデータを保存しないBottomRightまたはTopLeft

関連する問題