Quantcast
Channel: Recent Threads — Xamarin Community Forums
Viewing all articles
Browse latest Browse all 204402

Exif Orientation Xamarin.Mobile TakePhotoUI intent

$
0
0

Hi,

Sometimes, on some Android phones, the image will come back rotated from TakekPhotoUI (on a Galaxy S II for example). This problem is easy enough to solve in Android Java according to this post on StackOverflow:

http://stackoverflow.com/questions/14066038/why-image-captured-using-camera-intent-gets-rotated-on-some-devices-in-android

But I can't figure out how to duplicate that in Xamarin. The int constants (ExifInterface.ORIENTATION_ROTATE_90) just don't seem to exist in Xamarin anywhere. The closest thing I found is Android.Media.Orientation - but those aren't ints, so I have no way of mapping those values to whatever int I get back from (ExifInterface)ei.GetAttribute (ExifInterface.TagOrientation); I don't have the actual phone to test on, so I can't tell exactly what the values are, and hard coding that is hacky anyway - especially when the Android way is so simple.

More broadly, it's been pretty easy to figure out what Xamarin did to modify the various API calls for C#, and most of it's pretty well thought out (event handlers are way better in C#). But with constants specifically, it's been a total nightmare to find exactly where they have been remapped to a lot of the time. It's such a headache, that I really wish they weren't changed at all - just leave them in the original location. I don't know if it's un-c#-like to do that (I've seen a couple of libs that seem to be fine with it), but playing Hunt the Wumpus every time I come across an Android constant, is absolutely no fun.

At least provide a tool - a database where I can paste in the Android constant, and get the location of the constant in the Xamarin API, that'd at least be something.


Viewing all articles
Browse latest Browse all 204402

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>