Как я могу нарисовать перевернутое изображение и оригинальное изображение рядом в PHP? - PullRequest
0 голосов
/ 26 мая 2018

Вот код, который я сейчас использую.

$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() переворачивает прямоугольник и пунктирные линии, но они симметричны, так что это не составляет особого труда.

Установка прозрачного цвета заливки не работает.Буду признателен за любую помощь.

Моя цель состоит в том, чтобы взять исходное изображение, перевернуть его вдоль горизонтальной линии, а затем перевернуть полученное изображение вдоль вертикальной линии.

Как только я знаю, как перевернутьгоризонтальная линия без потери исходного изображения, я могу попытаться сделать все остальное самостоятельно.

enter image description here

Ответы [ 2 ]

0 голосов
/ 26 мая 2018

Если вы хотите сохранить исходное изображение до переворачивания, затем используйте imagecopy() для дублирования изображения, затем наберите imageflip(), используя новое дублированное изображение.

$flipImage = imagecreatetruecolor(400, 300);
imagecopy($flipImage, $image, 0, 0, 0, 0, 400, 300);
imageflip($flipImage, IMG_FLIP_HORIZONTAL);
0 голосов
/ 26 мая 2018

Если вы хотите, вы можете использовать javascript, если вы знаете его, чтобы получить его стиль, а затем добавить новый, но это может быть сложно.Я могу провести вас через это, хотя это займет совсем немного времени.Я могу помочь, если у вас есть GitHub

...