Как вывести на экран сразу много картинок, подвергшихся ресайзу?

2k

Guest
Как вывести на экран сразу много картинок, подвергшихся ресайзу?

КакДля изменения размеров одной фотки я нашёл этот скрипт:
PHP:
<?PHP
$picture ="1.jpg";
$max=150;
$src_img=imagecreatefromjpeg($picture);
$oh = imagesy($src_img);
$ow = imagesx($src_img);
$new_h = $oh;
$new_w = $ow;
if($oh > $max || $ow > $max){
	$r = $oh/$ow;
	$new_h = ($oh > $ow) ? $max : $max*$r;
	$new_w = $new_h/$r;
}
$dst_img = imagecreate($new_w,$new_h);
imagecopyresized($dst_img, $src_img, 0,0,0,0, $new_w, $new_h, imagesx($src_img), imagesy($src_img));
imagejpeg($dst_img, 'th_'.$picture);
?>
А как вывести на экран сразу несклько таких картинок? Или хотя бы рядышком текст какой-нибудь написать?
Просто php не переваривает ничего кроме этой картинки.

Возможно я не самым удобным способом меняю размеры?
 

2k

Guest
Так просто... Спасибо!

Тогда ещё вопрос: о процессе выполнения того кода...
Если я имею фотку большого разрешения, а хочу вывести превьюшку на экран... Я проделываю этот скрипт... Тогда пользователь загрузит к себе исходную картинку или уменьшенный вариант?
По сути (учитывая, что пхп - серверный язык) все преобразования должны проходить на серваке...
Правильно ли я размышляю?
 

yugene

Отошел от дел
Да, PHP обычно исполняется на серваке :) Все преобразования, соответственно, там же.

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

2k

Guest
не... безусловно, увидит измененённую картинку... Вопрос в том, придётся ли ему качать исходник?
 

yugene

Отошел от дел
Пользователь увидит ТОЛЬКО результат работы скрипта. Если скрипт выдает уменьшенную копию - увидит только уменьшенную и знать не будет, такая она и есть ли на самом деле или где-то там есть большой исходник.
 

2k

Guest
Круто! Вот ещё вопрос: а как сделать не png, а gif или jpg? Ради размера...
header('Content-type: image/gif');
header('Content-type: image/jpg');
Это не спасает... файл всёравно предлается сохранить в png...
 

2k

Guest
Круто!
А теперь возникает вопрос...
Как сделать так, чтобы файл весил бы поменьше?
PHP:
header('Content-type: image/jpeg');
list($width, $height) = getimagesize($filename);
if($width<$height){
	$new_width = 90;
	$new_height = 120;
}else{
	$new_width = 120;
	$new_height = 90;
}
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($image_p, null, 100);
Получается раза в три больше, чем нормальный jpg... Что делать?
 
Сверху