Нужна помощь с PHP GD imagesetpixel () - PullRequest
0 голосов
/ 12 июля 2011
$imageurl = "kaptka.gif";
$im = imagecreatefromgif($imageurl);
$b = imagecolorallocate($im, 0, 0, 0);
imagesetpixel($im, 5, 5, $b);

header('Content-Type: image/gif');
imagegif($im, "asd.gif");

kaptka.gif нормальное изображение в формате gif.Я хочу нарисовать несколько пикселей в любом месте изображения.Asd.gif выглядит нормально, но когда я открываю файл, он должен показывать мне оба файла как asd.gif, но показывает только текст «ИЗОБРАЖЕНИЕ».

1 Ответ

0 голосов
/ 12 июля 2011

Вы вызываете функцию imagegif() с именем файла. Это запишет образ на диск. Чтобы отобразить содержимое, просто вызовите его без имени файла: это передаст содержимое в выходной поток, что означает, что оно будет отправлено в браузер клиента. Один из способов сделать это - вызвать его дважды, один раз, чтобы сохранить файл, и один раз, чтобы отобразить его.

При сохранении файла вы можете присвоить результат переменной $foo=imagegif($im, 'bar.gif'), а затем проверить результат, чтобы убедиться, что сохранение прошло успешно. ЛОЖЬ означает, что это не удалось.

Вы говорите, что изображение, сохраненное на сервере, в порядке, поэтому причина, по которой вы получаете «текст ИЗОБРАЖЕНИЯ» в вашем браузере, возможно, в том, что вы отправляете заголовок PNG, но нет данных (из-за способа, которым вы позвонили imagefig()).

...