Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Размеры избражений
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Описание: Как сделать динамическую генерацию уменьшенных картинок?
Fem_NoBody
Отправлено: 19 Ноября, 2005 - 18:25:09
Post Id


Newbie


Покинул форум
Сообщений всего: 15
Дата рег-ции: Нояб. 2005  

Карма 0




Смотрел http://www.php.net/manual/ru/fun...ecopyresized.php Но выходит не картинка, а пару десятков строк с набором символов. Как быдто отурыл изображениев текстовом редакторе.

Подскажите что мне делать.

Я пользовалься несколькими скриптами. остановился на этом:

CODE:
<?php
// File and new size
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-type: image/jpeg');

// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Output
imagejpeg($thumb);
?>



Я ипользую денвер
 
 Top
TvoyWeb Администратор
Отправлено: 19 Ноября, 2005 - 21:40:36
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Fem_NoBody
Нормальный, рабочий код. Не знаю почему у тебя он не работает.
Прикрепи к сообщению файл скрипта, который ты запускаешь через браузер.
 
 Top
ETC Администратор
Отправлено: 20 Ноября, 2005 - 06:30:58
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Fem_NoBody

добавь перед строчкой:
CODE:
imagejpeg($thumb);

строчку
CODE:
header("Content-Type: image/jpeg");
 
 Top
Fem_NoBody
Отправлено: 20 Ноября, 2005 - 09:17:36
Post Id


Newbie


Покинул форум
Сообщений всего: 15
Дата рег-ции: Нояб. 2005  

Карма 0




Скрипт работает, но в отдельном файле. А если перед или после этого скрипта что нибудь поставить, например print(), то идут ошибки
CODE:
Warning: Cannot modify header information - headers already sent by (output started at z:\home\moon\www\xxx.php:2) in z:\home\moon\www\xxx.php on line 11

print на второй строке. и он вставился, а вместо картинки идёт целая страница символов

Пытался вставлять файл через include, но вставляются ошибки.
 
 Top
TvoyWeb Администратор
Отправлено: 20 Ноября, 2005 - 16:35:03
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Цитата:
А если перед или после этого скрипта что нибудь поставить, например print(), то идут ошибки

Так я и знал.
Ты бы хоть мануал почитал что ли Улыбка
CODE:
imagejpeg($thumb);

Эта функция в том виде как она у тебя используется выдает содержимое картинки в выходной поток. Ты же примешиваешь к этому потоку еще и текст через print, а print сразу посылает заголовок что это текстовыей(HTML) документ. Вот у тебя каша и получается. Ты должен эту функцию положить в отдельный файл и вызывать ее на странице в теге img, тогда все будет нормально.
 
 Top
Fem_NoBody
Отправлено: 21 Ноября, 2005 - 09:28:48
Post Id


Newbie


Покинул форум
Сообщений всего: 15
Дата рег-ции: Нояб. 2005  

Карма 0




Тепреь всё понятно.
 
 Top
lexa
Отправлено: 03 Января, 2006 - 18:34:03
Post Id



Newbie


Покинул форум
Сообщений всего: 32
Дата рег-ции: Февр. 2005  
Откуда: Москва

Карма 0




Попробуй вот такой код:
CODE:

function ImageReSize($outfile,$infile,$neww,$newh,$quality)
{
$size = getimagesize($infile);
$format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
if ($format == 'jpeg')
{
$im = imagecreatefromjpeg($infile);
$header = 'Content-Type: image/jpeg';
}
elseif ($format == 'png')
{
$im = imagecreatefrompng($infile);
$header = 'Content-Type: image/png';
}
elseif ($format == 'gif')
{
$im = imagecreatefromgif($infile);
$header = 'Content-Type: image/gif';
}
header($header);
$im1=imagecreatetruecolor($neww,$newh);
imagecopyresampled($im1,$im,0,0,0,0,$neww,$newh,$size[0],$size[1]);
if ($format == 'jpeg')
imagejpeg($im1,$outfile,$quality);
elseif ($format == 'png')
imagepng($im1,$outfile,$quality);
elseif ($format == 'gif')
imagegif($im1,$outfile,$quality);
imagedestroy($im);
imagedestroy($im1);
flush();
}


$outfile - имя выходного файла (можно не подавать)
$infile - имя подаваемого файла
$neww - новый размер по вертикали
$newh - новый размер по горизонтали
$quality - качество выходной картинки
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 4 (гостей: 4, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


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



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0477]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33