我有以下内容:
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。
答案 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。