WPF - 从互联网URL获取图像宽度/高度

时间:2013-10-29 08:08:03

标签: wpf image height width

如果图像的宽度/高度存储在我的计算机中,我设法使用以下代码:( Fullpath是文件的完整位置)

        var bitmapFrame = BitmapFrame.Create(new Uri(FullPath), BitmapCreateOptions.DelayCreation, BitmapCacheOption.None);
        var width = bitmapFrame.PixelWidth;
        var height = bitmapFrame.PixelHeight;

但是第二次我尝试将FullPath更改为互联网图像(例如http://www.interweb.in/attachments/pc-wallpapers/16187d1222942178-nature-wallpaper-nature-summer-wallpaper.jpg),宽度和高度将无法确定所需的实际值,并且将保留值“1”。

我一直在这里坐了几个小时试图找出问题所在并绕过它但没有成功。 非常感谢你提前!

1 个答案:

答案 0 :(得分:1)

试试这个。对于净UriImageSource将异步下载图像,以避免阻塞。

    var bitmapFrame = BitmapFrame.Create(new Uri(FullPath), BitmapCreateOptions.None, BitmapCacheOption.None);
    if(bitmapFrame.IsDownloading)
    {
        bitmapFrame.DownloadCompleted += (e, arg) =>{
            var width = bitmapFrame.PixelWidth;
            var height = bitmapFrame.PixelHeight;

        }
    }

您想等待DownloadCompleted事件。