2017-02-12 31 views
5

bu kodu github'da buldum. u yazarken, google'da arama yapıp resimdeki ilk resmi picturebox1'de göstereceğim - şimdi 3-4 tane başka resim kutusu eklemek istiyorum ve diğer resimleri de göstermek istiyorum (ikinci ve üçüncü gibi) sadece ilk değil). Benim problemim nasıl yapılacağını anlayamıyorum.Google resim aramada C#

try { 
     this.Cursor = Cursors.WaitCursor; 
     this._lblStatus.Text = "Searching..."; 
     this._lblStatus.Update(); 
     List<String> images_urls = t.SearchForImages (this._editImageText.Text.Trim()); 
     if (t.Error == null && images_urls.Count > 0) { 
      //Show first image only 
      foreach (String image_url in images_urls) { 
       Bitmap bitmap = ImageUtil.LoadPicture(image_url); 
       if (bitmap != null) { //sometime the server refuses getting the image directly 
       Image image = ImageUtil.ResizeImage(bitmap, pictureBox1, true); 
       pictureBox1.Image = image; 
       if (bitmap != null) bitmap.Dispose(); 
       break; //show only one image 

Ne denedim: arayı sildim; ama sadece aramaya devam ediyor ve asla durmuyor. Diğer siteler gibi olmasını istiyorum (örneğin: her sayfada 5-10 resim göster). ne değiştirmeliyim Neyi yanlış yapıyorum ?

+1

Merhaba biraz daha iyi olur Sorunuz hakkında, GitHub'daki kod parçası nereden geliyor (url). Anlayışımdan, kullanıcının anahtar kelimelerinizle ilgili bazı resimlerin size ulaşması için Google arama API'sinden yararlanan bir şey yazabileceği bir metin kutusu (örneğin, anahtar kelimeler) vardır. Sadece bir resim alırsınız ve daha fazlasını elde edersiniz. CodeProject ile ilgili makaleyi okumanızı tavsiye edebilirim: https://www.codeproject.com/articles/11876/an-api-for-google-image-search – Ehouarn

+0

Ayrıca Google görsel arama API'sı kullanımdan kaldırılmıştır ve bu nedenle Özel Arama'ya buradan göz atabilirsiniz: https://developers.google.com/custom-search/docs/overview Bu, RESTful API (JSON) – Ehouarn

+0

dokümantasyonuna yönelik bir bağlantı içerir. teşekkür ederim - ben bu iki bağlantı gördüm - bu proje (google görüntü arama için api) artık çalışmıyor ve ikinci bağlantıyı daha önce gördüm ama hala sorun var :( – Johny

cevap

2

döngüden mola silme yanında, elbette sayısını değiştirebilirsiniz, sadece

 foreach (String image_url in images_urls.Take(5)) { 

yukarıdaki filtre bir Linq yöntemiyle yapılır ilk 5 görüntüleri çekin. PictureBox1'i diğer görüntüler için de kullanmak istemezsiniz: PictureBox denetimlerini foreach döngüsünde new ile oluşturabilir ve bunları Controls koleksiyonuna ekleyebilirsiniz

+0

çok teşekkür ederim. .take (5) "tekrar teşekkür ederim. – Johny