Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> алгоритм, создающий Thumbnails, есть ли готовый? 
V
    Опции темы
Alx
Дата 11.3.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



есть папка с фотками разных размеров (от 300 до 600 по ширине и высоте). надо их уменьшить до 100 пикселей, чтобы сделать превьюшки на сайте.
соответственно если высота больше ширины, то высота уменьшается до 100px, а ширина подгоняется как начальная_ширина/100*начальная_высота и наоборот.
нужно просто сделать превьюшки для фотоальбома на сайт.

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

заранее спасибо.

Это сообщение отредактировал(а) Alx - 11.3.2006, 16:05


--------------------
PM MAIL WWW ICQ   Вверх
teplotaya
Дата 11.3.2006, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 10.3.2006

Репутация: 1
Всего: 2



скрипт читает все jpg файлы в массив из каталога 001
ресайзит пропорционально и пишет в каталог 001/thumbs готовые превьюшки

Код


<?



//Допустимые расширения файлов:
$CONF["file_types"] ='jpg|gif|cxx';

//Открываем текущую директорию:
$dh = opendir('001');

//Читаем директорию:
while($fname = readdir($dh)){

     //Находим расширените файла :
          $file_array = explode('.', $fname);
          $num = count($file_array);
          $fileres = $file_array[($num - 1)];

    //Доступные расширения:
          $file_types = explode("|", $CONF['file_types']);

    //Если присутсвует файл с таким расширением, то вносим его в массив:
          if(in_array($fileres, $file_types)){

            $files[] = $fname;

          }

}




$a=0;


?>



<?
$width = 100; 
$height = 100; 

while ($a<count($files)) {

//название для превьюшек 
$source = $files[$a]; 
$thumb_name = $files[$a]; 

//готовим превьюшки 
$thumb = imagecreatefromjpeg("001/".$source); 
$img = getimagesize("001/".$source); 
$width2=round(($height/$img[1])*$img[0]); 
$img2 = imagecreatetruecolor($width2, $height); 

if(!function_exists("imagecopyresampled")) 
{ 
imagecopyresized($img2, $thumb, 0, 0, 0, 0, $width2, $height, $img[0], $img[1]); 
}else{ 
imagecopyresampled($img2, $thumb, 0, 0, 0, 0, $width2, $height, $img[0], $img[1]); 
} 
imagejpeg($img2, "001/thumb/".$thumb_name); 
imagedestroy($img2); 

$a++;
}


?>



Это сообщение отредактировал(а) teplotaya - 11.3.2006, 22:25
PM MAIL   Вверх
Alx
Дата 11.3.2006, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



teplotaya,
спасибо, сам писал?
в сл. раз юзай кнопку Код, ок?


--------------------
PM MAIL WWW ICQ   Вверх
teplotaya
Дата 11.3.2006, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 10.3.2006

Репутация: 1
Всего: 2



на половину
довел до работоспособности сам.


вот тока что дописал для универсальности:
Код


$b=strtolower($source);

if (strpos($b,".gif")>0)   { $thumb = imagecreatefromgif("001/".$source);  }  
if (strpos($b,".jpg")>0)   { $thumb = imagecreatefromjpeg("001/".$source);  }
if (strpos($b,".png")>0)   { $thumb = imagecreatefrompng("001/".$source);  }


if (strpos($b,".gif")>0)   { imagegif($img2, "001/thumb/".$thumb_name);  }  
if (strpos($b,".jpg")>0)   { imagejpeg($img2, "001/thumb/".$thumb_name);  }
if (strpos($b,".png")>0)   { imagepng($img2, "001/thumb/".$thumb_name);  }





Это сообщение отредактировал(а) teplotaya - 12.3.2006, 01:46
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.