Я пытаюсь выяснить, как эффективно изменить размер 1-го массива при сохранении маски, которую он представляет.Используя этот массив, я рисую простые спрайты, в то время как одно значение в массиве представляет определенный цвет.
В любом случае моя цель заключается в следующем, имея следующий «маленький» массив со значениями:
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, тогда массив 1-й должен выглядеть следующим образом:
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) в одном ряду.Затем продублируйте каждую строку по коэффициенту масштабирования.Но все же я не уверен, охватывает ли это все случаи.
Любой другой (более эффективный) способ справиться с этим?