Пиксельное художественное масштабирование - изменение размеров многомерного двоичного массива (матрицы) для сжатия / расширения в зависимости от значения заливки - PullRequest
0 голосов
/ 09 июня 2018

Я пытаюсь выяснить эту странную проблему, с которой столкнулся.

У меня есть многомерный массив, который по сути является двумерной матрицей, состоящей из двоичных значений.1 представляет область, которая заполнена, 0 пуста.Я воспринимаю это как «пиксельную графику», хотя приложение сильно отличается.

Я хочу расширить массив так, чтобы он соответствовал определенному количеству единиц (добавление строк и столбцов, дублирование «пикселей»)вроде как при увеличении изображения.

Вот пример грубого примера того, с чем я работаю:

$shape = array(
    array(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0),
    array(0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0),
    array(0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0),
    array(0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0),
    array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
    array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
    array(0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0),
    array(0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0),
    array(0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0),
    array(0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0),
    array(0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0),
    array(0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0),
    array(0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0),
    array(1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1),
    array(1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1),
); 

Внизу фигуры станут сложнее, но я использую это как тестовый образец,однако они всегда будут сплошными и двоичными, как эта звезда.

Прямо сейчас значение заполнения этого массива равно 135 (сколько их существует).Допустим, я хочу изменить значение заливки точно на 309, 2048 или 15. Есть ли удобный способ сделать это в PHP, сохранив форму исходной матрицы?

Чтобы уточнить, я не хочучтобы увеличить матрицу на x столбцов и строк, я хочу указать, сколько именно я хочу в итоговой матрице, если соответствие не 100%, я в порядке с этим, пока у меня осталосьименно то количество, которое я указал.

Я дурачусь с алгоритмами масштабирования в пиксельной графике, но не могу понять, как справиться с этой проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...