Как повернуть изображение на 90 градусов при каждом нажатии кнопки в приложении Xamarin форм? - PullRequest
1 голос
/ 07 апреля 2020

Я использую плагин. Медиа, чтобы выбрать фотографию из моей галереи. Я хотел бы предоставить пользователям возможность поворачивать изображение, когда они нажимают на него.

Когда я использую свойство поворота, я могу повернуть изображение один раз. Но я бы хотел повернуть его на 90 градусов каждый раз, когда пользователь нажимает кнопку.

if (!CrossMedia.Current.IsPickPhotoSupported)
                {
                    await  DisplayAlert("Photos Not Supported", "Permission not granted 
                                    to photos", "OK");
                    return;
                }
                var file =   Plugin.Media.CrossMedia.Current.PickPhotoAsync(new 
                                  Plugin.Media.Abstractions.PickMediaOptions
                {
                    PhotoSize = Plugin.Media.Abstractions.PhotoSize.Small
                });
                if (file == null)
                    return;
                imageProfile.Source = ImageSource.FromStream(() =>
                {
                    var stream = file.Result.GetStream();
                    file.Result.Dispose();
                    return stream;
                });

public void rotateButton_Clicked(object sender, Event args e) {

           imageProfile.RotateX(90);
           // This event allows me to rotate the image only once.
}

1 Ответ

3 голосов
/ 07 апреля 2020
int angle = 0;

public void rotateButton_Clicked(object sender, Event args e) {

    angle += 90;
    imageProfile.RotateX(angle);
}
...