переменные — Создание файлов PPM с переполнением стека

Я хочу иметь возможность создавать PPM-файл из текста с использованием PHP, который может отображаться на матричном светодиодном дисплее RGB. Это означает, что мне нужно строить изображение попиксельно, построчно. Мне удалось сделать это, используя один символ в качестве ввода. Я хочу сделать это с помощью нескольких специальных и не специальных символов. У меня есть рабочий код для автоматической установки заголовка, размеров и т. Д. PPM, поэтому вся описанная выше история не имеет значения. Это только для вашей информации, если вы хотите понять, зачем мне это нужно.

$input = "ABC DE";

Наборы символов даны. Для буквы «А» это выглядит так (шрифт 6×10 + 1 пиксель после каждой строки, поэтому текст можно подавать непрерывно):

$a0 = ($black.' '.$black.' '.$color.' '.$color.' '.$black.' '.$black.' '.$space);
$a1 = ($black.' '.$color.' '.$black.' '.$black.' '.$color.' '.$black.' '.$space);
$a2 = ($color.' '.$black.' '.$black.' '.$black.' '.$black.' '.$color.' '.$space);
$a3 = ($color.' '.$black.' '.$black.' '.$black.' '.$black.' '.$color.' '.$space);
$a4 = ($color.' '.$black.' '.$black.' '.$black.' '.$black.' '.$color.' '.$space);
$a5 = ($color.' '.$color.' '.$color.' '.$color.' '.$color.' '.$color.' '.$space);
$a6 = ($color.' '.$black.' '.$black.' '.$black.' '.$black.' '.$color.' '.$space);
$a7 = ($color.' '.$black.' '.$black.' '.$black.' '.$black.' '.$color.' '.$space);
$a8 = ($color.' '.$black.' '.$black.' '.$black.' '.$black.' '.$color.' '.$space);
$a9 = ($color.' '.$black.' '.$black.' '.$black.' '.$black.' '.$color.' '.$space);

Если я повторю вышеизложенное по порядку,

$output = ($a0.' '.$a1.' '.$a2.' '.$a3.' '.$a4.' '.$a5.' '.$a6.' '.$a7.' '.$a8.' '.$a9);

это даст букву «А».

Для буквы «B» это выглядит так (и так далее):

$b0 = ($color.' '.$color.' '.$color.' '.$color.' '.$black.' '.$black.' '.$space);
$b1 = ($color.' '.$black.' '.$black.' '.$black.' '.$color.' '.$black.' '.$space);
$b2 = ($color.' '.$black.' '.$black.' '.$black.' '.$black.' '.$color.' '.$space);
$b3 = ($color.' '.$black.' '.$black.' '.$black.' '.$color.' '.$black.' '.$space);
$b4 = ($color.' '.$color.' '.$color.' '.$color.' '.$black.' '.$black.' '.$space);
$b5 = ($color.' '.$black.' '.$black.' '.$black.' '.$color.' '.$black.' '.$space);
$b6 = ($color.' '.$black.' '.$black.' '.$black.' '.$black.' '.$color.' '.$space);
$b7 = ($color.' '.$black.' '.$black.' '.$black.' '.$black.' '.$color.' '.$space);
$b8 = ($color.' '.$black.' '.$black.' '.$black.' '.$color.' '.$black.' '.$space);
$b9 = ($color.' '.$color.' '.$color.' '.$color.' '.$black.' '.$black.' '.$space);

Если я хотел напечатать ‘AB’, мне нужно сделать это построчно:

$output = ($a0.' '.$b0.' '.$a1.' '.$b1.' '.$a2.' '.$b2.' '.$a3.' '.$b3.' '.$a4.' '.$b4.' '.$a5.' '.$b5.' '.$a6.' '.$b6.' '.$a7.' '.$b7.' '.$a8.' '.$b8.' '.$a9.' '.$b9);

«ABC DE» будет:

$output = ($a0.' '.$b0.' '.$c0.' '.$space0.' '.$d0.' '.$e0.' '.$a1.' '.$b1.' '.$c1.' '.$space1.' '.$d1.' '.$e1 ...........

Как мне обработать текст ввода $, чтобы я получил выше? Я знаю, что мне нужно посчитать общее количество символов, а затем начать строить текст посимвольно / построчно. У меня есть рабочий код для остального, только часть выше отсутствует. Пожалуйста, дайте мне знать, если вам требуется дополнительная информация.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]