示例#1
0
        public async Task BasicVideoTest()
        {
            var client = new PixabaySharpClient(Utility.ApiCredentials.ApiKey);
            var videos = await client.SearchVideosAsync("dog");

            Assert.IsNotNull(videos);
        }
示例#2
0
        public async Task BasicImageTest()
        {
            var client = new PixabaySharpClient(Utility.ApiCredentials.ApiKey);
            var images = await client.SearchImagesAsync("dog");

            Assert.IsNotNull(images);
        }
示例#3
0
        public async System.Threading.Tasks.Task <object> GetPhotosAsync()
        {
            var client = new PixabaySharpClient("13128735-e8d30252cb1da0dadc588a8d8");
            var result = await client.QueryImagesAsync(new ImageQueryBuilder()
            {
                Query   = "car", // Need to pass in input here
                Page    = 1,
                PerPage = 5
            });

            return(result);
        }
示例#4
0
        public async Task QueryVideoTest()
        {
            var client = new PixabaySharpClient(Utility.ApiCredentials.ApiKey);
            var result = await client.QueryVideosAsync(new VideoQueryBuilder()
            {
                Query   = "Dog",
                PerPage = 5
            });

            Assert.AreEqual(result.Videos.Count, 5);

            result = await client.QueryVideosAsync(new VideoQueryBuilder()
            {
                Query   = "Dog",
                PerPage = 15
            });

            Assert.AreEqual(result.Videos.Count, 15);
        }
示例#5
0
        public static async void Run(
            [QueueTrigger("imagesearch", Connection = "alexasoundboard_STORAGE")]
            string query,
            [Blob("images")]
            CloudBlobContainer imageContainer,
            TraceWriter log)
        {
            log.Info($"ImageDownloadFunction started with query: {query}");

            var apiKey        = GetEnvironmentVariable("PixabayKey");
            var pixabayClient = new PixabaySharpClient(apiKey);
            var imageResult   = await pixabayClient.SearchImagesAsync(query);

            var imageItem = imageResult.Images.PickRandom();

            var httpClient = new HttpClient();
            var imageBytes = await httpClient.GetByteArrayAsync(imageItem.LargeImageURL);

            var blob = imageContainer.GetBlockBlobReference($"{query.AsFileName()}.jpg");
            await blob.UploadFromByteArrayAsync(imageBytes, 0, imageBytes.Length);
        }
示例#6
0
        public static async Task ChangeWallpaper()
        {
            PixabaySharpClient       pixabayClient   = new PixabaySharpClient("3153915-c1b347f3736d73ef2cd6a0e79");
            ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;

            string search = (string)roamingSettings.Values["wpTaskSearch"];

            string[] res;
            if (roamingSettings.Values["res"] != null)
            {
                res = (roamingSettings.Values["res"] as string).Split('x');
            }
            else
            {
                res = new string[] { "1920", "1080" }
            };

            string url;

            PixabaySharp.Models.ImageResult result = null;
            if (search == "")
            {
                while (result == null) //the library sometimes returns null for some reason
                {
                    result = await pixabayClient.QueryImagesAsync(new ImageQueryBuilder()
                    {
                        Page      = 1,
                        PerPage   = 200,
                        MinWidth  = int.Parse(res[0]),
                        MinHeight = int.Parse(res[1])
                    });
                }

                url = result.Images[new Random().Next(199)].ImageURL;
            }
            else
            {
                while (result == null) //the library sometimes returns null for some reason
                {
                    result = await pixabayClient.QueryImagesAsync(new ImageQueryBuilder()
                    {
                        Query     = search,
                        Page      = 1,
                        PerPage   = 200,
                        MinWidth  = int.Parse(res[0]),
                        MinHeight = int.Parse(res[1])
                    });
                }

                url = result.Images[new Random().Next(199)].ImageURL;
            }

            byte[] data;
            //string filename = DateTime.Now.ToString("d");
            HttpClient          httpClient = new HttpClient();
            HttpResponseMessage response   = await httpClient.GetAsync(new Uri(url, UriKind.Absolute));

            string mediaType = response.Content.Headers.ContentType.MediaType.Split('/')[1];

            data = await response.Content.ReadAsByteArrayAsync();

            string filename = "wallpaper." + mediaType;

            //ApplicationData.Current.LocalFolder
            StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

            await FileIO.WriteBytesAsync(file, data);

            await UserProfilePersonalizationSettings.Current.TrySetWallpaperImageAsync(file);

            roamingSettings.Values["wpTaskUrl"] = url;
        }
    }
示例#7
0
 public ImageService()
 {
     _pixabaySharpClient = new PixabaySharpClient(Statics.ApiKey);
 }