Перейти к контенту

Resize image in [IMG]


Рекомендуемые сообщения

Мод: Resize image in

Категория: Моды

Совместимость: 2.0.x

Описание:

Модификация позволяет устанавливать фиксированные размеры на изображения которые постит пользователь с помощью тега , и изображение будет не собственных размеров например 1024х1024, а будет приведено размерам которые Вы установли в ACP, изображения которые менее максимальных размеров установленных в ACP НЕ масштабируются.

 

Подробнее...

Скачать

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 94
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

А если рисунок, допустим, 1000x600, как оно его отмаштабирует?

Или там настраиваеться макс. высота и макс. ширина допустимой картинки, после чего оно пропорционально уменьшает картинку (соотношение высоты и ширины), пока оба требования не будут удовлетворены?

После уменьшения можно кликнуть на картинку, чтоб на новой странице отдельно просмотреть полный рисунок?

Оно действует на анимируемую картинку?

Оно действует в подписи?

Ссылка на комментарий
Поделиться на других сайтах

А как работает? Ужимает средствами html или РЕАЛЬНО масштабирует изображение (так сделано с аттачеными картинками на форуме, что в подписи)?
Ссылка на комментарий
Поделиться на других сайтах

О

респект за мод

как раз хотел искать бежать

 

только плз действительно обьясните как он работает!? через GD?

а если допустим в настройках стоит 700на600 что бы уменьшало, а картинка, например, меньше этого размера, допустим, 300х400 - оно ёё не увеличит до размеров указанных в настройках? т.е до 700на600? потому, что помню сталкивался с таким приколом

Ссылка на комментарий
Поделиться на других сайтах

Посмотрел код - через атрибуты уменьшается! :D Как бы вы картинку с другого сайта через GD уменьшали? И как быть с анимированными картинками?
Ссылка на комментарий
Поделиться на других сайтах

Блин, чувак, опять выручил! Ты прям, как знаешь, что мне нужно! :D
Ссылка на комментарий
Поделиться на других сайтах

на страницах с большим кол-вом картинок ох как реально будет тормозиться загрузка из-за getimagesize("$url"). Тк для каждой картинки будут открываться сокети и приниматься хедеры. а о случае "мертвых картинок" подумали? так как до истечения таймаута страница будет ожидать данных... :D[1118680377:1118680627]Хотя.. таким макаром можна ограничивать возможные картинки (с помощью mime-type), да и PNG в эксплорер можно корректно вставлять (с альфа каналом...) ;)
Ссылка на комментарий
Поделиться на других сайтах

А если рисунок, допустим, 1000x600, как оно его отмаштабирует?

 

хоть десять тысяч на десять тысяч он пропорционально сожмет катинку и один из размеров будет максимальным который указан в админке

 

вот допустим Вы указали что высота и длина изображения 400х400 как я выставил у себя на форуме, то изображение 1000x600 уменьшиться до размеров 400х240

 

После уменьшения можно кликнуть на картинку, чтоб на новой странице отдельно просмотреть полный рисунок?

 

можно

 

 

Оно действует на анимируемую картинку?

 

не проверял думаю действует

 

Оно действует в подписи?

 

работает

 

А как работает? Ужимает средствами html или РЕАЛЬНО масштабирует изображение (так сделано с аттачеными картинками на форуме, что в подписи)?

 

я не рескнул сделать как аттачи, просто как Вы знаете после масштабирования аттачей сохраняется два вида изображения, одно маленькое а другое большое, и постоянно забивать хостинг новыми(хоть и маленькими) IMG? лично для меня не подходит, места может и закончится, да и масштабирование аттачей не благоприятно сказывается на анимированные изображения...

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

 

только плз действительно обьясните как он работает!? через GD?

угу

оно ёё не увеличит до размеров указанных в настройках?

если оба размера меньше максимума установленного в админке, то оставить как есть без изменения, в Вашем примере оставит без изменения

 

и вроде бы я написал в описании мода

>>изображения которые менее максимальных размеров установленных в ACP НЕ масштабируются.

 

 

Как бы вы картинку с другого сайта через GD уменьшали?

пользуясь стандартными функциями PHP

 

И как быть с анимированными картинками?

попробуйте, скажите потом думаю будет работать. у мну нет реальных больших анимированных картинок, проверить не мог.[1118681075:1118681707]

на страницах с большим кол-вом картинок ох как реально будет тормозиться загрузка из-за getimagesize("$url").

 

хмммм?? :D

можно ограничить же максимум кортинок в посте, потом инфа вся сохраниться в базу

второй то раз не будет проходить вроде функцию эту, при считывании из базы поста

 

Тк для каждой картинки будут открываться сокети и приниматься хедеры. а о случае "мертвых картинок" подумали? так как до истечения таймаута страница будет ожидать данных...

ну а как вы предлагаете узнать размеры изображения??

помему в любом случае поток надо открыть...

Ссылка на комментарий
Поделиться на других сайтах

можно ограничить же максимум кортинок в посте, потом инфа вся сохраниться в базу

второй то раз не будет проходить вроде функцию эту, при считывании из базы поста

Это уже другое дело (хотя база может разрастись не слабо, да и картинки имеют свойсво меняться ;) )

 

ну а как вы предлагаете узнать размеры изображения??

помему в любом случае поток надо открыть...

Нет, все правильно, без открытия потока никак - я всего лишь указал технический минус такого хака :D
Ссылка на комментарий
Поделиться на других сайтах

Вот че то не работает...

 

поподробнее.....

в админке настраивал??

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

 

ЗЫ:

 

проверку поставил на вводимые данные в админке, и + еще убрал пару ненужных действий

 

пому надо замените на это

  //-----------------------------------------
 //old image retutn function
 //return "<img src='$url' border='0' alt='user posted image' />";
               //-----------------------------------------
               // resize mod
               //-----------------------------------------
               $im_maxwidth = $ibforums->vars['img_widthtmax'];
               $im_maxheigh = $ibforums->vars['img_heightmax'];

               $get_img_info = @getimagesize("$url");

               if (($get_img_info[0] > $im_maxwidth or $get_img_info[1] > $im_maxheigh) 
           and $im_maxwidth > 0 
           and  $im_maxheigh > 0)
               {

                               if($get_img_info[0] > $get_img_info[1])
                               {
                                        $out_imgwidth = $im_maxwidth;
                                        $out_imgheigh =($get_img_info[1] / 100) * ($im_maxwidth / ($get_img_info[0] / 100));
                                        $out_imgheigh = floor($out_imgheigh);
                               }
                               else
                               {
                                        $out_imgwidth = ($get_img_info[0] / 100) * ($im_maxheigh / ($get_img_info[1] / 100));
                                        $out_imgheigh = $im_maxheigh;
                                        $out_imgwidth = floor($out_imgwidth);
                               }
                               return "<img width='$out_imgwidth' heigh='$out_imgheigh' src='$url' border='0' onmouseover=\"this.style.cursor='pointer';\" onclick=\"window.open('$url');\" alt='Open in new window' />";
               }
               else
                               return "<img width='$get_img_info[0]' heigh='$get_img_info[1]' src='$url' border='0' alt='User posted image' />";

Ссылка на комментарий
Поделиться на других сайтах

если это не забыл сделать

//*********************
//найдите
//***************
	 $txt = preg_replace( "#<img src=[\"'](\S+?)['\"].+?".">#"           , "\[img\]\\1\[/img\]"            , $txt );
 
//***************	
//замените на
//***************
	 //Image resize mod(add after "#<img" this simbols ".+?")
	 $txt = preg_replace( "#<img .+? src=[\"'](\S+?)['\"].+?".">#"           , "\[img\]\\1\[/img\]"            , $txt );
	 //Image resize mod

 

тогда что под ALT пишет?

User posted image или всетаки Open in new window

и какой формат изображения, хотя поидее должно шестнадцать форматов поддерживать

 

да и к стати какая версия PHP на сервере?[1118775651:1118775828]

основной архив обновлён?

 

угу

Ссылка на комментарий
Поделиться на других сайтах

А что, дело может быть в версии? Форум же сам идет...

Что значит под альт?[1118813569:1118820227]Перезаписал- все равно...

А нельзя как-то сделать по принципу аватара?

Ссылка на комментарий
Поделиться на других сайтах

А что, дело может быть в версии? Форум же сам идет...

Что значит под альт?

 

не фишка в чем может быть что getimagesize может не работать тока вот не понимаю по каким причинам

 

ALT - когда наводишь мышку на картинку что выдает какую подсказку?? в зависимости от нее можно плясать

 

Перезаписал- все равно...

А нельзя как-то сделать по принципу аватара?

 

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

Ссылка на комментарий
Поделиться на других сайтах

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

Когда ставишь аватар есть два пути-

1. Введите ссылку на файл вашего аватара

2. Загрузите аватар со своего компьютера

Так вот, когда я избираю первый путь, оно уменьшает картинку до установленых размеров.[1118850990:1118852043]User posted image...

Ссылка на комментарий
Поделиться на других сайтах

1. Введите ссылку на файл вашего аватара

 

да действительно забыл

 

User posted image...

 

странно.....

 

               $im_maxwidth = $ibforums->vars['img_widthtmax'];
              $im_maxheigh = $ibforums->vars['img_heightmax'];

 

вот эти параметры отвечают за считывания из конфига данных введенных в админке..

 

попробуй масштаб установить в ручную...

что-то на подобие такого

 

               $im_maxwidth = 400;
              $im_maxheigh = 400;

Ссылка на комментарий
Поделиться на других сайтах

При этом лучше удалить "настройки" из админцентра? Или значения не имеет?[1118907704:1118908496]Все равно... А ты делал не по принцыпу аватара?
Ссылка на комментарий
Поделиться на других сайтах

При этом лучше удалить "настройки" из админцентра? Или значения не имеет?

 

если так будет работать то настройки не нужны...

 

но мне кажется что $get_img_info[0] и $get_img_info[1] при всех настройках равны 0 т.е. поток на изображение не открыт либо открыт но ничего в ответ не пришло

Ссылка на комментарий
Поделиться на других сайтах

А какая система с аватаром?

в принципе такая же

 

    
	 $im = array();
	 
	 if ( ! $ibforums->vars['disable_ipbsize'] )
	 {
   if ( ! $img_size = @GetImageSize( $ibforums->input['url_avatar'] ) )
   {
  	 $img_size[0] = $p_width;
  	 $img_size[1] = $p_height;
   }
   
   $im = $std->scale_image( array(
           'max_width'  => $p_width,
           'max_height' => $p_height,
           'cur_width'  => $img_size[0],
           'cur_height' => $img_size[1]
           )      );
	 }
	 else
	 {	
   $w = intval($ibforums->input['man_width'])  ? intval($ibforums->input['man_width'])  : $p_width;
   $h = intval($ibforums->input['man_height']) ? intval($ibforums->input['man_height']) : $p_height;
   $im['img_width']  = $w > $p_width  ? $p_width  : $w;
   $im['img_height'] = $h > $p_height ? $p_height : $h;
	 }

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.