Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сделать интерактивную картинку 
:(
    Опции темы
Sphinx
Дата 30.7.2019, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 20.7.2006

Репутация: нет
Всего: нет



Всем привет!

С помощью функций типа imagecreate из GD генерирую на стороне клиента картинку. Для начала рисования ввожу Header("Content-Type: image/jpeg") - перехожу в графический режим.
Теперь встал вопрос привязать к частям картинки ссылки, подсказки... т.е. html код. Надо чтобы браузер перешел в текстовый режим.
Не получается. Игнорирует html текст.
Подскажите как сделать или киньте идею как это реализовать.

PM MAIL   Вверх
bars80080
Дата 31.7.2019, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Sphinx @  30.7.2019,  15:21 Найти цитируемый пост)
Header("Content-Type: image/jpeg") - перехожу в графический режим.

это не "перехожу в графический режим". это отсылка заголовка в вывод, за которым должен следовать поток данных, составляющих тело картинки. отсылка происходит функцией imagepng($im); или ей подобной для jpeg, gif.
 дальше может идти только exit; так как никакого вывода более быть не должно, иначе у вас картинка будет битая.

html отдаётся в другом потоке и с картинкой он перемешиваться не может.

то есть, как всё должно быть:
1. у вас есть html-страница, статическая или генерируемая из .php, которая открывается в браузере по некоторому адресу. на этой странице есть картинка, вроде
Код

<img src="http://mysite.ru/module/imagegenerator.php?uid=m93439rd903rd" />

где:
2. imagegenerator.php - на самом деле php-скрипт, запускаемый на сервере и отдающий картинку:
Код


header("Content-Type: image/png");
$im = @imagecreate(110, 20)
    or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  $_GET['uid'], $text_color);
imagepng($im);
imagedestroy($im);

exit;


PM MAIL WWW   Вверх
Sphinx
Дата 31.7.2019, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 20.7.2006

Репутация: нет
Всего: нет



Спасибо, попробую.
А imagedestroy картинку не разрушит?
PM MAIL   Вверх
Sphinx
Дата 31.7.2019, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 20.7.2006

Репутация: нет
Всего: нет



Не получается, картинка не выводится.

Код

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Content-Language" content="ru">
<link rel="stylesheet" type="text/css" href="main.css"></head>
<body>
<img src="drawmap.php" />
</body></html>


Может ее попробовать на сервере сохранять в файл, а потом загружать файл. Не хотелось бы захламлять файлами.
PM MAIL   Вверх
bars80080
Дата 31.7.2019, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Sphinx @  31.7.2019,  11:55 Найти цитируемый пост)
Не получается, картинка не выводится.

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

открыть в браузере инспектор, посмотреть какой ответ даёт вызов скрипта. если вообще ничего не загружается, а идёт ответ 200-ыми или 300-ыми ошибками, то скорректировать URL картинки. а если ответ есть, то можно посмотреть какой он. вплоть до того, что скопировать URL в адресную строку браузера
PM MAIL WWW   Вверх
Sphinx
Дата 1.8.2019, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 20.7.2006

Репутация: нет
Всего: нет



Не сердись.
Я в веб-программировании новичок, потому и задаю вопросы. К тому же работаю не на прямую с сервером, а с эмулятором (Open Server).  smile 

Спасибо, все получилось.  smile Забыл при вызове указать параметр  smile 

Дальше буду решать как передать информацию о координатах регионов в картинке, адреса ссылок ...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1198 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.