private void SetRotation(PageOrientation orientation) { if (orientation.HasFlag(PageOrientation.LandscapeLeft)) { BufferRotate = 0; } else if (orientation.HasFlag(PageOrientation.LandscapeRight)) { BufferRotate = 180; } else if (orientation.HasFlag(PageOrientation.PortraitUp)) { //The back camera renders upsidedown so use a different rotate if (Capture != null && Capture.SensorLocation == CameraSensorLocation.Front) { BufferRotate = 270; } else if (Capture != null && Capture.SensorLocation == CameraSensorLocation.Back) { BufferRotate = 90; } else { BufferRotate = 270; } } else if (orientation.HasFlag(PageOrientation.PortraitDown)) { //The back camera renders upsidedown so use a different rotate if (Capture != null && Capture.SensorLocation == CameraSensorLocation.Front) { BufferRotate = 90; } else if (Capture != null && Capture.SensorLocation == CameraSensorLocation.Back) { BufferRotate = 270; } else { BufferRotate = 90; } } if (Preview != null) { Preview.Rotate(BufferRotate); } }