WPF调整图像大小

时间:2013-06-25 20:45:23

标签: wpf image image-resizing

我希望在窗口上显示大小不超过245px * 135px的许多图像,图像可以是不同的大小,因此,我想调整图像的大小,其至少具有宽度> 245或高度>我试着这样做:

                BitmapImage bi = new BitmapImage();
                bi.BeginInit();
                bi.UriSource = new Uri(filepath);
                bi.CacheOption = BitmapCacheOption.OnLoad;
                bi.EndInit();

                if (bi.Width > bi.Height)
                {
                    bi.DecodePixelHeight = Convert.ToInt32(bi.Height * (245 / bi.Width));
                    bi.DecodePixelWidth = 245;
                }
                else
                {
                    bi.DecodePixelWidth = Convert.ToInt32(bi.Width * (135 / bi.Height));
                    bi.DecodePixelHeight = 135;
                }

但是DecodePixelXXX是0,因为我应该在EndIint()之前完成它。但是我不能在EndInit之前做到这一点,因为我还不知道Width / Height。如何在不将整个图像加载到具有最高性能的BitmapImage的情况下进行操作?

0 个答案:

没有答案