Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как вывести созданное в скрипте изображение в форму расположенную в данном же скрипте
 
 автор: Port_Artur1   (22.03.2007 в 21:31)   письмо автору
6.5 Кб
 
 

Продолжение темы "imageCreateFromJpeg"

$img = imageCreateFromJpeg("image/777.jpg");
$black = imageColorAllocate($img, 0, 0, 0);
imagerectangle($img,$x_min,$y_min,$x_max,$y_max,$black);

header("Content-type: image/jpeg");
imagejpeg($img);

..............

<td valign="top"><table width="160" height="135" border="0" cellpadding="0" cellspacing="0">
<tr height="135">
<?php echo"<form name=\"test\" method=\"POST\" action=\"map777.php\"><td width=\"160\" height=\"135\" bgcolor=\"#999966\" ><input type=\"image\" name=\"karta\" src=\"$img\" width=\"160\" height=\"135\" border=\"0\"></td></form>";?>


</tr>
</table></td>

выводится только текст самой картинки(содержимое файла )
, но не изображение.

Скажу сразу сохранение картинки на диске а затем вывод данного изображения не подходит.

   
 
 автор: Trianon   (22.03.2007 в 23:45)   письмо автору
 
   для: Port_Artur1   (22.03.2007 в 21:31)
 

в src= должен быть запрос к скрипту. А у Вас что?

   
 
 автор: Port_Artur1   (23.03.2007 в 19:21)   письмо автору
 
   для: Trianon   (22.03.2007 в 23:45)
 

скрипт уже имеется
<?php echo"<form name=\"test\" method=\"POST\" action=\"map555.php\"><td width=\"160\" height=\"135\" bgcolor=\"#999966\" ><input type=\"image\" name=\"karta\" src=\"image/tmp.jpg\" width=\"160\" height=\"135\" border=\"0\"></td></form>";?>

Вы предлагаете написать src= <? ?>
но как написать скрипт в скрипте.
$img = imageCreateFromJpeg("image/777.jpg");
imagerectangle($img,100,100,220,130,"#FF0000");
imageJpeg($img, "image/tmp.jpg");
imageDestroy($img);

Так ведь не получится. и первая часть и вторая находятся в одном файле.
если сохранить сначала файл на диске а потом вывести его как обычный рисунок, то возникает слудующая проблема: первый раз картинка выводится нормально, но все последущие разы не меняется так как имеет одно тоже название. и меняется только если нажать кнопку "Обновление страницы".
А нужно сделать скриптом так чтобы оно менялось вне зависимости от настроек браузера (обновлять содержимое автоматически или при каждом посещении страницы).

Вот возникла идея не сохранять изображение на диске а сразу выводить на экран.
Как это реализовать в от в этом куске

!!!!!!!!!!!!!! (нужно на месте src=\"image/tmp.jpg\" вывести созданный ввыше рисунок без сохранения на диске )


<td valign="top"><table width="160" height="135" border="0" cellpadding="0" cellspacing="0">
<tr height="135">
<?php echo"<form name=\"test\" method=\"POST\" action=\"map555.php\"><td width=\"160\" height=\"135\" bgcolor=\"#999966\" ><input type=\"image\" name=\"karta\" src=\"image/tmp.jpg\" width=\"160\" height=\"135\" border=\"0\"></td></form>";?>
</tr>
</table></td>

   
 
 автор: Trianon   (23.03.2007 в 19:52)   письмо автору
 
   для: Port_Artur1   (23.03.2007 в 19:21)
 

>скрипт уже имеется
><?php echo"<form name="test" method="POST" action="map555.php"><td width="160" height="135" bgcolor="#999966" ><input type="image" name="karta" src="image/tmp.jpg" width="160" height="135" border="0"></td></form>";?>

Да. Этот скрипт генерирует HTML-документ. А не картинку.

>
>Вы предлагаете написать src= <? ?>

Я предлагаю написать src=generate_image.php?name=777

И скрипт генерации картинки.
В нем будут присутствовать вероятно строки
$name = $_GET['name'];
> $img = imageCreateFromJpeg("image/$name.jpg");
> imagerectangle($img,100,100,220,130,"#FF0000");
header("Content-type: image/jpeg; name=\"gen$name.jpg\");
header("Content-Disposition: inline");
imageJpeg($img);
> imageDestroy($img);
...

Делайте пожалуйста разницу между html-документом, и картинкой, которая в нем используется. Это два разных документа. И для динамической генерации нужны два разных вызова скриптов

   
 
 автор: Port_Artur1   (23.03.2007 в 20:17)   письмо автору
 
   для: Trianon   (23.03.2007 в 19:52)
 

generate_image.php

<?php
$name = $_GET['name'];
$x1= $_GET['x1'];
$y1= $_GET['y1'];
$x2= $_GET['x2'];
$y2= $_GET['y2'];
$img = imageCreateFromJpeg("image/$name.jpg");
imagerectangle($img,x1,y1,x2,y2,"#FF0000");
header("Content-type: image/jpeg; name=\"$name.jpg");
header("Content-Disposition: inline");
imageJpeg($img);
imageDestroy($img);
?>

src="generate_image.php?name=777&x1=$x_min&y1=$y_min&x2=$x_max&y2=$y_max"

картинка такая: image/777.jpg

но на экране только рамка с маленьким белым кружочком перечеркнутым красным квадратом. Вроде как не видит рисунок.

Почему??777

   
 
 автор: Trianon   (23.03.2007 в 21:26)   письмо автору
 
   для: Port_Artur1   (23.03.2007 в 20:17)
 

вот в этой строке я забыл закрыть кавычку
header("Content-type: image/jpeg; name=\"gen$name.jpg\"");
Вы её поправили, но несколько не так....

   
 
 автор: Port_Artur1   (23.03.2007 в 22:20)   письмо автору
 
   для: Trianon   (23.03.2007 в 21:26)
 

что такое gen перед $name.
но все равно только красный крестик.
Пробовал даже так:


header("Content-type: image/jpeg; name=\"".$name."jpg\"");

   
 
 автор: Port_Artur1   (23.03.2007 в 22:57)   письмо автору
 
   для: Port_Artur1   (23.03.2007 в 22:20)
 

Вот файл

   
 
 автор: Port_Artur1   (23.03.2007 в 22:58)   письмо автору
 
   для: Port_Artur1   (23.03.2007 в 22:57)
 

ВОТ скрипт

   
 
 автор: Port_Artur1   (23.03.2007 в 22:59)   письмо автору
21.2 Кб
 
   для: Port_Artur1   (23.03.2007 в 22:58)
 

вот рисунок в папке image/

   
 
 автор: Port_Artur1   (23.03.2007 в 23:03)   письмо автору
 
   для: Port_Artur1   (23.03.2007 в 22:59)
 

Пожалуйста постарайтесь понять меня и помочь.
Кроме вас никто мне не поможет.

Нихочет выводиться маленькая картинка на эран и всё тут.
только красный крестик а мненадо чтобы рисунок был 777.jpg с нарисованным на нём прямоугольником.

Очень прошу помогите если есть время (ну и желание конечно).

( Просто рисунки, выводит нормально. GD подключена. )

   
 
 автор: Port_Artur1   (23.03.2007 в 23:05)   письмо автору
 
   для: Port_Artur1   (23.03.2007 в 23:03)
 

GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

   
 
 автор: Uzer44   (24.03.2007 в 03:17)   письмо автору
 
   для: Port_Artur1   (23.03.2007 в 23:05)
 

Возможно я чтото не так понял но гляди как я делал.
у меня была форма и надо было сделать защиту от автопостинга на картинке.
чтото мне взбрело в голову вставить всё в 1 файл. я поступил так.

допустим файл reg.php

так как картинка по непонятным причинам не хотела работать я поступил так

global $skript ;
switch ($skript)
{

default:
Здесь код страницы
break;

case "img":
здесь код картинки
break;
}

SRC картинки было соответственно reg.php?skript=img

   
 
 автор: ilyaILF   (24.03.2007 в 06:15)   письмо автору
 
   для: Port_Artur1   (22.03.2007 в 21:31)
 

Port_Artur1, предложение такое, свой код

$img = imageCreateFromJpeg("image/777.jpg");
$black = imageColorAllocate($img, 0, 0, 0); 
imagerectangle($img,$x_min,$y_min,$x_max,$y_max,$black); 

header("Content-type: image/jpeg");
imagejpeg($img); 

вырежи и сохрани в другом файле, например, с именем img.php ...
Затем у себя в коде

<td valign="top">
<table width="160" height="135" border="0" cellpadding="0" cellspacing="0">
<tr height="135"> 
<?php echo"<form name=\"test\" 
method=\"POST\" action=\"map777.php\">
<td width=\"160\" height=\"135\" 
bgcolor=\"#999966\" >
<input type=\"image\" name=\"karta\" 
src=\"
$img\" width=\"160\" height=\"135\" 
border=\"0\">
</td></form>"
;?>


</tr>
</table></td>

для тега <input> свойство "src" приравняй к этому файлу img.php , вместо переменой $img... Должно работать!

   
 
 автор: Port_Artur1   (24.03.2007 в 10:12)   письмо автору
 
   для: ilyaILF   (24.03.2007 в 06:15)
 

Основной файл

   
 
 автор: Port_Artur1   (24.03.2007 в 10:13)   письмо автору
 
   для: Port_Artur1   (24.03.2007 в 10:12)
 

generate_image.php

Но работать почему-то не просто не хочет а не желает.
Я наверное у же всех достал н6оэта проблема меня тоже досатала(сильно!)

   
 
 автор: Port_Artur1   (24.03.2007 в 12:26)   письмо автору
 
   для: Port_Artur1   (24.03.2007 в 10:13)
 

Неужели только у меня работает неправильно!

   
 
 автор: Port_Artur1   (24.03.2007 в 13:47)   письмо автору
 
   для: Port_Artur1   (24.03.2007 в 12:26)
 

Ну пожалуйста помогите.
Если у вас это работает, выложите пожалуйста, работающие у вас, файлы. (хоть небольшой рабочий пример) Чтобы я проверил, может быть всё-таки это у меня в PHP что-то не срабатывает.

Пожалуйста!!!

   
 
 автор: ilyaILF   (24.03.2007 в 15:24)   письмо автору
 
   для: Port_Artur1   (24.03.2007 в 13:47)
 

Дело обстоит в общем в следующем... Во втором файле, который 319 байт, убери пробел перед открывающей скобкой "<?php" в самом начале записи PHP...

   
 
 автор: Port_Artur1   (24.03.2007 в 15:46)   письмо автору
 
   для: ilyaILF   (24.03.2007 в 15:24)
 

Спасибо ilyaILF выручил.
Спасибо всем кто помогал!

Всё работает!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования