Вот код, который я использую в настоящее время.
$image = imagecreatetruecolor(400, 300);
imagesavealpha($image, true);
imagesetthickness($image, 2);
$red = imagecolorallocate($image, 255, 0, 0);
$green = imagecolorallocate($image, 0, 255, 0);
$blue = imagecolorallocate($image, 0, 0, 255);
$transparent = imagecolorallocatealpha($image, 255, 255, 255, 0);
imagefill($image, 0, 0, $transparent);
imagerectangle($image, 2, 2, 398, 298, $red);
imagedashedline($image, 0, 150, 400, 150, $blue);
imagedashedline($image, 200, 0, 200, 300, $blue);
imagepolygon($image, array( 10, 180, 10, 250, 110, 250), 3, $red);
// imageflip($image, IMG_FLIP_VERTICAL);
ob_start();
imagepng($image);
printf('<img src="data:image/png;base64,%s"/>', base64_encode(ob_get_clean()));
imagedestroy($image);
Прикрепленное изображение является результатом выполнения приведенного выше кода.
Я хочу перевернуть треугольник в правом нижнем углу и нарисовать его вместе с исходным изображением. Я пытался использовать imageflip()
, но он рисует поверх исходного изображения.
Я знаю, что imageflip()
переворачивает прямоугольник, а также пунктирные линии, но они симметричны, так что это не имеет большого значения.
Установка цвета заливки на прозрачный не сработала. Любая помощь будет оценена по достоинству.
Моя цель - взять исходное изображение, перевернуть его по горизонтальной линии, а затем перевернуть полученное изображение по вертикальной линии.
Как только я узнаю, как отражать горизонтальную линию, не теряя исходного изображения, я могу попытаться сделать все остальное самостоятельно.