如何使用用户输入URL显示图像?

时间:2015-04-13 23:36:13

标签: c# winforms visual-studio-2010

开始制作简单的HTTP图像浏览器时遇到一些麻烦。我在C#中使用Windows Form Application进行此操作。包括的要求是我提示用户输入在文本框中输入的图像的URL(我相信我必须使用HTTPwebRequest,但不确定),然后单击按钮并在图片框中显示图像。我以前用来编写控制台应用程序,并且是Windows Forms命令的新手,这就是我寻求帮助的原因。

**此外,但不是必需的,是包含图像的状态代码,以及谷歌Web服务器返回的相关标题,这些标题显示在文本框中。对不起,如果这太模糊了,我就完全迷失了,任何事情都会有所帮助。

1 个答案:

答案 0 :(得分:1)

如果将TextBox,Button和PictureBox放到表单上,可以使用下面的代码从Internet下载图像,将其转换为图像并在PictureBox中显示。

  • m_urlTextBox是用户可用于输入图像URL的TextBox。
  • m_downloadButton是用户点击以启动下载的按钮。
  • m_pictureBox是用于绘制下载图像的PictureBox。

下载按钮的Click事件处理程序的代码如下所示。

private void m_downloadButton_Click(object sender, EventArgs e)
{
    using (var client = new WebClient())
    {
        var imageData = client.DownloadData(m_urlTextBox.Text);

        var converter = new ImageConverter();
        var image = (Image)converter.ConvertFrom(imageData);

        m_pictureBox.Image = image;
    }
}

我没有尝试处理错误或转换失败,但这应该为您提供所需内容的要点。如果您需要检查与图像关联的标头,您应该查看WebRequest.Create / GetResponse / GetResponseStream等,而不是使用WebClient。