public async Task TakePicture() { if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { await Application.Current.MainPage.DisplayAlert("No Camera", "Sorry! No camera available.", "OK"); return; } var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { Directory = "TestPhotoFolder", SaveToAlbum = true, PhotoSize = PhotoSize.Medium, }); if (file == null) { IsVisible = false; return; } this.Source = ImageSource.FromStream(() => { var stream = file.GetStream(); return(stream); }); ListImage.Add(Source); }
public override LearningImage BackProject(LearningImage i) { int Scale = this.Scale; ListImage li = new ListImage(i.Height * Scale + Height, i.Width * Scale + Width); for (int h = 0; h < i.Height; h++) { for (int w = 0; w < i.Width; w++) { LearningImage trimed = i.Trim(new Rectangle(w, h, 1, 1)); LearningImage pasting = base.BackProject(trimed); for (int hh = 0; hh < pasting.Height; hh++) for (int ww = 0; ww < pasting.Width; ww++) li.Add(h * Scale + hh, w * Scale + ww, pasting.GetPlane(hh, ww)); } } LearningImage o = new LearningImage(i.Height * Scale, i.Width * Scale, this.FrameIn.Plane); for (int h = 0; h < o.Height; h++) for (int w = 0; w < o.Width; w++) o.SetPlane(h, w, li.Median(h + Height / 2, w + Width / 2)); return o; }
public async Task GetPhoto() { if (!CrossMedia.Current.IsTakePhotoSupported) { return; } var file = await CrossMedia.Current.PickPhotoAsync(new PickMediaOptions { PhotoSize = PhotoSize.Medium, }); if (file == null) { IsVisible = false; return; } this.Source = ImageSource.FromStream(() => { var stream = file.GetStream(); return(stream); }); ListImage.Add(Source); }