#php
#php
Вопрос:
В данный момент я работаю над небольшим проектом. Для этого проекта мне нужна фотография с текстом на ней (чтобы ботам было сложнее разобраться в тексте).
Я следую совету этого ответа, но imagettftext
использует шрифты true type, что в моем случае невозможно. Поэтому я искал альтернативу и нашел imagestring
.
Итак, мой подход к проблеме выглядит следующим образом:
<?php
function randExer() {
//Creating random (simple) math problem
$arr = array("zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten");
$item1 = $arr[array_rand($arr)];
$item2 = $arr[array_rand($arr)];
$random = $item1 . " " . $item2;
//Saving created math problem for later
file_put_contents("exercise.txt", $random);
//Creates a black picture with width=200 and height = 50
$img = imagecreatetruecolor(200, 50);
//uses RGB-values to create a useable color
$white = imagecolorallocate($img, 255, 255, 255);
//Adds white-colored text
$var = imagestring($img, 5, 18, 18, $random . " = ?", $white);
//Save image
imagejpeg($img, "exercise.png", -1);
};
?>
Это работает, и результат выглядит примерно так:
Проблема
Есть ли способ повернуть текст под определенным углом?
Комментарии:
1. является ли $rotate = imagerotate ($img, 10, 0); imagejpeg ($ rotate); что вы хотите?
Ответ №1:
Вы можете использовать https://www.php.net/manual/en/function.imagerotate.php изменение изображения, например
...
//Adds white-colored text
$var = imagestring($img, 5, 18, 18, $random . " = ?", $white);
$rotate = imagerotate($img, 10, 0);
//Save image
imagejpeg($rotate, "exercise.png", -1);
...
настройте второй параметр на угол