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

Как уменьшить размер вставляемой картинки?


Вопрос

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

p.s. Я не спрашиваю про attach img файла...

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

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

  • 0

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

Хочу привести весь файл помощи по установке:

##          Board_Root_Path/sources/lib/post_parser.php

##          Admin Cp >> All Stylesheets & All Board Wrappers

#-----[ OPEN ]------------------------------------------

board_root_path/sources/lib/post_parser.php

#-----[ FIND]------------------------------------------

$txt = preg_replace( "#<img src=[\"'](\S+?)['\"].+?".">#", "\[img\]\\1\[/img\]", $txt );

#-----[ REPLACE WITH ]------------------------------------------

$txt = preg_replace( "#<div class='bbimg'><img src=[\"'](\S+?)['\"].+?"."></div>#", "\[img\]\\1\[/img\]", $txt );

#-----[ FIND]------------------------------------------

return "<img src='$url' border='0' alt='user posted image' />";

#-----[ REPLACE WITH ]------------------------------------------

return "<div class='bbimg'><img src='$url' border='0' alt='user posted image' /></div>";

---------- вот до этого момента всё понятно и сделано

 

#-----[ IN ALL BOARD WRAPPERS ADD ] - это в пункте IPB default skin "Изменить верхний/нижний колонтитул?" правильно? или я ошибся?

<script>

function ImagesResize() {

  var obj = document.getElementsByTagName("div");

  for(var i = 0;i<obj.length;i++) {

    if (obj.className == "bbimg") {

      var img = obj.getElementsByTagName("img");

      if (img[0].width > 500) { obj.innerHTML = '<div align=center><img src="' + img[0].src + '" width="500">' + '<br><a href="' + img[0].src + '" target="_blank">Show Image In Full Size</a></div>'; }

    }

  }

}

</script>

 

#-----[ ALSO IN ALL BOARD WRAPPERS ]-----

Edit the <body> tag:

<body onLoad="ImagesResize()">

Теперь я получаю "Ошибка на странице" и соответственно ничего не работает, может я не туда это вписываю?

 

#-----[ IN ALL CSS STYLE SHEETS ]- это я тоже сделал

.bbimg {

display: block;

clear: all;

}

 

EOF

 

Подскажите пожалуйста, где я ошибся? На изе в теме поддержки мода решения данной проблемы нет... (никто не столкнулся с этой проблемой). У меня IPB 2.0.3

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

  • 0

кажись есть проще решение там же на изе

 

sources/lib/post_parser.php

 

находим

 	 $txt = preg_replace( "#<img src=[\"'](\S+?)['\"].+?".">#"           , "\[img\]\\1\[/img\]"            , $txt );

добавляем после

 

 	 // START Image Auto Resize Mod
	 $txt = preg_replace( "#<img .+? src=[\"'](\S+?)['\"].+?".">#"           , "\[img\]\\1\[/img\]"            , $txt );
	 // END  Image Auto Resize Mod

находим

 

 	 return "<img src='$url' border='0' alt='user posted image' />";

 

 

заменяем

 

  // START Image Auto Resize Mod
       $qt_maxwidth = $ibforums->vars['siu_width'];
 $qt_img_info = getimagesize("$url");
       $qt_out_width = 0;
 $qt_alt = "User posted image";


       if ($qt_img_info[0] >  $qt_maxwidth and $in['SIGNATURE'] != 0){
      	 $qt_out_width = $qt_maxwidth;
	 return "<a href='$url' target='_new'><img width='$qt_out_width' src='$url' border='0' alt='$qt_alt' /></a>";
       }
 else return "<img src='$url' border='0' alt='user posted image' />";
 // END Image Auto Resize Mod

 

 

©BigBallerAlwayz - его мод

 

 

терь Admin Cpanel -> View All General Settings -> Topics, Posts, and Polls

Scroll

 

и настраиваем все размеры аттачей они терь отностся и к аттачам и к картинкам[1117046860:1117047297]

#-----[ IN ALL BOARD WRAPPERS ADD ] - это в пункте IPB default skin "Изменить верхний/нижний колонтитул?" правильно? или я ошибся?

<script>

function ImagesResize() {

  var obj = document.getElementsByTagName("div");

  for(var i = 0;i<obj.length;i++) {

    if (obj.className == "bbimg") {

      var img = obj.getElementsByTagName("img");

      if (img[0].width > 500) { obj.innerHTML = '<div align=center><img src="' + img[0].src + '" width="500">' + '<br><a href="' + img[0].src + '" target="_blank">Show Image In Full Size</a></div>'; }

    }

  }

}

</script>

 

#-----[ ALSO IN ALL BOARD WRAPPERS ]-----

Edit the <body> tag:

<body onLoad="ImagesResize()">

Теперь я получаю "Ошибка на странице" и соответственно ничего не работает, может я не туда это вписываю?

 

после этого впихивал??

<% JAVASCRIPT %>

м?

 

в смысле пред

</head>

 

если да то тогда правильно на скока я понимаю

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

  • 0

Я на изе нашёл 3 возможных решения данной задачи (поиск по Resize)

Тот вариант, что ты описал выше - не работает. 3-й вариант оказался 100% рабочим (Resizer_By_explon) - там изменения тоже в файле sources/lib/post_parser.php и можно вписать какая кратность уменьшения картинки (x0.25), но иногда при открытии поста он не уменьшает все картинки, но при обновлении окна F5 - всё в порядке.

А с первым - так и пишет "Ошибка на странице"

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

  • 0
Люди всё сделал как сказал -SAT-, где тепеь настроить размер картики, в админ панеле, в "Все настройки форума" ничего не нашёл :D у меня форум 2.0.1
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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