我应该使用数组调整一半给我的图像。我不知道从哪里开始。我有一个功能
public static int[][] resizeImage(int[][] original, int newWd, int newHt)
我应该使用2D阵列将像素从原始图像映射到新图像。不确定我是否提供足够的信息。我不想要答案,只是一个提示或起点,因为我只是不确定如何开始这个。
答案 0 :(得分:15)
好的,假设有一个100x100的图像,如果你的[0,0]有一个蓝色像素,[99] [99]有一个红色的像素,那么在调整大小后你会期望这些像素在哪里?
答案 1 :(得分:3)
在一张纸上画一个4x4网格,并用红色,绿色,蓝色和黑色中的一个为每个方块着色。现在绘制一个8x8网格,并描绘如何将该图片从第一个网格复制到第二个网格。注意原始中的正方形复制到目标中的哪个方块,并尝试将其概括为算法。
显然,第一个网格是original
数组,第二个网格是返回的数组。
您的老师是否告诉您 图片应该如何调整大小?如果没有,你可能只想“使像素更大”,因此每个方块都直接复制到2x2网格(四个方格)。您可以使用调整大小算法(例如antialiasing)来真正地,真实地使用它,但我会从简单开始。
答案 2 :(得分:0)