あなたの質問は私には広がっているように見えますが、あなたのお気に入りの検索エンジンWebサイトを使用して回答を見つけることができます。最後に小さなサンプルアプリケーションと共に答えがあります。
- いいえ、ダウンロードせずに画像を取得することはできません。 URLはインターネットユニバースのどこかのイメージを指し示す単なるテキストです。
- ただし、誰かがそれを見つけたら、彼は貴族賞を受け取るべきです。
- イメージがローカルに格納されているパスがわかっている場合は、このファイルがまだ存在するかどうかを確認するだけです。
- ローカルに存在しない場合は、明らかにダウンロードする必要があります。
- ダウンロードしたら、イメージを認識する適切な列の下にあるDataGridViewに表示するだけで済みます。
ここでは、始めるために約束された小さなサンプルアプリケーションです。
namespace WindowsFormsApplication
{
using System;
using System.Data;
using System.Drawing;
using System.IO;
using System.Net;
using System.Windows.Forms;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.DataSource = GetDataTable();
}
private DataTable GetDataTable()
{
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Image", typeof(Image));
// Path to store locally the image
string imageLocalPath = AppDomain.CurrentDomain.BaseDirectory + "image.ico";
if (File.Exists(imageLocalPath))
{
dataTable.Rows.Add(new object[] { Image.FromFile(imageLocalPath) });
}
else
{
// Get request to download the image if it does not exist locally
var request = WebRequest.Create("http://cdn.sstatic.net/Sites/stackoverflow/img/favicon.ico?v=4f32ecc8f43d");
using (var response = request.GetResponse())
using (var stream = response.GetResponseStream())
{
// Check if the request is successful
if ((response as System.Net.HttpWebResponse).StatusCode == HttpStatusCode.OK)
{
var image = Bitmap.FromStream(stream);
image.Save(imageLocalPath);
dataTable.Rows.Add(new object[] { image });
}
// No local image exist and the URL is no longer valid
else
{
// The default Windows Forms image will be displayed
}
}
}
return dataTable;
}
}
}
「取得せずにビットを取得する方法」 "何も食べずに夕食を食べる"。できません。画像を表示せずに画面に画像を表示することはできません。ちょうどあなたがテキストを表示せずに画面にテキストを表示することができないように。 –