Рисование линий поверх уже существующего изображения вызывает ошибку цвета — PHP

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

map.png является локальной копией: this Image

Вот мой код, который вызывает проблемы.

header("Content-type:image/png");

$img=imagecreate(800, 495);

$black_color=imagecolorallocate($img,0,0,0);
$white_color=imagecolorallocate($img,255,255,255);
$red_color=imagecolorallocate($img,255,0,0);
$blue_color=imagecolorallocate($img,0,0,255);
$clear_color=imagecolorallocatealpha($img,0,0,0,0);

$img = imagecreatefrompng('map.png');

imageline($img,550,162,100,200,$red_color);
imageline($img,550,162,200,200,$blue_color);
imageline($img,550,162,300,200,$white_color);


return (imagepng($img));

Я очень признателен за любую помощь, которая может быть оказана, чтобы цвета отображались правильно.


person WhoaItsAFactorial    schedule 12.09.2012    source источник


Ответы (1)


Я переместил вашу строку:

$img = imagecreatefrompng('map.png');

вверх справа внизу:

$img=imagecreate(800, 495);

и это сработало для меня.

person Junior    schedule 26.06.2013