Я пытаюсь написать функцию, которая может масштабировать изображение вверх и вниз с коэффициентом масштабирования, например, 1,5 или 0,5. При уменьшении изображения изображение будет отображаться на экране правильно, а при увеличении изображения на экране появляется какое-то наложение. Смотрите изображения ниже
![Scale up](https://i.stack.imgur.com/GSW0V.png)
![Scale down](https://i.stack.imgur.com/nMAiM.png)
Это код, который я написал:
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));
}
Кто-нибудь знает решение этой проблемы и может ли кто-нибудь дать мне объяснение, почему это происходит?