2

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

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

但第二次我尝试将 FullPath 更改为 Internet 图像(例如http://www.interweb.in/attachments/pc-wallpapers/16187d1222942178-nature-wallpaper-nature-summer-wallpaper.jpg)的宽度和高度不会确定所需的实际值,只会保持“1”的值。

我已经在这里坐了几个小时,试图找出问题所在并解决它,但没有成功。非常感谢您!

4

1 回答 1

1

尝试这个。对于 netUriImageSource异步下载图像,以避免阻塞。

    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事件。

于 2013-10-29T08:52:22.633 回答