C# 缩放图像时的差异

C# 缩放图像时的差异,c#,graphics,drawimage,C#,Graphics,Drawimage,我需要缩放图像,但在使用图形时遇到问题。我使用DrawImage,传递原始图像、新位置(0,0)和新大小。结果图像已缩放,但其上边缘和左边缘是透明的。有人知道为什么吗? 我的代码: 我认为这一行有问题: g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; 换成这个 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQu

我需要缩放图像,但在使用图形时遇到问题。我使用DrawImage,传递原始图像、新位置(0,0)和新大小。结果图像已缩放,但其上边缘和左边缘是透明的。有人知道为什么吗? 我的代码:


我认为这一行有问题:

g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
换成这个

g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

它没有任何改变,但当我使用“最近邻居”时,它是可以的,但图像很难看,现在我们知道这是插值问题,但仍然不知道为什么。默认插值也可以。看这篇文章:如果你使用的是构造函数重载来进行所有的缩放,为什么还要再次绘制图像?应使用第二行进行缩放,否?-或者使用带有两个矩形的DrawImage重载!
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;