C# 在没有平滑的情况下放大位图是不准确的,如何使其正确?
结果是图像在左上角方向上偏移了几个像素。C# 在没有平滑的情况下放大位图是不准确的,如何使其正确?,c#,image,scaling,system.drawing,C#,Image,Scaling,System.drawing,结果是图像在左上角方向上偏移了几个像素。 我怎样才能做到这一点?我刚刚尝试了完全相同的方法,但看不到您提到的偏移量。这是我测试项目中的整个Program.cs。重复?@PeterRitchie不,不是关于HQ缩放,只是关于默认情况下它如何不令人满意。第一个和第三个参数实际上可以省略,结果是相同的。 Bitmap outputBitmap = new Bitmap(inputBitmap.Width * 5, inputBitmap.Height * 5); using (Graphics g
我怎样才能做到这一点?我刚刚尝试了完全相同的方法,但看不到您提到的偏移量。这是我测试项目中的整个Program.cs。重复?@PeterRitchie不,不是关于HQ缩放,只是关于默认情况下它如何不令人满意。第一个和第三个参数实际上可以省略,结果是相同的。
Bitmap outputBitmap = new Bitmap(inputBitmap.Width * 5, inputBitmap.Height * 5);
using (Graphics graphics = Graphics.FromImage(outputBitmap))
{
graphics.CompositingQuality =
System.Drawing.Drawing2D.CompositingQuality.HighQuality;
graphics.InterpolationMode =
System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
graphics.SmoothingMode =
System.Drawing.Drawing2D.SmoothingMode.HighQuality;
graphics.DrawImage(inputBitmap, 0, 0,
inputBitmap.Width * 5, inputBitmap.Height * 5);
}