2017-02-12 19 views
5

このコードはgithubで見つかりました。あなたがGoogleで検索し、picturebox1の最初の画像を表示する - 今、私は他の画像ボックスを3〜4枚追加したいのですが、他の画像も表示したいと思います。 )。私の問題は私がそれをする方法を理解できないことです。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 

私が試したこと:私は休憩を削除しました。それだけで検索を続け、それは決して止まらない。私はそれが他のサイトのようになりたい(例:すべてのページに5〜10枚の画像を表示する)。私は何を変えるべきですか?私は間違って何をしていますか?

+1

こんにちはあなたの問題に関する情報は、GitHub上のコードの部分がどこから来るか(つまり、url)などです。 私の理解では、ユーザーがキーワードに関連した写真を得るために、Google検索APIを活用したテキスト(たとえばキーワード)を入力できるテキストボックスがあります。あなたは1つの画像を取得し、より多くを得るだろう。 CodeProjectの記事を読んで、あなたが探しているように思うかもしれません:https://www.codeproject.com/articles/11876/an-api-for-google-image-search – Ehouarn

+0

Google画像検索APIは廃止されましたので、ここでカスタム検索をご覧ください:https://developers.google.com/custom-search/docs/overview これにはRESTful API(JSON) – Ehouarn

+0

のドキュメントへのリンクが含まれています私はその2つのリンクを見ました - そのプロジェクト(Googleの画像検索のためのAPI)はもう働いていないと私は前に2番目のリンクを見たが、私はまだ問題がある:( – Johny

答えて

2

ループから休憩を削除する以外にも、上記フィルタはLINQの方法によって行われるだけ

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

、もちろんあなたが番号を変更することができます最初の5枚の画像を撮ります。 他の画像にもpictureBox1を使用したくないと思います。foreachループ内でnewのPictureBoxコントロールを作成してControlsコレクションに追加することができます。

+0

私はそれを探していた " .take(5) "もう一度感謝します。 – Johny

関連する問題