@Valentyn2304

Как сделать, чтобы с каждой итерацией foreach координаты Х и Y для буквы которая попадает в данную итерацию менялись автоматически?

Может кто знает
на картинке /черно-белая шахматная доска/ -$img = Image :: make ($file), накладывается текст с формы - $str по которому прохожусь в foreach и на каждой итерации другая буква из текста которая должна наноситься в 1 ячейку с картинки / черную или белую /
Надо сделать так, чтобы с каждой итерацией foreach /другая буква/ - менялись координаты нанесения этой буквы:
X - $img->width(); Y - $img->height()
Использую пакет Intervention image.
$mysize = (integer) Input :: get ( 'size') ?? 40,
 
            $ str = $ input [ 'text'];
            $ strArray = str_split ($ str);
            $ img = Image :: make ($ file) -> resize (300, 300);
            foreach ($ strArray as $ key => $ value) {
 
                        $ Img -> text ($ value, $ img-> width (), $ img-> height () function ($ font) use ($ mysize) {
                            $ Font-> file (public_path ( 'font / Lobster-Regular.ttf'));
                            $ Font-> size ($ mysize)
                            $ Font-> color ( '# ffffff');
                            $ Font-> align ( 'center');
                            $ Font-> valign ( 'top');
                        });....


Нужно сделать чтобы с каждой итерацией foreach координаты Х и У для буквы которая попадает в данную итерацию менялись автоматически, н-р: с каждой буквой перемещалась точка нанесения буквы на 20-30 пикселей от 0
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 1
zorba_buddha
@zorba_buddha
IT
добавьте счётчики в начале
$coord_x = 0;
$coord_y = 0;

...

foreach (...) {
	...[используйте счётчики, умножая их на 20 или 30]...

	// когда надо перейти к следующей клетке по горизонтали
	++$coord_x; 
	
	// когда следующая строка начинается
	$coord_x = 0; 
	++$coord_y;
};
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы