我正在使用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
答案 0 :(得分:0)
我在Xamarin.Forms
遇到了同样的问题。
但是当我使用XLabs
时,当我的应用拍照时,我可以访问MediaFile
个对象。这个类有一个有趣的属性Orientation
。我可以检查这个属性并执行一些代码,以便按照我想要的格式获取图像。
let prepare (orientation:ExifOrientation) img =
match orientation with
| ExifOrientation.BottomRight -> rotate 180 img
| ExifOrientation.TopLeft -> img
| _ -> img
这适合我的需要,因为我从未见过我拥有的智能手机,使用其他ExifOrientation
而不是BottomRight
或TopLeft