在WPF中调整大小和适合图像

时间:2013-07-21 20:06:25

标签: c# .net wpf vb.net image

我有以下内容:

using (bmp == new Bitmap(50, 50)) {
    using (g == Graphics.FromImage(bmp)) {
        g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic;
        g.DrawImage(img, 0, 0, 50, 50);
    }
}

用户为我的应用提供了一个图片,我的应用必须调整该图片并且适合整个图片。

上述代码的问题在于拉伸图像,而不是 fit (因为4:3电影适合放入黑屏的宽屏电视)。

有没有人对此有任何解决方案?另外,我不想使用GDI。

1 个答案:

答案 0 :(得分:1)

您需要考虑输入图像的大小。这是一个代码片段,可以让您进入正确的方向:

int x1 = 0, y1 = 0, x2 = 50, y2 = 50;
if (img. Width <= img.Height) 
{
   // compute x1, y1 to fit img horizontally into bmp
}
else
{
   // compute y1, y2 to fit img vertically into bmp
}

g.DrawImage(img, x1,y1, x2,y2);

另请注意,您要求在WPF中调整图像大小,但使用的是使用GDI +的System.Drawing。