Ориентация устройства в Windows Phone 8

Я хочу повернуть изображение в зависимости от ориентации устройства в Windows Phone 8, делая снимок с помощью параметра PhotoCaptureDevice.

Когда ориентация устройства

LandscapeLeft  - Image to be rotated to -90
LandscapeRight - Image to be rotated to 90

Но в Windows Phone 8 нет возможности найти ориентацию устройства. Не могли бы вы помочь мне в этом?


person David Bekham    schedule 06.12.2012    source источник
comment
Привет Дэвид, Можете ли вы объяснить, как вы решаете проблему. Главным образом, как вы определяете ориентацию Пейзаж, ПейзажСлева, ПейзажПраво, Портрет, ПортретВниз, ПортретВверх и т. д.   -  person Stephan Ronald    schedule 12.03.2013
comment
Вы можете использовать первый ответ, который помог мне решить проблему.   -  person David Bekham    schedule 12.03.2013
comment
т.е. не мой вопрос, как вы справились с плоской ориентацией, например, устройство лежит в таблице с ориентациями портретной и альбомной ориентации   -  person Stephan Ronald    schedule 13.03.2013
comment
Вы можете связаться со мной по адресу [email protected] для получения дополнительной информации через мой профиль в Facebook facebook.com/davidc1987   -  person David Bekham    schedule 13.03.2013


Ответы (2)


Вы можете использовать показания датчика ускорения, а затем взять atan2 следующим образом:

angle = Math.Atan2(-x,y) * 180.0 / Math.PI;

где «угол» — это ориентация устройства относительно портретной ориентации по умолчанию.

person Hyndrix    schedule 06.12.2012
comment
Просто чтобы конкретизировать вышеизложенное, чтобы избавить других от хлопот, вам нужно: var accel = new Microsoft.Devices.Sensors.Accelerometer; var curr = ускорение.CurrentValue.Acceleration; вар х = текущий.Х; переменная у = текущий Y; ПС спасибо ОП - person LMK; 28.01.2014

Вам необходимо переопределить PhoneApplicationPage.OnOrientationChanged для получения уведомлений об изменении ориентации. Сначала вам нужно убедиться, что ваша страница поддерживает различные ориентации, которые вам нужны.

Затем вы можете изменить ориентацию изображения на основе этого.

person Paul Annetts    schedule 06.12.2012
comment
Я не хочу работать на основе ориентации страницы. Мне нужно работать на основе ориентации PhotoCaptureDevice. - person David Bekham; 06.12.2012
comment
Хм - это одно и то же (кроме того, что вы не можете определить, находитесь ли вы в портретной ориентации и вверх ногами). Вы показываете свое изображение на странице, верно? - person Paul Annetts; 06.12.2012
comment
Да, я отображаю изображение. Мне нужно повернуть изображение в зависимости от ориентации устройства. - person David Bekham; 06.12.2012
comment
Или вы можете использовать данные EXIF ​​с камеры после того, как фотография будет сделана — вы видели softwareisinthedetails.com/2012/11/, например? - person Paul Annetts; 06.12.2012