我是Java新手,现在我正在尝试将图像放大2倍。目前我有这种方法需要更改。右边是原始图像,左边是我需要的结果,左边是放大 2 倍的图像。我应该改变什么才能得到我想要的结果?提前感谢!
public static BufferedImage zoomImage(BufferedImage image) {
int height = image.getHeight();
int width = image.getWidth();
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
int pixelRGB = image.getRGB(x, y);
int newPixelColor = pixelRGB;
image.setRGB(width, y, newPixelColor);
}
}
return image;
}
您希望将
原始图像左上角四分之一的每个像素转换为新图像中的 4 个像素,直到填满缓冲区。但是,您会意识到,从左上角开始意味着您将在读取它们之前覆盖中间附近的像素。相反,您应该从中间开始;将颜色应用于右下角的 2x2 正方形。然后重复相同的过程,向上和向左移动。最后一个操作是使左上角的 2x2 正方形与左上角像素的颜色相同。