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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод изображения, всередине HTML 
V
    Опции темы
SoWa
Дата 7.8.2009, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

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



Имею такой успешно работающий код:
Код

<?php 
header('Content-type: image/png');

$res = imagecreate(200,300);    
$img = imagecreatefromgif("00.gif");  
$logo = imagecreatefromjpeg("r4m.jpg");

imagecopy ($res,$img,0,0,0,0,200,300);
imagecopy ($res,$logo,100,100,0,0,40,40);
imagepng($res);
?>

Все просто до невозможности. И картинка тоже выводится.
НО нужно мне эту картинку запихать куда-нибудь в середину страницы. Т.е. между кодом ХТМЛ.
Но если header`у присвоить в начале страницы значение Content-type: image/png, то ничего кроме картинки я не увижу на странице.

Мне надо примерно так:
Код

echo '<HTML><table width="200" border="1">
  <tr>
    <td>123</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>'.imagepng($res).'</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table></HTML>';


Была мысль- мб стоит сохранять картинку куда-нибудь, а потом выводить? Но от нее успешно отказался предполагая нагрузки на сервер при большом количестве пользователей(ооочень часто надо генерировать картинки и выводить их, а хранить заготовленые 9! картинок меня не радует)

Вот такие пироги. Помогите пожалуйста :(

/*ПС а можно сразу без создания пустого изображения работать: imagecopy ($img,$logo,100,100,0,0,40,40); ?*/


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Ипатьев
Дата 7.8.2009, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



Непонятно про нагрузку. Я правильно понимаю, что нагрузка - это хранить целых 9 картинок, а решение проблемы с нагрузкой - это генерировать по 9 картинок при каждом обращении к странице?

P.S. В HTML картинки выводятся тегом <img> в пераметре src которого указывается URI
PM MAIL   Вверх
SoWa
Дата 7.8.2009, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

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



Ипатьев, я написал 9? Нет, я написал 9! !-это подразумевается факториал. Совсем чуть-чуть...  smile 
imagepng($res); - это мне засунуть в <img>? Расскажи как?  smile 


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Ипатьев
Дата 7.8.2009, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



Я же написал. imagepng($res); не засовывают в img.
В img засовывают uri. По-простому - адрес, на сервере. Больше туда ничего засунуть нельзя. 

А можно поинтересоваться, откуда такое большое число картинок? И что, собственно, делает этот код?



PM MAIL   Вверх
SoWa
Дата 7.8.2009, 22:39 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

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



Ипатьев, ты оффтоп начинаешь. Я не спрашиваю как картинку вывести с помощью хтмл-тэга. Я спросил конкретно- как сгенерированую картинку вывести. Без сохранения её на сервер.
Откуда столько картинок и зачем они мне- это уже другая тема, познания в которой никоим образом не могут повлиять на решение моей проблемы.

В общем, тема все-еще открыта.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Ипатьев
Дата 7.8.2009, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



Цитата(SoWa @  7.8.2009,  22:39 Найти цитируемый пост)
Я спросил конкретно- как сгенерированую картинку вывести. 

Так вы же умеете выводить - в первом посте написано, что картинка нормально выводится.
А вопрос как показывать картинки в HTML. Я и объясняю - как. Через тег img.

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



PM MAIL   Вверх
SoWa
Дата 7.8.2009, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

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



Цитата(Ипатьев @  7.8.2009,  22:45 Найти цитируемый пост)
Так вы же умеете выводить - в первом посте написано, что картинка нормально выводится.

попробуй вывести её посреди странцы, набитой ХТМЛем? Отпиши о результатах.

Цитата(Ипатьев @  7.8.2009,  22:45 Найти цитируемый пост)
А вопрос как показывать картинки в HTML. Я и объясняю - как. Через тег img.

Третий пост намекаю, что ХТМЛ вывод мне известен и не надо держать меня за идиота  smile 

Цитата(Ипатьев @  7.8.2009,  22:45 Найти цитируемый пост)
Количество картинок действительно, впрямую к теме не относится, но дело в том, что с нагрузкой все совсем наоборот. просто лежащие на сервере картинки нагрузки не создают никакой, а генерируемые - создают, и очень большую.

Слава Богу, они у меня не все разом будут генерироваться  smile

Добавлено @ 22:51
В общем, дружище, давай или по теме, или не набивай посты. Вопрос четко описан в 1 сообщении темы.

Это сообщение отредактировал(а) SoWa - 7.8.2009, 22:52


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Ипатьев
Дата 7.8.2009, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



Цитата(SoWa @  7.8.2009,  22:50 Найти цитируемый пост)
ХТМЛ вывод мне известен

Значит, надо им воспользоваться и вывести картинку. А вы почему-то не хотите. 
Совершенно непонятная для меня ситуация.
PM MAIL   Вверх
SoWa
Дата 7.8.2009, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

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



Цитата(Ипатьев @  7.8.2009,  22:59 Найти цитируемый пост)
Значит, надо им воспользоваться и вывести картинку. А вы почему-то не хотите. Совершенно непонятная для меня ситуация.

Блин, еще раз настойчиво прошу внимательно прочитать вопрос.
Если все-еще не понятно, разжую, проглотить осталось:
картинка моя гененрируется и выдается, по умному, "в поток". А не в файл. Не в файл. Не в файл.
Если бы в файл- я бы и вопрос не задавал. А мне необходимо БЕЗ сохранения её в файл вывести на страницу с ХТМЛ. Я же даже метод гененирования картинки показал в коде. 
Если нету метода в природе- тогда не тыкай мне ХТМЛ-выводом, а скажи, типа "дружище, ты знаешь, из потока картинку нельзя вывести на страничку с кодом, поэтому остается только одно- сохранить её в файл и вывести." И я без базара пойму. 

M
skyboy
Наезды вырезал. Впредь попрошу быть сдержаннее.


Это сообщение отредактировал(а) skyboy - 7.8.2009, 23:14


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
unicross
Дата 7.8.2009, 23:17 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(SoWa @  8.8.2009,  00:07 Найти цитируемый пост)
 поэтому остается только одно- сохранить её в файл и вывести.

SoWa, а разве Ипатьев говорит, что нужно сохранять изображение в файл? Единственный способ вывести картинку в html-файле это тег <img>... Другой вопрос понимаете ли вы, что в параметре src можно указать ссылку на PHP-файл выводящий картинку в поток.
Код

<img src="img.php">

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


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



SoWa, от твоего раздражения - никакого проку.
привожу пример.
разметка HTML:
Код

....
<img src="get_image.php?param1=value1&param2=value2" />
...

а в get_image.php - приведенный тобой код, формирующий картинку без сохранения на сервере.
откуда взялось убеждение, что картинку без промежуточного этапа с сохранением в файл можно отдать только "внутри HTML"?
вот только Ипатьев прав - без сохранения в файл намного сложнее с кешированием: если у тебя сгенерированная картинка не меняется со временем, то было бы логичнее сделать так, чтоб единожды сгенерированная картинка сохранялась на сервере и по будущим запросам отдавалась сразу готовая, без нагружающей сервер генерации. И даже если картинки меняеются через определенные промежутки времени, то намного логичнее сохранять в файл вместо всяких "велосипедных" систем кеширования и отдачи соответствующих заголовков вручную.
PM MAIL   Вверх
Ипатьев
Дата 7.8.2009, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



Мне кажется, вы не совсем понимаете, что такое HTML страница. Если упорно пытаетесь вывести "прямо в нее" содержимое файла картинки. 
"На страницу с кодом" содержимое картинки нельзя вывести, разумеется. Ну, то есть, можно, в принципе, но тут явно не тот случай.
Дело в том, что картинку на экране вашего компьютера рисует браузер. Он запрашивает с сервера отдельно html и отдельно картинки. Получив и то и другое, он формирует изображение.
Поэтому единственный способ показать картинку в HTML - это указать адрес, по которому сервер вернет картинку, в параметре src.


PM MAIL   Вверх
SoWa
Дата 7.8.2009, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

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



Цитата(unicross @  7.8.2009,  23:17 Найти цитируемый пост)
Другой вопрос понимаете ли вы, что в параметре src можно указать ссылку на PHP-файл выводящий картинку в поток.

Вот с этого и стоило начинать, а не с пиратских рассказов, где клад лежит, безо всяких координат. Просто упоминание о теге img мне ни о чем не говорило.
Но я и так пробовал, как ты советуешь, не выходит.
С учетом того, что содержание файлов такое:

img.php:
Код

<?php
header('Content-type: image/png');


$res = imagecreate(200,300);    
$img = imagecreatefromgif("00.gif");  
$logo = imagecreatefromjpeg("r4m.jpg");

imagecopy ($res,$img,0,0,0,0,200,300);
imagecopy ($res,$logo,100,100,0,0,40,40);
imagepng($res);
?>


Собственно тот самый ХТМЛ:
Код

<HTML>
<table width="200" border="1">
  <tr>
    <td>123</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><img src="img.php"></img></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</HTML>


Добавлено через 7 минут и 8 секунд
Вот, когда телепатия кончилась и пришел первый совет от unicross(ему плюс), начинается конструктивная беседа.
Теперь путь решения виден. Осталось чтоб заработал.

skyboyИпатьев, я вас понимаю, что передать опыт другим- это хорошо, но я тоже не первый год в программировании, и свои задачи я прекрасно сознаю  smile Мне нужно именно генерировать картинки, а не сохранять smile

Цитата(skyboy @  7.8.2009,  23:19 Найти цитируемый пост)
отдачи соответствующих заголовков вручную.

подробнее можно, если это может помочь наметившейся проблеме в моем последнем сообщении.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
unicross
Дата 7.8.2009, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(SoWa @  8.8.2009,  00:25 Найти цитируемый пост)
<td><img src="img.php"></img></td>

А закрывающий тег зачем?

Все должно работать... Проверьте относительность путей... Запросите файл через адресную строку браузера. Если получили картинку, то и html-странице должны получить...  

Посмотрите здесь здесь как работает капча.


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


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

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



Фсе, я дурак  smile И правда, чего мне стукнуло закрывающий тэг ставить smile
unicross, тебе огромное спасибо!!! Плюсик уже получил, дать еще не могу smile
Ипатьев, тебе тоже спасибо за старания, но все-же я думаю, тебе не было бы сложно с самого начала поделиться со мной тем, что в src можно передавать скрипт smile
skyboy, с кем не бывает, особоенно ночью, после трудового дня- конечно раздражен был smile И останусь при своем- Ипатьев до поста Юникросса не помог ничем решению проблеммы smile

Без обид. Тема решена  smile 


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


 




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


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

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