/** * Get images if needed * */ private void SearchImages(Category category, int pages = 3, bool ifNeeded = true) { int thresh = 10; foreach (String member in category.members) { GoogleImageSearch engine = new GoogleImageSearch(apiKey, cxId); String[] labels = { "", "_clipart" }; foreach (String label in labels) { String dirName = Path.Combine(imageDir, Encode(member) + label); //images have been downloaded already if (Directory.Exists(dirName) && Directory.GetFiles(dirName).Count() >= thresh) { Console.WriteLine("Already have images for " + member + label.Replace("_", " ")); continue; } List <String> urls = engine.Search(member + label.Replace("_", " "), pages); Directory.CreateDirectory(dirName); //save the images for (int i = 0; i < urls.Count(); i++) { Bitmap image = Util.BitmapFromWeb(urls[i]); if (image == null) { continue; } image.Save(Path.Combine(dirName, i + ".png")); image.Dispose(); } } } Console.WriteLine("Done getting images"); }
/** * Get images if needed * */ private void SearchImages(Category category, int pages=3, bool ifNeeded = true) { int thresh = 10; foreach (String member in category.members) { GoogleImageSearch engine = new GoogleImageSearch(apiKey, cxId); String[] labels = { "", "_clipart" }; foreach (String label in labels) { String dirName = Path.Combine(imageDir, Encode(member) + label); //images have been downloaded already if (Directory.Exists(dirName) && Directory.GetFiles(dirName).Count() >= thresh) { Console.WriteLine("Already have images for " + member + label.Replace("_"," ")); continue; } List<String> urls = engine.Search(member+label.Replace("_"," "), pages); Directory.CreateDirectory(dirName); //save the images for (int i = 0; i < urls.Count(); i++) { Bitmap image = Util.BitmapFromWeb(urls[i]); if (image == null) continue; image.Save(Path.Combine(dirName, i + ".png")); image.Dispose(); } } } Console.WriteLine("Done getting images"); }