在保留遮罩的同时调整数组大小

时间:2018-06-23 13:45:01

标签: arrays algorithm resize

我试图弄清楚如何有效地调整一维数组的大小,同时保留其代表的蒙版。使用此数组,我可以绘制简单的精灵,而数组中的一个值代表一种特定的颜色。

无论如何,我的目标如下,具有以下带有值的“小”数组:

0, 1, 2, 3,
0, 1, 2, 2,
0, 1, 1, 1,
0, 0, 1, 1,
0, 0, 0, 0

这显然是4x5大小的精灵。

现在,我想调整其大小以保持这些值,以便获得相同的精灵/形状,但分辨率更高。

现在通过说“ scale-by-2”,我将得到一个8x10大小的sprite,然后1-d数组应如下所示:

0, 0, 1, 1, 2, 2, 3, 3,
0, 0, 1, 1, 2, 2, 3, 3,
0, 0, 1, 1, 2, 2, 2, 2,
0, 0, 1, 1, 2, 2, 2, 2,
0, 0, 1, 1, 1, 1, 1, 1,
0, 0, 1, 1, 1, 1, 1, 1,
0, 0, 0, 0, 1, 1, 1, 1,
0, 0, 0, 0, 1, 1, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0

我的想法是将数字逐行分组,采用比例因子(2),然后将必须按比例缩放(2)的数字相加(一组)。然后,再按比例因子复制每一行。但是我仍然不确定这是否涵盖所有情况。

还有其他(更有效的)方式来处理此问题吗?

0 个答案:

没有答案