我不明白...
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/