【问题标题】:Get Size image from link从链接获取大小图像
【发布时间】:2017-01-03 03:42:50
【问题描述】:

我想从 C# 中的 url 检查大小图像。

例如:网址:http://img.khoahoc.tv/photos/image/2015/05/14/hang_13.jpg

【问题讨论】:

标签: c#


【解决方案1】:

下载查看:

string image = @"http://img.khoahoc.tv/photos/image/2015/05/14/hang_13.jpg";
byte[] imageData = new WebClient().DownloadData(image);
MemoryStream imgStream = new MemoryStream(imageData);
Image img = Image.FromStream(imgStream);

int wSize = img.Width;
int hSize = img.Height;

【讨论】:

  • 这里的MemoryStream没有被释放
【解决方案2】:
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(@"http://img.khoahoc.tv/photos/image/2015/05/14/hang_13.jpg";);

HttpWebResponse response = (HttpWebResponse)req.GetResponse();

Stream stream = response.GetResponseStream();

Image img = Image.FromStream(stream);

stream.Close();

MessageBox.Show("Height: " + img.Height + " Width: " + img.Width);

【讨论】:

    【解决方案3】:

    为了优化,我建议使用@Backs答案和async/await来下载图片:

    public async Task<Size> GetImageSizeFromUrl(string url)
    {
        var imageData = await new System.Net.WebClient().DownloadDataTaskAsync(url);
        var imgStream = new MemoryStream(imageData);
        var img = System.Drawing.Image.FromStream(imgStream);
    
        return new Size(img.Width, img.Height);
    }
    

    【讨论】:

      猜你喜欢
      • 2018-10-10
      • 2020-03-14
      • 2011-12-15
      • 2013-11-25
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      相关资源
      最近更新 更多