[PHP] создание превьюшек

stm6695895

хочется на хомяке сделать фотогалерею.
можно ли как-то сделать так, чтобы скрипт выдавал маленькие превьюшки закачанных картинок?

Ivan8209

Можно.
Ключевое слово --- "thumbnail".
---
...Я работаю антинаучным аферистом...

ghytr00013

Только что озадачивался этим вопросом. При закачке из картинки делается уменьшенная и сохраняется. Главное при этом, если делать через пхп, маленькую картинку надо создавать через imagecreatetruecolor, а не imagecreate. Иначе качество не очень на выходе. Другой вариант - imagemagick.

stm6695895

можно вариант скрипта?
thumbnail не пашет, чего-то не хватает

stalker33rus10

Основа скрипта вот

$bd = imagecreatefromjpeg($oldfile_name);
...
$sd = imagecreatetruecolor($wid2, $hei2);
imagecopyresampled($sd, $bd, 0, 0, 0, 0, $wid2, $hei2, $wid1, $hei1);
imagejpeg($sd, $newfile_name, 100);
ImageDestroy($bd);
ImageDestroy($sd);


А вобще читай http://www.php.net/manual/ru/ref.image.php

ava3443

А всё-таки, какая цель?
Сделать самому и обязательно на PHP, или сделать фотогалерею минимальными силами?
Если второе, то готовые скрипты тебе в руки, например: http://xome.net/projects/jigl/

stm6695895

нет уж, первое!
это в общем-то все в качестве ботвы пхп
2. вдогонку уж поясни плз до конца приведенный кусочек, что такое $sd, $bd, $old_filename, $new_filename понятно, оставшееся - видимо, ширина и высота. А что должно в принципе быть на месте троеточия?

bansek

есть плагин для смарти, которые делает превью on demand
если движок не смарти, то все равно стОит посмотреть код - его оттуда довольно легко выдрать
http://www.cerdmann.com/thumb/

stalker33rus10

$bd, $sd - указатели на изображения (начальное и превьюшку)
$old_filename - имя файла с которого делается превьюшка
$new_filename - имя файла куда запишется превьюшка
Вместо троеточия много что может быть, например там может быть определение размеров исходного изображения, если еще не определено и установка размеров нового изображения.

$size = getimagesize($old_filename);
$wid1 = $size[0];
$hei1 = $size[1];

$wid2 = $wid1/5;
$hei2 = $hei1/5;



А вобще все же почитай доки по соответствующим функциям, полезно и все понятно. А то скоро попросишь просто написать все за тебя

stm6695895

да собсно и так все уже исчерпывающе понятно. Сенкс
Оставить комментарий
Имя или ник:
Комментарий: