示例#1
0
        private async Task OnChoosePicture()
        {
            try
            {
                var cameraStatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Camera);

                var storageStatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Storage);

                if (cameraStatus != PermissionStatus.Granted || storageStatus != PermissionStatus.Granted)
                {
                    var statuses = await CrossPermissions.Current.RequestPermissionsAsync(new Permission[]
                                                                                          { Permission.Camera, Permission.Storage });
                }

                var b = await CrossMedia.Current.Initialize();


                string cameraStr  = Translate.Get(nameof(AppResources.Camera));
                string galleryStr = Translate.Get(nameof(AppResources.Gallery));
                string cancelStr  = Translate.Get(nameof(AppResources.Cancel));

                var sourceChoice = await AlertService.Instance.DisplayActionSheet(
                    Translate.Get(nameof(AppResources.SelectSource)),
                    cancelStr, null, new[] { cameraStr, galleryStr });

                if (sourceChoice == cancelStr)
                {
                    return;
                }

                var mediaFile = (sourceChoice == cameraStr)
                    ? await TakePhoto()
                    : await PickFromGallery();

                if (mediaFile == null)
                {
                    return;
                }

                IsBusy = true;

                var image = new SignatureImage
                {
                    Base64Content = GetBase64Data(mediaFile),
                    FileName      = Path.GetFileName(mediaFile.Path)
                };
                PictureList.Add(image);
                RaisePropertyChanged(nameof(PictureList));
            }
            catch (Exception ex)
            {
                await Alert.DisplayError(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
示例#2
0
文件: FlacTag.cs 项目: yimig/uTag
        public void InitPictures()
        {
            var rawPicList = BlocksList.FindAll(b => b.BlockHeader.Type == FlacTagBlockHeader.BlockType.PICTURE);

            foreach (var rawPictureBlock in rawPicList)
            {
                PictureList.Add(new FlacTagPicture(rawPictureBlock.ToBytes()));
            }
        }
        public async void TakePicture()
        {
            clientPics = new ClientPictures
            {
                ClientId = Client.Id,
                Pictures = await TakePic()
            };

            if (clientPics.Pictures != null)
            {
                PictureList.Add(clientPics);
                database.Insert(clientPics);
                IMG = GetImage(clientPics.Pictures);
            }
            database.Update(ClientPics);
            ConverterAsync();
        }
        private void OnPicturesLoaded(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "IsSuccessfullyCompleted")
            {
                int icount = 0;
                PictureList.Clear();
                var pl = LoadingPictures.Result;
                foreach (var p in pl)
                {
                    PictureList.Add(new SongPicture(p));
                    if (p.selected)
                    {
                        icount++;
                    }
                }

                PictureList[0].Current = true;
                SelectedImagesCount    = icount;
            }
        }
示例#5
0
        public void UpdatePicturesTaxon()
        {
            Int64               pictureId = 33;
            IPicture            picture;
            String              filename;
            Int32               affectedRows;
            DateTime            lastModified;
            String              updatedBy;
            PictureMetaDataList pictureMetaData;
            IPictureResponse    pictureResponse;
            PictureList         pictures;

            picture      = GetPictureManager(true).GetPicture(GetUserContext(), pictureId, null, null, 0, false, string.Empty);
            filename     = @"\Temp\JN_Leiobunum-blackwalli_226679_Hane_new.jpg";
            lastModified = DateTime.Now;
            updatedBy    = GetUserContext().User.GetPerson(GetUserContext()).FullName;

            using (ITransaction transaction = GetUserContext().StartTransaction())
            {
                // Create picture.
                pictureResponse = GetPictureManager().CreatePictureFilename(GetUserContext(), picture.Image, filename, lastModified, picture.VersionId + 1, updatedBy, null);
                Assert.AreEqual(pictureResponse.AffectedRows, 1);
                Assert.IsTrue(pictureResponse.Id > 0);

                pictureMetaData = GetPictureManager().GetPictureMetaData(GetUserContext(), pictureResponse.Id, null);
                Assert.IsTrue(pictureMetaData.IsNotEmpty());
                picture = GetPictureManager().GetPicture(GetUserContext(),
                                                         pictureResponse.Id,
                                                         null,
                                                         null,
                                                         0,
                                                         false,
                                                         null);
                Assert.IsNotNull(picture);
                Assert.IsNull(picture.Taxon);

                // Set taxon.
                picture.Taxon = CoreData.TaxonManager.GetTaxon(GetUserContext(), TaxonId.Bear);
                pictures      = new PictureList();
                pictures.Add(picture);
                GetPictureManager().UpdatePictures(GetUserContext(), pictures, updatedBy);
                pictureMetaData = GetPictureManager().GetPictureMetaData(GetUserContext(), pictureResponse.Id, null);
                Assert.IsTrue(pictureMetaData.IsNotEmpty());
                picture = GetPictureManager().GetPicture(GetUserContext(),
                                                         pictureResponse.Id,
                                                         null,
                                                         null,
                                                         0,
                                                         false,
                                                         null);
                Assert.IsNotNull(picture);
                Assert.IsNotNull(picture.Taxon);
                Assert.AreEqual((Int32)(TaxonId.Bear), picture.Taxon.Id);

                // Remove taxon.
                picture.Taxon = null;
                pictures      = new PictureList();
                pictures.Add(picture);
                GetPictureManager().UpdatePictures(GetUserContext(), pictures, updatedBy);
                pictureMetaData = GetPictureManager().GetPictureMetaData(GetUserContext(), pictureResponse.Id, null);
                Assert.IsTrue(pictureMetaData.IsNotEmpty());
                picture = GetPictureManager().GetPicture(GetUserContext(),
                                                         pictureResponse.Id,
                                                         null,
                                                         null,
                                                         0,
                                                         false,
                                                         null);
                Assert.IsNotNull(picture);
                Assert.IsNull(picture.Taxon);

                // Clean up.
                affectedRows = GetPictureManager().DeletePictureFilename(GetUserContext(), null, filename, picture.PictureStringId);
                Assert.IsTrue(0 < affectedRows);
            }
        }