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

Форум PHP

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

 

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

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

тема: Подскажите ошибку (imagecopyresized)
 
 автор: Dima1999   (04.09.2005 в 16:41)   письмо автору
 
 


<?
$needed_width 
"430";

$size GetImageSize("1.jpg");
$width $size[0];
$height $size[1];

$needed_height $needed_width*$height/$width

$src ImageCreateFromJpeg($image);
$dst ImageCreate($needed_width,$needed_height);

ImageCopyResized($dst,$src,0,0,0,0,$needed_width,$needed_height,$width,$height); 
header('Content-type: image/jpeg'); 
ImageJpeg($dstnull, -1); 
ImageDestroy($src);
ImageDestroy($dst);
?>


Сервер ругается и выводит ошибку, дескать на 13 строке (imagecopyresized) not supplied argument. Может, я что-то не увидел?

   
 
 автор: JIEXA   (04.09.2005 в 18:32)   письмо автору
 
   для: Dima1999   (04.09.2005 в 16:41)
 

Уровень ошибок поставьте ниже. Или перед вызовом функции поставьте знак @

   
 
 автор: Dima1999   (04.09.2005 в 21:14)   письмо автору
 
   для: JIEXA   (04.09.2005 в 18:32)
 

А как его поставить ниже и зачем это здесь нужно?

Еще один вопрос: как сделать, чтобы сенерированное выше ф-цией imagejpeg изображение выводилось на экран - echo'м или как-то еще?

   
 
 автор: glsv (Дизайнер)   (05.09.2005 в 04:20)   письмо автору
 
   для: Dima1999   (04.09.2005 в 16:41)
 

Ошибка вот здесь.

$src = ImageCreateFromJpeg($image);

Переменная $image не определена и, соответственно, изображение не создается.

>как сделать, чтобы сенерированное выше ф-цией imagejpeg изображение выводилось на экран
Замените эту строку

ImageJpeg($dst, null, -1);

на вот эту

ImageJpeg($dst);

   
 
 автор: Dima1999   (06.09.2005 в 01:10)   письмо автору
 
   для: glsv (Дизайнер)   (05.09.2005 в 04:20)
 

Огромное спасибо, все работает просто замечательно. Вот еще вопрос: как улучшить качество выдаваемого изображения (код выше)????

   
 
 автор: glsv (Дизайнер)   (06.09.2005 в 05:07)   письмо автору
 
   для: Dima1999   (06.09.2005 в 01:10)
 

Вместо

<?
$dst 
ImageCreate($needed_width,$needed_height);
?>

Использовать

<?
$dst 
imagecreatetruecolor($needed_width,$needed_height);
?>

imagecreatetruecolor() создает полноцветное изображения, в отличие от ImageCreate(), который создает изображение с цветовой гаммой, ограниченной 256 цветами.

И вместо

<?
ImageJpeg
($dst);
?>

Использовать

<?
ImageJpeg
($dst,'',90);
?>

90 параметр качества сохраняемого JPEG-изображения от 0 до 100.

   
 
 автор: Dima1999   (07.09.2005 в 22:27)   письмо автору
 
   для: glsv (Дизайнер)   (06.09.2005 в 05:07)
 

А что делать, если пишет, что хэдеры уже посланы?

   
 
 автор: cheops   (08.09.2005 в 02:12)   письмо автору
 
   для: Dima1999   (07.09.2005 в 22:27)
 

Следует все функции header() расположить до любого вывода в окно браузера - куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=837

   
 
 автор: glsv (Дизайнер)   (08.09.2005 в 04:28)   письмо автору
 
   для: Dima1999   (07.09.2005 в 22:27)
 

Вы про то: как вывести изображение средствами GD внутри HTML-страницы?
Посмотрите тему по ссылке.

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5325&page=1

   
Rambler's Top100
вверх

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