我想制作一个Xamarin.Android应用程序,我可以捕捉像相机一样的图片......
当我拍摄照片时,我必须以正确的方向转动照片。因此,当方向是横向或颠倒时,我想把它变成肖像...... 但我不知道怎么做到这一点。
这是我的代码
private async void TakePhotoButtonTapped(object sender, EventArgs e)
{
_camera.StopPreview();
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.SetMessage("Search for faces...");
builder.SetTitle("Warten");
AlertDialog dialog = builder.Create();
dialog.Show();
byte[] imageBytes;
var image = _textureView.Bitmap;
using (var imageStream = new MemoryStream())
{
await image.CompressAsync(Bitmap.CompressFormat.Jpeg, 50, imageStream);
image.Recycle();
imageBytes = imageStream.ToArray();
}
var base64image = Convert.ToBase64String(imageBytes);
FaceRecognition faceRecognition = new FaceRecognition();
var result = faceRecognition.SendPhoto(base64image);
dialog.Hide();
_camera.StartPreview();
}
答案 0 :(得分:1)
您可以使用Android.Content.Res.Orientation获取设备方向,当方向为Landscape
时,使用RequestedOrientation 请求活动方向。
例如:
if (Resources.Configuration.Orientation == Android.Content.Res.Orientation.Landscape)
{
RequestedOrientation = ScreenOrientation.Portrait;
}