我正在尝试编写一个可以使用比例因子(如1.5或0.5)上下缩放图像的功能。当我向下缩小时,当我向上缩放时,屏幕上的图像将显示正确,图像上会出现某种屏幕覆盖。见下图
这是我写的代码:
public static void ResizeImage(Bitmap inputImage, double scale)
{
int maxWidth = (int) (scale * inputImage.Width);
int maxHeight = (int) (scale * inputImage.Height);
Bitmap scaledImage = new Bitmap(maxWidth, maxHeight);
for(int x = 0; x < inputImage.Width; x++)
{
for(int y = 0; y < inputImage.Height; y++)
{
//Gets current Pixel
Color pixel = inputImage.GetPixel(x, y);
//Calucalte new position Pixel
int newPixelX = (int) (Math.Floor(x * scale));
int newPixelY = (int) (Math.Floor(y * scale));
//Sets pixel in new image
scaledImage.SetPixel(newPixelX, newPixelY, pixel);
}
}
DrawImage(Bitmap2colorm(scaledImage));
}
有没有人知道这个问题的解决方案,有人可以解释为什么会这样吗?