我试图弄清楚如何有效地调整一维数组的大小,同时保留其代表的蒙版。使用此数组,我可以绘制简单的精灵,而数组中的一个值代表一种特定的颜色。
无论如何,我的目标如下,具有以下带有值的“小”数组:
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)的数字相加(一组)。然后,再按比例因子复制每一行。但是我仍然不确定这是否涵盖所有情况。
还有其他(更有效的)方式来处理此问题吗?