Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Превью создать бы!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
ybiza
Отправлено: 19 Июля, 2010 - 16:35:34
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




Здесь на форуме нашел функцию которая создает превью но не как не могу ее использовать в хтмл документе. Если не трудно опишите как сделать так чтобы изображение обрабатывалось через нее.
У меня путь к изображению храниться в переменной $img. Объясните, желательно поподробней Буду очень благодарен!
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.       function imageResize($img, $newWidth, $newHeight) {
  4.        
  5.               $image=urldecode($image);
  6.               $size = GetImageSize($image);
  7.        
  8.               $width = $size[0];
  9.               $height = $size[1];
  10.        
  11.               if($width>$height){
  12.                             $need_ratio = $width/$newWidth;
  13.                             $n_width = $newWidth;
  14.                             $n_height = $height/$need_ratio;
  15.                             $ofset_y = ($newHeight - $n_height)/2;
  16.        
  17.                             if($n_height>$newHeight){
  18.                                $need_ratio = $height/$newHeight;
  19.                                     $n_width = $width/$need_ratio;
  20.                                     $n_height = $newHeight;
  21.                                     $ofset_x = ($newWidth - $n_width)/2;
  22.                                     $ofset_y = ($newHeight - $n_height)/2;
  23.                             }
  24.               }
  25.               else {
  26.                             $need_ratio = $height/$newHeight;
  27.                             $n_width = $width/$need_ratio;
  28.                             $n_height = $newHeight;
  29.                             $ofset_x = ($newWidth - $n_width)/2;
  30.        
  31.                              if($n_width>$newWidth){
  32.                                             $need_ratio = $width/$newWidth;
  33.                                             $n_width = $newWidth;
  34.                                             $n_height = $height/$need_ratio;
  35.                                             $ofset_y = ($newHeight - $n_height)/2;
  36.                                        $ofset_x = ($newWidth - $n_width)/2;
  37.                              }
  38.               }
  39.       if($size[2]==IMAGETYPE_GIF){
  40.               $src = ImageCreateFromGif($image);
  41.       }
  42.       else if($size[2]==IMAGETYPE_JPEG){
  43.               $src = ImageCreateFromJpeg($image);
  44.       }
  45.       else {
  46.               $src = ImageCreateFromPNG($image);
  47.       }
  48.               $dst = ImageCreateTrueColor($newWidth,$newHeight);
  49.  
  50.               $background_color = imagecolorallocate($dst, 255, 255, 255);
  51.  
  52.               imagefilledrectangle($dst, 0,0, $newWidth, $newHeight, $background_color);
  53.               ImageCopyResampled($dst, $src, $ofset_x, $ofset_y, 0, 0,
  54.               $n_width,$n_height,$width,$height);
  55.       if($size[2]==IMAGETYPE_GIF){
  56.               header("Content-type: image/gif");
  57.               ImageGif($dst);
  58.       }
  59.       else if($size[2]==IMAGETYPE_JPEG){
  60.               header("Content-type: image/jpeg");
  61.               ImageJpeg($dst, null, 100);
  62.       }
  63.       else {
  64.               header("Content-type: image/png");
  65.               ImagePNG($dst);
  66.       }
  67.               ImageDestroy($src);
  68.               ImageDestroy($dst);
  69.       }
  70.  
  71.         ?>
  72.        
  73.        
  74.  

(Отредактировано автором: 19 Июля, 2010 - 16:36:32)

 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Июля, 2010 - 16:53:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Вообще ресайзинг лучше использовать ЕДИНОЖДЫ при размещении новой картинки на сайте, а не каждый раз генерить новую маленькую картинку.....
Ну уж если вы так хотите:
Вам надо передать ф-ции imageResize(); три аргумента
1. путь до картинки
2. новую ширину
3. новую высоту
Все три желаемых значения, я думаю, вы в состоянии получить...
 
 Top
ybiza
Отправлено: 19 Июля, 2010 - 17:17:14
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




DeepVarvar пишет:
Вообще ресайзинг лучше использовать ЕДИНОЖДЫ при размещении новой картинки на сайте, а не каждый раз генерить новую маленькую картинку.....
А как реализовать это сие чудо?
DeepVarvar пишет:
Вам надо передать ф-ции imageResize(); три аргумента
1. путь до картинки
2. новую ширину
3. новую высоту
Все три желаемых значения, я думаю, вы в состоянии получить...Просто вы пишете

Уважаемый DeepVarvar Если вам не трудно исправить посмотрите: Я это представляю так
Создаю файл thumb.php который содержит функцию. В файле в котором мне надо выводить изображения прописываю require_once (dirname(__FILE__).DS.'thumb.php');
Но а дальше я не знаю как оформить если не трудно подскажите я вообще запутался!!!!
Как оформить <img src="<?php xxx ?>"> или что то другое!?

(Отредактировано автором: 19 Июля, 2010 - 17:19:14)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB