SimpleOrientationSensor Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет простой датчик ориентации.
См. пример внедрения в примере с датчиком простого положения в пространстве.
Этот датчик определяет текущую ориентацию квадранта указанного устройства, а также его состояние лицом вверх или вниз.
public ref class SimpleOrientationSensor sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SimpleOrientationSensor final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SimpleOrientationSensor
Public NotInheritable Class SimpleOrientationSensor
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Комментарии
В следующем примере показано, как приложение UWP, созданное с помощью XAML и C#, использует метод GetDefault для установления соединения с простым датчиком ориентации. Если простой датчик ориентации не найден, метод вернет значение NULL.
_sensor = SimpleOrientationSensor.GetDefault();
В следующем примере показано, как приложение UWP, созданное с помощью XAML, регистрирует обработчик событий OrientationChanged .
private void ScenarioEnable(object sender, RoutedEventArgs e)
{
if (_sensor != null)
{
Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
_sensor.OrientationChanged += new TypedEventHandler<SimpleOrientationSensor, SimpleOrientationSensorOrientationChangedEventArgs>(OrientationChanged);
ScenarioEnableButton.IsEnabled = false;
ScenarioDisableButton.IsEnabled = true;
// Display the current orientation once while waiting for the next orientation change
DisplayOrientation(ScenarioOutput_Orientation, _sensor.GetCurrentOrientation());
}
else
{
rootPage.NotifyUser("No simple orientation sensor found", NotifyType.StatusMessage);
}
}
В следующем примере содержится код XAML для обработчика событий, который записывает показания ориентации в форму приложения.
async private void OrientationChanged(object sender, SimpleOrientationSensorOrientationChangedEventArgs e)
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
DisplayOrientation(ScenarioOutput_Orientation, e.Orientation);
});
}
private void DisplayOrientation(TextBlock tb, SimpleOrientation orientation)
{
switch (orientation)
{
case SimpleOrientation.NotRotated:
tb.Text = "Not Rotated";
break;
case SimpleOrientation.Rotated90DegreesCounterclockwise:
tb.Text = "Rotated 90 Degrees Counterclockwise";
break;
case SimpleOrientation.Rotated180DegreesCounterclockwise:
tb.Text = "Rotated 180 Degrees Counterclockwise";
break;
case SimpleOrientation.Rotated270DegreesCounterclockwise:
tb.Text = "Rotated 270 Degrees Counterclockwise";
break;
case SimpleOrientation.Faceup:
tb.Text = "Faceup";
break;
case SimpleOrientation.Facedown:
tb.Text = "Facedown";
break;
default:
tb.Text = "Unknown orientation";
break;
}
}
Журнал версий
Версия Windows | Версия пакета SDK | Добавленная стоимость |
---|---|---|
1809 | 17763 | FromIdAsync |
1809 | 17763 | GetDeviceSelector |
Свойства
DeviceId |
Возвращает идентификатор устройства, используемый в методе SimpleOrientationSensor.FromIdAsync . |
ReadingTransform |
Возвращает или задает преобразование, которое необходимо применить к данным датчика. Применяемые преобразования привязаны к ориентации экрана, с которой выравниваются данные датчика. |
Методы
FromIdAsync(String) |
Асинхронно извлекает объект SimpleOrientationSensor на основе указанного идентификатора устройства. |
GetCurrentOrientation() |
Возвращает простой датчик ориентации по умолчанию. |
GetDefault() |
Возвращает простой датчик ориентации по умолчанию. |
GetDeviceSelector() |
Извлекает строку расширенного синтаксиса запросов (AQS), используемую для перечисления доступных устройств SimpleOrientationSensor . |
События
OrientationChanged |
Происходит каждый раз, когда простой датчик ориентации сообщает о новом считывании датчика |
Применяется к
См. также раздел
- Пример работы с датчиком SimpleOrientation
- Пример кадра предварительного просмотра камеры (Windows 10)
- Пример приложения "Базовая камера" (Windows 10)
- Пример обнаружения лиц с камеры (Windows 10)
- Пример стабилизации видео (Windows 10)
- Пример элементов управления камерой вручную (Windows 10)
- Пример с высоким динамическим диапазоном (Windows 10)
- Пример расширенного захвата камеры