//renvoie les images des favoris de l'utilsateur /** * Return favorite pictures of the user */ public async Task <ImageContainer> createImageContainerFromFavorites() { ImageContainer imageContainer = new ImageContainer(); var client_fav = new ImgurClient(client_id, imgur_token); var endpoint = new AccountEndpoint(client_fav); var favourites = await endpoint.GetAccountFavoritesAsync(); for (int i = 0; i < favourites.Count(); i++) { if (favourites.ElementAt(i).GetType().ToString() == "Imgur.API.Models.Impl.GalleryImage") { GalleryImage galleryImage = (GalleryImage)(favourites.ElementAt(i)); Windows.UI.Xaml.Controls.Image imgImgur = new Windows.UI.Xaml.Controls.Image(); imgImgur.Source = new BitmapImage(new Uri(galleryImage.Link, UriKind.Absolute)); imgImgur.Name = galleryImage.Id; imageContainer.AddImageSource(imgImgur); } else if (favourites.ElementAt(i).GetType().ToString() == "Imgur.API.Models.Impl.GalleryAlbum") { GalleryAlbum galleryAlbum = (GalleryAlbum)(favourites.ElementAt(i)); Windows.UI.Xaml.Controls.Image imgImgur = new Windows.UI.Xaml.Controls.Image(); foreach (var image in galleryAlbum.Images) { imgImgur.Source = new BitmapImage(new Uri(image.Link, UriKind.Absolute)); imgImgur.Name = image.Id; imageContainer.AddImageSource(imgImgur); } } } return(imageContainer); }
//renvoie les images associées au tag envoyé /** * This method extract images with a certain tag * @param tag the tag's name * @param nb_photos the number of pictures. */ public async Task <ImageContainer> createImageContainerFromTag(string tag, int nb_photos) { ImageContainer imageContainer = new ImageContainer(); GalleryEndpoint galleryEndpoint = new GalleryEndpoint(client); var galleries = await galleryEndpoint.SearchGalleryAsync(tag); for (int i = 0; i < nb_photos && i < galleries.Count(); i++) { if (galleries.ElementAt(i).GetType().ToString() != "Imgur.API.Models.Impl.GalleryImage") { GalleryAlbum galleryAlbum = (GalleryAlbum)(galleries.ElementAt(i)); Windows.UI.Xaml.Controls.Image imgImgur = new Windows.UI.Xaml.Controls.Image(); if (galleryAlbum.Images.Count() > 0) { imgImgur.Source = new BitmapImage(new Uri(galleryAlbum.Images.ElementAt(0).Link, UriKind.Absolute)); imgImgur.Name = galleryAlbum.Images.ElementAt(0).Id; imageContainer.AddImageSource(imgImgur); } } else { nb_photos++; } } return(imageContainer); }
//IMGUR - voir ses posts public async void Imgur_GetPostsClick(object sender, RoutedEventArgs e) { if (ImgurApi.isConnected()) { ImageContainer imgContainerImgur = await ImgurApi.createImageContainerFromPosts(); ListViewTag_Imgur.ItemsSource = imgContainerImgur.GetImages(); setTextBoxWarning(""); } else { setTextBoxWarning("Vous n'êtes pas connecté à Imgur !"); } }
//renvoie les images postées par l'utilisateur /** * Return pictures posted from the user */ public async Task <ImageContainer> createImageContainerFromPosts() { ImageContainer imageContainer = new ImageContainer(); var client_fav = new ImgurClient(client_id, imgur_token); var endpoint = new AccountEndpoint(client_fav); var favourites = await endpoint.GetImagesAsync(); for (int i = 0; i < favourites.Count(); i++) { Imgur.API.Models.Impl.Image galleryImage = (Imgur.API.Models.Impl.Image)(favourites.ElementAt(i)); Windows.UI.Xaml.Controls.Image imgImgur = new Windows.UI.Xaml.Controls.Image(); imgImgur.Source = new BitmapImage(new Uri(galleryImage.Link, UriKind.Absolute)); imgImgur.Name = galleryImage.Id; imageContainer.AddImageSource(imgImgur); } return(imageContainer); }
/** * This method extract images with a certain tag * @param tag the tag's name * @param nb_photos the number of pictures. */ public async Task <ImageContainer> createImageContainerFromTag(string tag, int nb_photos) { var options = new PhotoSearchOptions { Tags = tag, PerPage = nb_photos, Page = 1 }; PhotoCollection photos = await flickr.PhotosSearchAsync(options); ImageContainer imageContainer = new ImageContainer(); foreach (Photo photo in photos) { Image img = new Image(); img.Source = new BitmapImage(new Uri(photo.LargeUrl)); img.Name = photo.PhotoId; imageContainer.AddImageSource(img); } return(imageContainer); }
//boutton pour rechercher sur les 2 sites en fonction d'un tag public async void SearchTagClick(object sender, RoutedEventArgs e) { string tag = ""; int nb_photos = 1; if (TextBoxTag.Text != "") { tag = TextBoxTag.Text; } if (TextBoxNb.Text != "") { nb_photos = Int32.Parse(TextBoxNb.Text); } ImageContainer imgContainerFlickr = await FlickrApi.createImageContainerFromTag(tag, nb_photos); ImageContainer imgContainerImgur = await ImgurApi.createImageContainerFromTag(tag, nb_photos); ListViewTag_Imgur.ItemsSource = imgContainerImgur.GetImages(); ListViewTag_Flickr.ItemsSource = imgContainerFlickr.GetImages(); }