public void IF_OpenGallery(ISupportMediaResultListener _supportMediaResultListener, SyncPhotoOptions options, int _CodeRequest) { CodeRequest = _CodeRequest; supportMediaResultListener = _supportMediaResultListener; var pickerIntent = new Intent(SupportMediaXFSetup.Activity, typeof(GalleryPickerActivity)); SupportMediaXFSetup.Activity.StartActivity(pickerIntent); }
public void IF_OpenCamera(ISupportMediaResultListener _supportMediaResultListener, SyncPhotoOptions options, int _CodeRequest) { CodeRequest = _CodeRequest; supportMediaResultListener = _supportMediaResultListener; var pickerIntent = new Intent(SupportMediaXFSetup.Activity, typeof(CamActivity)); pickerIntent.PutExtra(Utils.SubscribeImageFromCamera, Utils.SubscribeImageFromCamera); SupportMediaXFSetup.Activity.StartActivity(pickerIntent); }
public async Task <SupportImageXF> IF_SyncPhotoFromCloud(ISupportMediaResultListener supportMediaResultListener, SupportImageXF imageSet, SyncPhotoOptions options) { try { bool FinishSync = false; Debug.WriteLine(imageSet.OriginalPath); var sortOptions = new PHFetchOptions(); sortOptions.SortDescriptors = new NSSortDescriptor[] { new NSSortDescriptor("creationDate", false) }; var FeechPhotoByIdentifiers = PHAsset.FetchAssetsUsingLocalIdentifiers( new string[] { imageSet.OriginalPath }, sortOptions).Cast <PHAsset>().FirstOrDefault(); if (FeechPhotoByIdentifiers != null) { var requestOptions = new PHImageRequestOptions() { NetworkAccessAllowed = true, DeliveryMode = PHImageRequestOptionsDeliveryMode.HighQualityFormat, ResizeMode = PHImageRequestOptionsResizeMode.None, }; var requestSize = new CoreGraphics.CGSize(options.Width, options.Height); requestSize = PHImageManager.MaximumSize; PHImageManager.DefaultManager.RequestImageForAsset(FeechPhotoByIdentifiers, requestSize, PHImageContentMode.AspectFit, requestOptions, (result, info) => { if (result != null) { var newImage = result.ResizeImage(options); imageSet.ImageRawData = newImage.AsJPEG(options.Quality).ToArray(); } FinishSync = true; }); do { if (FinishSync) { return(imageSet); } await Task.Delay(1000); } while (!FinishSync); } return(imageSet); } catch (Exception ex) { Debug.WriteLine(ex.StackTrace); return(imageSet); } }
public void IF_OpenGallery(ISupportMediaResultListener _supportMediaResultListener, SyncPhotoOptions options, int _CodeRequest) { CodeRequest = _CodeRequest; supportMediaResultListener = _supportMediaResultListener; UIStoryboard storyboard = UIStoryboard.FromName("SupportMediaStoryboard", null); SupportGalleryPickerController controller = (SupportGalleryPickerController)storyboard.InstantiateViewController("SupportGalleryPickerController"); controller.syncPhotoOptions = options; NaviExtensions.OpenController(controller); }
public Task <SupportImageXF> IF_SyncPhotoFromCloud(ISupportMediaResultListener supportMediaResultListener, SupportImageXF imageSet, SyncPhotoOptions options) { var bitmap = imageSet.OriginalPath.GetOriginalBitmapFromPath(options); using (var streamBitmap = new MemoryStream()) { bitmap.Compress(Bitmap.CompressFormat.Jpeg, (int)(options.Quality * 100), streamBitmap); imageSet.ImageRawData = streamBitmap.ToArray().ToArray(); bitmap.Recycle(); return(Task.FromResult <SupportImageXF>(imageSet)); } }