C#datagridviewImageColumn无法显示来自url的图像

时间:2019-03-16 16:49:34

标签: c# datagridview bitmap

    private Bitmap getBMP(string url)
    {
        HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
        myRequest.Method = "GET";
        HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
        Stream stream = myResponse.GetResponseStream();
        Bitmap bmp = new System.Drawing.Bitmap(myResponse.GetResponseStream());
        myResponse.Close();
        return bmp;
    }

我创建了一个dataGridView并添加了两个dataGridViewImageColumn。
我使用上述getBMP方法从图片网址中获取了位图
并将位图添加到dataGridView
我已经测试了三种情况
我不知道为什么Test1成功,而另一个test(2,3)失败。

测试1.位图加载成功

dataGridView1.Rows.Add(getBMP(url1), getBMP(url2));

测试2。显示位图失败

Bitmap bmpOptImg = new Bitmap(getBMP(url1));
Bitmap bmpImg = new Bitmap(getBMP(url2));    
dataGridView1.Rows.Add(bmpOptImg , bmpImg);

测试3.显示位图失败

Bitmap bmpOptImg = (Bitmap)(getBMP(url1)).Clone();
Bitmap bmpImg = (Bitmap)(getBMP(url2)).Clone();
dataGridView1.Rows.Add(bmpOptImg , bmpImg);

Test2,3也不例外
但是,位图不可见并且dataGridView行颜色变为黑色

0 个答案:

没有答案