调整阵列大小

时间:2010-10-04 01:37:44

标签: java arrays

我应该使用数组调整一半给我的图像。我不知道从哪里开始。我有一个功能

public static int[][] resizeImage(int[][] original, int newWd, int newHt) 

我应该使用2D阵列将像素从原始图像映射到新图像。不确定我是否提供足够的信息。我不想要答案,只是一个提示或起点,因为我只是不确定如何开始这个。

3 个答案:

答案 0 :(得分:15)

好的,假设有一个100x100的图像,如果你的[0,0]有一个蓝色像素,[99] [99]有一个红色的像素,那么在调整大小后你会期望这些像素在哪里?

答案 1 :(得分:3)

在一张纸上画一个4x4网格,并用红色,绿色,蓝色和黑色中的一个为每个方块着色。现在绘制一个8x8网格,并描绘如何将该图片从第一个网格复制到第二个网格。注意原始中的正方形复制到目标中的哪个方块,并尝试将其概括为算法。

显然,第一个网格是original数组,第二个网格是返回的数组。

您的老师是否告诉您 图片应该如何调整大小?如果没有,你可能只想“使像素更大”,因此每个方块都直接复制到2x2网格(四个方格)。您可以使用调整大小算法(例如antialiasing)来真正地,真实地使用它,但我会从简单开始。

答案 2 :(得分:0)

这可能会有所帮助:
Interpolation algorithms when downscaling