Example #1
0
        /// <summary>
        /// Launches the camera using Plugin.Media and lets the user take one photo.
        /// Store photo data in PhotoModel.
        /// </summary>
        public async Task <PhotoModel> TakePhotoAsync()
        {
            bool b = await CrossMedia.Current.Initialize();

            if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
            {
                return(null);
            }

            var dt   = DateTime.Now;
            var file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions
            {
                PhotoSize   = PhotoSize.Medium,
                Directory   = "Photos",
                Name        = $"{dt:yyyyMMdd}_{dt:HHmmss}.jpg",
                SaveToAlbum = true
            });

            if (file != null)
            {
                var pm = new PhotoModel();

                await _transformHelper.ResizeAsync(file.Path, pm);
                await DeleteFileAsync(file.Path);

                return(pm);
            }
            return(null);
        }
Example #2
0
 /// <summary>
 /// Deletes the PhotoModel and its pictures using PCLStorage.
 /// </summary>
 /// <param name="pm">The PhotoModel to be deleted</param>
 public async Task DeletePhotoModelAsync(PhotoModel pm)
 {
     await DeleteFileAsync(pm.ResizedPath);
     await DeleteFileAsync(pm.Thumbnail);
 }