async void TakePhoto_Clicked(object sender, System.EventArgs e) { await CrossMedia.Current.Initialize(); if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { await DisplayAlert("No Camera", ":) No camera avaiable", "Close"); return; } if (ImageFile != null) { ImageFile.Dispose(); } ImageFile = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { }); if (ImageFile == null) { return; } Console.WriteLine(ImageFile.AlbumPath); MainImage.Source = ImageSource.FromStream(() => { var stream = ImageFile.GetStream(); return(stream); }); }
private async Task MakePredictionRequest(MediaFile file) { try { Contract.Ensures(Contract.Result <Task>() != null); var client = new HttpClient(); client.DefaultRequestHeaders.Add("Prediction-Key", "9b2cd115e674489c892a12aa9b4747f2"); string url = "https://southcentralus.api.cognitive.microsoft.com/customvision/v1.0/Prediction/9ced7a98-a868-45b5-a7ca-e9112877744a/image?iterationId=decd2fad-4dfe-4c98-a7f3-7b82e1b058e6"; HttpResponseMessage response; byte[] byteData = GetImageAsByteArray(file); using (var content = new ByteArrayContent(byteData)) { content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); response = await client.PostAsync(url, content); if (response.IsSuccessStatusCode) { var responseString = await response.Content.ReadAsStringAsync(); EvaluationModel responseModel = JsonConvert.DeserializeObject <EvaluationModel>(responseString); List <Prediction> predictions = responseModel.Predictions; foreach (Prediction prediction in predictions) { if (prediction.Probability >= 0.8) { var locator = CrossGeolocator.Current; locator.DesiredAccuracy = 50; var position = await locator.GetPositionAsync(10000); foodLabel.Text = prediction.Tag; shareButton.IsVisible = true; unsentModel = new FoodLocationModel() { Title = prediction.Tag, Longitude = (float)position.Longitude, Latitude = (float)position.Latitude }; file.Dispose(); return; } } foodLabel.Text = "What is this? Is this even food?"; } //Get rid of file once we have finished using it file.Dispose(); } } catch (Exception e) { Console.WriteLine("{0} Exception caught", e); } }
private async Task TakePicture() { await CrossMedia.Current.Initialize(); _imageSource = null; try { MediaFile mediaFile = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions { PhotoSize = Plugin.Media.Abstractions.PhotoSize.Medium, SaveToAlbum = true, DefaultCamera = CameraDevice.Rear }); if (mediaFile == null) { return; } byte[] cropedBytes = await CrossXMethod.Current.CropImageFromOriginalToBytes(mediaFile.Path); byte[] resizeByte = DependencyService.Get <FuelDashApp.Helper.Interface.IMediaService>().ResizeImage(cropedBytes, 100, 100); if (resizeByte != null) { FileInfo fi = new FileInfo(mediaFile.Path); //_vm.ImageName = fi.Name; if (resizeByte != null) { ImageSource AvatarImageSource = ImageSource.FromStream(() => { var cropedImage = new MemoryStream(resizeByte); // _vm.ImageLength = cropedImage.Length; mediaFile.Dispose(); return(cropedImage); }); // _imageSource = AvatarImageSource; } else { mediaFile.Dispose(); } //image = _imageSource; //_vm.ImageAsByte = resizeByte; //_vm.EditImage = _imageSource; } } catch (Exception ex) { Debug.WriteLine(ex.Message); } }
private async void OnTakePhotoButtonClicked(object sender, EventArgs e) { await CrossMedia.Current.Initialize(); // Take photo if (CrossMedia.Current.IsCameraAvailable || CrossMedia.Current.IsTakePhotoSupported) { photo = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions { Name = "image.jpg", PhotoSize = PhotoSize.Small }); if (photo != null) { image.Source = ImageSource.FromStream(photo.GetStream); } } else { await DisplayAlert("No Camera", "Camera unavailable.", "OK"); } ((Button)sender).IsEnabled = false; activityIndicator.IsRunning = true; // Recognize emotion try { if (photo != null) { using (var photoStream = photo.GetStream()) { var results = await visionClient.DescribeAsync(photoStream, 1); if (results != null) { emotionResultLabel.Text = results.Description.Captions.FirstOrDefault().Text; } photo.Dispose(); } } } catch (Exception ex) { Debug.WriteLine(ex.Message); photo.Dispose(); } activityIndicator.IsRunning = false; ((Button)sender).IsEnabled = true; }
async void Capture() { await CrossMedia.Current.Initialize(); // Take photo if (CrossMedia.Current.IsCameraAvailable || CrossMedia.Current.IsTakePhotoSupported) { photo = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions { Name = "emotion.jpg", Directory = "Celula", PhotoSize = PhotoSize.Small }); if (photo != null) { image.Source = ImageSource.FromStream(photo.GetStream); } } else { await DisplayAlert("No Camera", "Camera unavailable.", "OK"); } try { if (photo != null) { using (var photoStream = photo.GetStream()) { Emotion[] emotionResult = await emotionClient.RecognizeAsync(photoStream); if (emotionResult.Any()) { // Emotions detected are happiness, sadness, surprise, anger, fear, contempt, disgust, or neutral. emotion.Text = TranslateEmotions.emotiones(emotionResult.FirstOrDefault().Scores.ToRankedList().FirstOrDefault().Key, result); } else { emotion.Text = "No emotion Detected"; } photo.Dispose(); } } } catch (Exception ex) { Debug.WriteLine(ex.Message); } photo.Dispose(); }
public async Task <MyImage> GetPhotoAsync(GetPhotoType photoType) { MediaFile file = await GetPhotoMediaFileAsync(photoType); if (file == null) { return(null); } var image = new MyImage { Margin = new Thickness(5, 0, 5, 5), HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.Start }; //Ten stream może być tworzyny w zły sposób. Nie wiem czy jest potrzeba pobierać go aż 2 razy. var stream = file.GetStream(); image.Source = ImageSource.FromStream(() => { return(stream); }); var streamTwo = file.GetStream(); file.Dispose(); var bytes = new byte[streamTwo.Length]; await streamTwo.ReadAsync(bytes, 0, (int)streamTwo.Length); image.Base64Representation = Convert.ToBase64String(bytes); return(image); }
private async void BtnSubmit_Clicked(object sender, EventArgs e) { var imageArray = FilesHelper.ReadFully(file.GetStream()); file.Dispose(); var country = PickerCountry.Items[PickerCountry.SelectedIndex]; var bloodGroup = PickerBloodGroup.Items[PickerBloodGroup.SelectedIndex]; DateTime dateTime = DateTime.Now; int d = Convert.ToInt32(dateTime.ToOADate()); var bloodUser = new BloodUser() { Username = EntName.Text, Email = EntEmail.Text, Phone = EntPhone.Text, BloodGroup = bloodGroup, Country = country, ImageArray = imageArray, Date = d }; ApiServices apiServices = new ApiServices(); bool response = await apiServices.RegisterDonor(bloodUser); if (!response) { await DisplayAlert("Alert", "Something wrong", "Cancel"); } else { await DisplayAlert("Hi", "Your record has beed added successfully", "Alright"); } }
private async void BtnSubmit_OnClicked(object sender, EventArgs e) { var imageArray = FilesHelper.ReadFully(file.GetStream()); file.Dispose(); var country = PickerCountry.Items[PickerCountry.SelectedIndex]; var bloodGroup = PickerBloodGroup.Items[PickerBloodGroup.SelectedIndex]; DateTime dateTime = DateTime.Now; int d = Convert.ToInt32(dateTime.ToOADate()); var bloodUser = new BloodUser() { UserName = EntName.Text, Email = EntEmail.Text, Phone = EntPhone.Text, BloodGroup = bloodGroup, Judetul = country, ImageArray = imageArray, Date = d }; ApiServices apiServices = new ApiServices(); bool response = await apiServices.RegisterDonatori(bloodUser); if (!response) { DisplayAlert("Alert", "Ceva nu-i bine", "Cancel"); } else { DisplayAlert("Salut", "Ai fost inregistrat cu succes", "OK"); } }
private async Task ExecuteCameraCommand() { MediaFile file = await CrossMedia.Current.TakePhotoAsync( new StoreCameraMediaOptions { PhotoSize = PhotoSize.Small }); if (file == null) { return; } byte[] imageAsBytes; using (MemoryStream memoryStream = new MemoryStream()) { file.GetStream().CopyTo(memoryStream); file.Dispose(); imageAsBytes = memoryStream.ToArray(); } if (imageAsBytes.Length > 0) { IImageResizer resizer = DependencyService.Get <IImageResizer>(); imageAsBytes = resizer.ResizeImage(imageAsBytes, 1080, 1080); string base64String = Convert.ToBase64String(imageAsBytes); Debug.WriteLine(base64String); ImageSource imageSource = ImageSource.FromStream(() => new MemoryStream(imageAsBytes)); Images.Add(new ImageModel { Source = imageSource, OrgImage = imageAsBytes }); } }
private async void BtnApply_Clicked(object sender, EventArgs e) { var imageArray = FileHelper.ReadFully(file.GetStream()); file.Dispose(); var instructor = new Instructor() { Name = EntName.Text, Language = EntLanguage.Text, Nationality = EntNationality.Text, Gender = PickerGender.Items[PickerGender.SelectedIndex], Phone = EntPhone.Text, Email = EntEmail.Text, Education = EntEducation.Text, Experience = PickerExperience.Items[PickerExperience.SelectedIndex], HourlyRate = PickerHourlyRate.Items[PickerHourlyRate.SelectedIndex], CourseDomain = PickerCourseDomain.Items[PickerCourseDomain.SelectedIndex], City = PickerCity.Items[PickerCity.SelectedIndex], OneLineTitle = EntOneLineTitle.Text, Description = EdtDescription.Text, ImageArray = imageArray, ImagePath = "" }; ApiService service = new ApiService(); var response = await service.BecomeAnInstructor(instructor); if (!response) { await DisplayAlert("ERROR", "Does not compute", "EXTERMINATE!"); } else { await DisplayAlert("Congratulations", "You are now an instructor. You have also been transformed into a cat", "Chur bro!"); } }
async Task CreateImageDescription(MediaFile file) { var client = new HttpClient(); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "51d20aa4b6164fabbf162f9d2de32c91"); string url = "https://westcentralus.api.cognitive.microsoft.com/vision/v1.0/analyze?visualFeatures=Description"; HttpResponseMessage response; byte[] byteData = GetImageAsByteArray(file); using (var content = new ByteArrayContent(byteData)) { content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); response = await client.PostAsync(url, content); if (response.IsSuccessStatusCode) { var responseString = await response.Content.ReadAsStringAsync(); PhotoCaptionModel model = JsonConvert.DeserializeObject <PhotoCaptionModel>(responseString); string imageCaption = model.description.captions.FirstOrDefault().text; float captionConfidence = model.description.captions.FirstOrDefault().confidence; imageCaption = char.ToUpper(imageCaption[0]) + imageCaption.Substring(1); CaptionLabel.Text = (imageCaption); await postLocationAsync(imageCaption, captionConfidence); } file.Dispose(); } }
async void onTakeVideo(object sender, System.EventArgs e) { if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakeVideoSupported) { DisplayAlert("No Camera", ":( No camera avaialble.", "OK"); return; } _mediaFile = await CrossMedia.Current.TakeVideoAsync(new Plugin.Media.Abstractions.StoreVideoOptions { Name = "video.mp4", Directory = "DefaultVideos", }); if (_mediaFile == null) { return; } DisplayAlert("Video Recorded", "Location: ", "OK"); _mediaFile.Dispose(); }
async Task MakePredictionRequest(MediaFile file) { var client = new System.Net.Http.HttpClient(); client.DefaultRequestHeaders.Add("Prediction-Key", "49918e8a54e64e948382c2657e5343e3"); string url = "https://southcentralus.api.cognitive.microsoft.com/customvision/v1.0/Prediction/70c2cbca-16cb-4848-a9fb-f959ce7686fc/image?iterationId=f3042f17-a2a7-4670-b0f9-ee3ef66ea57a"; System.Net.Http.HttpResponseMessage response; byte[] byteData = GetImageAsByteArray(file); using (var content = new ByteArrayContent(byteData)) { content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); response = await client.PostAsync(url, content); if (response.IsSuccessStatusCode) { var responseString = await response.Content.ReadAsStringAsync(); EvaluationModel responseModel = JsonConvert.DeserializeObject <EvaluationModel>(responseString); double max = responseModel.Predictions.Max(m => m.Probability); TagLabel.Text = (max >= 0.5) ? "THIS PERSON IS LIKELY AN ALIEN" : "NOT AN ALIEN, YOU'RE SAFE"; } //Get rid of file once we have finished using it file.Dispose(); } }
private async void cameraBtnClicked(object sender, EventArgs e) { var action = await DisplayActionSheet("Take or select photo", "Cancel", null, "Take Picture", "Select picture"); MediaFile m = null; switch (action) { case "Take Picture": m = await App.MANAGER.MediaContorller.TakePicture(); break; case "Select picture": m = await App.MANAGER.MediaContorller.SelectPicture(); break; } if (m == null) { return; } IImageProcessing processer = DependencyService.Get <IImageProcessing>(); Bitmap b = await processer.ScaleBitmap(m.Source, await processer.GetBitmapOptionsOfImageAsync(m.Source), 200, 200); image.SetImageBitmap(b); pic = processer.compress(b); m.Dispose(); }
public async Task <ResponseEntity> UploadImageAsync(MediaFile file) { byte[] byteArray; using (var memoryStream = new MemoryStream()) { file.GetStream().CopyTo(memoryStream); file.Dispose(); byteArray = memoryStream.ToArray(); } ByteArrayContent byteArrayContent = new ByteArrayContent(byteArray); Uri webService = new Uri(""); HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, webService); MultipartFormDataContent dataContent = new MultipartFormDataContent(); byteArrayContent.Headers.Add("Content-Type", "application/octet-stream"); dataContent.Add(byteArrayContent, "fileName"); try { HttpResponseMessage httpRequest = await client.SendAsync(requestMessage, HttpCompletionOption.ResponseContentRead, CancellationToken.None); var responseContent = await httpRequest.Content.ReadAsStringAsync(); //ProgressBarWidth += Percentage; } catch (Exception ex) { Debug.WriteLine(ex.Message); } throw new Exception(); }
async Task MakePredictionRequest(MediaFile file) { Contract.Ensures(Contract.Result <Task>() != null); var client = new HttpClient(); client.DefaultRequestHeaders.Add("Prediction-Key", "a51ac8a57d4e4345ab0a48947a4a90ac"); string url = "https://southcentralus.api.cognitive.microsoft.com/customvision/v1.0/Prediction/4da1555c-14ca-4aaf-af01-d6e1e97e5fa6/image?iterationId=7bc76035-3825-4643-917e-98f9d9f79b71"; HttpResponseMessage response; byte[] byteData = GetImageAsByteArray(file); using (var content = new ByteArrayContent(byteData)) { content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); response = await client.PostAsync(url, content); if (response.IsSuccessStatusCode) { var responseString = await response.Content.ReadAsStringAsync(); EvaluationModel responseModel = JsonConvert.DeserializeObject <EvaluationModel>(responseString); double max = responseModel.Predictions.Max(m => m.Probability); TagLabel.Text = (max >= 0.5) ? "Hotdog" : "Not hotdog"; } //Get rid of file once we have finished using it file.Dispose(); } }
public async Task <Tuple <ImageSource, string, Byte[], Stream> > TakePhoto() { try { if (!CrossMedia.Current.IsTakePhotoSupported) { await App.Current.MainPage.DisplayAlert("Message", "Camera not Available!", "Okay"); return(new Tuple <ImageSource, string, Byte[], Stream>(null, ":( Camera not Available!", null, null)); } string imageName = "ErpTestImage_" + Guid.NewGuid().ToString() + ".jpg"; MediaFile file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions() { Directory = "ERPWeb", SaveToAlbum = true, Name = imageName, CompressionQuality = 92, CustomPhotoSize = 15, }); // var path = file.Path; return(new Tuple <ImageSource, string, Byte[], Stream>(ImageSource.FromStream(() => { var stream = file.GetStream(); file.Dispose(); return stream; }), imageName, ConvertStreamToByteArray(file.GetStream()), file.GetStream())); //var promptConfig = new PromptConfig(); //promptConfig.InputType = InputType.Name; //promptConfig.IsCancellable = true; //promptConfig.Message = "Enter Image Name"; //var result = await UserDialogs.Instance.PromptAsync(promptConfig); //if (result.Ok) //{ // string imageName = result.Text; // MediaFile file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions() // { // Directory = "Ezblast", // SaveToAlbum = true, // Name = imageName // }); // // var path = file.Path; // return new Tuple<ImageSource, string, Byte[], Stream>(ImageSource.FromStream(() => // { // var stream = file.GetStream(); // file.Dispose(); // return stream; // }), imageName, ConvertStreamToByteArray(file.GetStream()), file.GetStream()); //} return(null); } catch (Exception ex) { return(null); } }
async Task MakePredictionRequest(MediaFile file) { var client = new HttpClient(); client.DefaultRequestHeaders.Add("Prediction-Key", "9edb926f637d4217a56323b6538e14a4"); string url = "https://southcentralus.api.cognitive.microsoft.com/customvision/v1.0/Prediction/29e9309a-cc47-4123-b301-edaa3047ff89/image?iterationId=c8d11c4e-4192-4cef-8291-127ad9a74fcc"; HttpResponseMessage response; byte[] byteData = GetImageAsByteArray(file); using (var content = new ByteArrayContent(byteData)) { content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); response = await client.PostAsync(url, content); if (response.IsSuccessStatusCode) { var responseString = await response.Content.ReadAsStringAsync(); EvaluationModel responseModel = JsonConvert.DeserializeObject <EvaluationModel>(responseString); double max = responseModel.Predictions.Max(m => m.Probability); TagLabel.Text = (max >= 0.2) ? "SuperHero" : "Not SuperHero"; } //Get rid of file once we have finished using it file.Dispose(); } }
private async void LoadCamera(object sender, EventArgs e) { await CrossMedia.Current.Initialize(); if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { await DisplayAlert("No Camera", ":( No camera available.", "OK"); return; } MediaFile file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions { PhotoSize = PhotoSize.Medium, Directory = "Sample", Name = $"{DateTime.UtcNow}.jpg" }); if (file == null) { return; } image.Source = ImageSource.FromStream(() => { return(file.GetStream()); }); file.Dispose(); }
public async Task <Tuple <ImageSource, string, Byte[], Stream, string> > TakePhoto() { if (!CrossMedia.Current.IsTakePhotoSupported) { await UserDialogs.Instance.AlertAsync("Message", "Camera not Available!", "Okay"); return(new Tuple <ImageSource, string, Byte[], Stream, string>(null, ":( Camera not Available!", null, null, null)); } string imageName = "ProfilePic" + Guid.NewGuid() + ".png"; MediaFile file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions() { // Directory = "IncidentTrackerStorage", SaveToAlbum = true, Name = imageName, CustomPhotoSize = 20, PhotoSize = PhotoSize.Small }); // var path = file.Path; return(new Tuple <ImageSource, string, Byte[], Stream, string>(ImageSource.FromStream(() => { var stream = file.GetStream(); file.Dispose(); return stream; }), imageName, ConvertStreamToByteArray(file.GetStream()), file.GetStream(), null)); }
private async void OnMySecondFavoriteAction(object obj) { await CrossMedia.Current.Initialize(); if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { TakePhotoFailed?.Invoke(this, new AlertEventArgs { Title = "No Camera", Message = "no camera" }); return; } _file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { PhotoSize = PhotoSize.Small, CompressionQuality = 10, //CustomPhotoSize = 50, Directory = "Sample", Name = "test.jpg" }); if (_file == null) { return; } var stream = _file.GetStream(); var bytes = new byte[stream.Length]; await stream.ReadAsync(bytes, 0, (int)stream.Length); string base64 = System.Convert.ToBase64String(bytes); this.PhotoSourceBaseSixtyFourEntry = base64; TakePhotoSucceeded?.Invoke(this, new PhotoSavedSuccessAlertEventArgs { Title = "File Location", Message = _file.Path }); //await DisplayAlert("File Location", _file.Path, "OK"); //_dogImage.Source = ImageSource.FromStream(() => //{ // var stream = file.GetStream(); // file.Dispose(); // return stream; //}); //or: //HANDLE VIA BINDING //_dogImage.Source = ImageSource.FromFile(_file.Path); this.PhotoURLEntry = _file.Path; //_dogImage.Source = ImageSource.FromFile(_file.Path); stream.Dispose(); _file.Dispose(); }
async Task MakePredictionRequest(MediaFile file) { var client = new HttpClient(); client.DefaultRequestHeaders.Add("Prediction-Key", "e255f72dcb9b4f69917f05309ab246d2"); string url = "https://southcentralus.api.cognitive.microsoft.com/customvision/v1.0/Prediction/f4777059-a48b-4ab0-b43f-d585c83e164e/image?iterationId=92c71ce9-4e94-4ced-a344-031e5939af17"; HttpResponseMessage response; byte[] byteData = GetImageAsByteArray(file); using (var content = new ByteArrayContent(byteData)) { content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); response = await client.PostAsync(url, content); if (response.IsSuccessStatusCode) { var responseString = await response.Content.ReadAsStringAsync(); EvaluationModel responseModel = JsonConvert.DeserializeObject <EvaluationModel>(responseString); double max = responseModel.Predictions.Max(m => m.Probability); TagLabel.Text = (max >= 0.5) ? "This is a photo of rice (Probability: " + max + ")." : " This is not a photo of rice (Probability: " + max + ")."; file.Dispose(); } } }
public async Task <Tuple <ImageSource, string, Byte[], Stream, string> > PickPhoto() { if (!CrossMedia.Current.IsPickPhotoSupported) { await UserDialogs.Instance.AlertAsync("Photos Not Supported", ":( Permission not granted to take photo", "OK"); return(new Tuple <ImageSource, string, Byte[], Stream, string>(null, ":( Permission not granted to take photo", null, null, null)); } // string imageName = "Ld" + new Guid(); MediaFile file = await CrossMedia.Current.PickPhotoAsync(new PickMediaOptions() { CustomPhotoSize = 30, PhotoSize = PhotoSize.Medium, }); var words = file.Path.Split('/'); var path = words[words.Length - 1]; return(new Tuple <ImageSource, string, Byte[], Stream, string>(ImageSource.FromStream(() => { var stream = file.GetStream(); file.Dispose(); return stream; }), path, ConvertStreamToByteArray(file.GetStream()), file.GetStream(), null)); }
private async void BtnApply_OnClicked(object sender, EventArgs e) { var imageArray = FilesHelper.ReadFully(file.GetStream()); file.Dispose(); var instructor = new Instructor() { Name = EntName.Text, Language = EntLanguage.Text, Nationality = EntNationality.Text, Gender = PickerGender.Items[PickerGender.SelectedIndex], Phone = EntPhone.Text, Email = EntEmail.Text, Education = EntEducation.Text, Experience = PickerExperience.Items[PickerExperience.SelectedIndex], HourlyRate = PickerHourlyRate.Items[PickerHourlyRate.SelectedIndex], CourseDomain = PickerCourseDomain.Items[PickerCourseDomain.SelectedIndex], City = PickerCity.Items[PickerCity.SelectedIndex], OneLineTitle = EntOneLineTitle.Text, Description = EdtDescription.Text, ImageArray = imageArray, }; ApiService apiService = new ApiService(); var response = await apiService.BecomeAnInstructor(instructor); if (!response) { await DisplayAlert("Oops", "Something wrong...", "Cancel"); } else { await DisplayAlert("Congratulations", "You're now an instructor at teachify.", "Alright"); } }
private async void Gravar() { Item item = new Item(); //Secao secao = await App.DbSecao.GetSecaoAsync(); item.Descricao = txtDescricao.Text; item.IDUsuario = 1; item.Nome = txtNome.Text; decimal decValor = 0; if (decimal.TryParse(txtValor.Text, out decValor)) { item.Valor = Convert.ToDecimal(txtValor.Text); } if (photo != null) { MemoryStream msImage = new MemoryStream(); photo.GetStream().CopyTo(msImage); photo.Dispose(); item.Imagem = msImage.ToArray(); } if (await App.DbItem.SaveItemAsync(item) == 1) { await DisplayAlert("Atenção!", "Item gravado com sucesso!", "OK"); //this.cli } else { await DisplayAlert("Atenção!", "Erro ao gravar item!", "OK"); } }
private async void BtnApply_Clicked(object sender, EventArgs e) { var imageArray = FilesHelper.ReadFully(file.GetStream()); file.Dispose(); var instructor = new Instructor() { Name = EntName.Text, Language = EntLanguage.Text, Nationality = EntNationality.Text, Gender = PickerGender.Items[PickerGender.SelectedIndex], Phone = EntPhone.Text, Email = EntEmail.Text, Education = EntEducation.Text, Experience = PickerExperience.Items[PickerExperience.SelectedIndex], CourseDomain = PickerCourceDomain.Items[PickerCourceDomain.SelectedIndex], HourlyRate = PickerHourlyRate.Items[PickerHourlyRate.SelectedIndex], City = PickerCity.Items[PickerCity.SelectedIndex], OneLineTitle = EntOneLineTitle.Text, Description = EntDescription.Text, ImageArray = imageArray, }; ApiService apiService = new ApiService(); var response = await apiService.BecomeAnInstructor(instructor); if (!response) { await DisplayAlert("Помилка", "Щось пішло не так", "Повернутись"); } else { await DisplayAlert("Вітаємо", "Ви стали викладачем", "Повернутись"); } }
private async Task <byte[]> TakePicture() { await CrossMedia.Current.Initialize(); if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { await NavigationManager.CurrentPage.DisplayAlert(TextResources.Camera, TextResources.NoCameraAvailable, TextResources.OkButtonText); return(null); } MediaFile pictureMediaFile = await CrossMedia.Current.TakePhotoAsync( new StoreCameraMediaOptions { AllowCropping = true, SaveToAlbum = false, CompressionQuality = 10, PhotoSize = PhotoSize.Small }); if (pictureMediaFile == null) { return(null); } Stream resStream = pictureMediaFile.GetStream(); pictureMediaFile.Dispose(); return(StreamToByteArray(resStream)); }
async void OnTakeVideoButtonClicked(object sender, EventArgs args) { if (!Media.IsCameraAvailable || !Media.IsTakeVideoSupported) { DisplayAlert("No Camera", ":( No camera available.", "OK"); return; } MediaFile file = await Media.TakeVideoAsync(new StoreVideoOptions { Directory = "Sample", Name = "test.mp4" }); if (file != null) { ImageSource imageSource = ImageSource.FromStream(() => { var stream = file.GetStream(); return(stream); }); Debug.WriteLine("Video File Path: {0}", file.Path); file.Dispose(); } }
public async void subir_perfil() { try { string now1 = DateTime.Now.ToString().Replace(' ', '_').Replace('/', '_').Replace(':', '_'); if (file == null) { await DisplayAlert("Alerta", "Falta definir una foto.", "OK"); } await Upload(file, "_foto_" + now1 + ".jpg"); var foto1 = "_foto_" + now1 + ".jpg"; foto1 = WebUtility.UrlEncode(foto1); foto = foto1; btnNext.IsEnabled = true; perfil.Source = ImageSource.FromStream(() => { stream = file.GetStreamWithImageRotatedForExternalStorage(); return(stream); }); StackFoto.Children.RemoveAt(1); StackFoto.Children.Add(perfil); file.Dispose(); } catch (Exception ex) { } }
internal async Task <bool> SetUserProfileImageAsync(int userProfileId, MediaFile file) { bool isUploaded = false; // Update image on displayed form immediately. MyProfileImage = ImageSource.FromStream(() => { var stream = file.GetStream(); file.Dispose(); return(stream); }); var fileInfo = new FileInfo(file.Path); if (IsConnected && file != null) { // Save file to API/Azure. var stream = file.GetStream(); UserProfilePhoto userProfilePhoto = new UserProfilePhoto() { UserProfileId = userProfileId, FileName = fileInfo.Name, Data = stream.ToArray() }; isUploaded = await DataLoader.SaveUserProfileImageAsync(userProfilePhoto); if (isUploaded) { // Get the thumbnail that was just created by the server API. await RefreshUserProfileImageAsync(userProfileId); } } return(isUploaded); }
public void ConstructWithManagedLifespanAndDispose() { File.Copy("image1.jpg", "temp.jpg"); var file = new MediaFile("temp.jpg", true); Assert.IsTrue(File.Exists(file.FileName)); file.Dispose(); Assert.IsFalse(File.Exists(file.FileName)); }
public void ConstructAndDispose() { var file = new MediaFile("transitions.wmv"); string filePath = Path.GetFullPath("transitions.wmv"); Assert.AreEqual(filePath, file.FileName); Assert.AreEqual(7.999, file.Length); Assert.AreEqual(TimelineBuilder.ToUnits(7.999), file.LengthInUnits); Assert.AreEqual(-1, file.LengthInFrames); // not assigned till later file.Dispose(); Assert.IsTrue(File.Exists("transitions.wmv")); }