我不明白...

BitmapImage img = new BitmapImage(myUri);
Console.WriteLine("Width: {0}, Height: {1}", img.Width, img.Height);

输出:“宽度:1,高度:1”。

我试过 PixelWidth/PixelHeight,我试过用 BeginInit/EndInit 手动创建它并设置 PreservePixelFormat ...没有任何效果。

(除了,更奇怪的是:这是用户单击按钮并下载一些图像的过程的一部分。好吧,第二次单击该按钮时,它的宽度/高度确实不是 1。)

最佳答案

用户第一次单击按钮时,位图尚未下载 - 因此您对它所做的任何操作都会导致垃圾结果(除了显示它,因为 Image 控件知道如何处理这个)。

您可以处理 BitmapImage.DownloadCompleted 事件以了解位图何时可用。

关于WPF BitmapImage 宽度/高度始终为 1?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/237959/

10-13 02:00