コード例 #1
0
        public static async Task <MediaFile> PickImage(PictureSelectionMode selectionMode)
        {
            bool permissionGranted = await AskPermissions();

            if (!permissionGranted)
            {
                await DisplayAlert("Missing Permissions", "Some permissions are missing");

                return(null);
            }


            await CrossMedia.Current.Initialize();



            if (selectionMode == PictureSelectionMode.PICK_FROM_GALLERY)
            {
                if (!CrossMedia.Current.IsPickPhotoSupported)
                {
                    await DisplayAlert("Error", "No media available");

                    return(null);
                }

                return(await CrossMedia.Current.PickPhotoAsync(new PickMediaOptions()
                {
                    PhotoSize = PhotoSize.Small,
                }));
            }

            if (selectionMode == PictureSelectionMode.PICK_FROM_CAMERA)
            {
                if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
                {
                    await DisplayAlert("Error", "No media available");

                    return(null);
                }

                return(await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
                {
                    Directory = "Sample",
                    Name = "test.jpg",
                    PhotoSize = PhotoSize.Small,
                }));
            }

            return(null);
        }
コード例 #2
0
        public void Select(PictureSelectionMode selectionMode)
        {
            foreach (Control control in this.Controls)
            {
                PictureViewBox pvb = (PictureViewBox)control;

                switch (selectionMode)
                {
                    case PictureSelectionMode.All:
                        pvb.Select(true);
                        break;
                    case PictureSelectionMode.Inverse:
                        pvb.Select(!pvb.IsSelected);
                        break;
                    case PictureSelectionMode.None:
                        pvb.Select(false);
                        break;
                }
            }
        }