Уменьшение больших изображений

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Зарегистрирован: 16 лет 11 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

Re: Уменьшение больших изображений

Сообщение МайскийЖук »

загружаб большое изображение и хранят его
Это где ж вы такое прочитали-то?
Любовь и боль, покой и бой я как любой несу с собой…
Аватара пользователя
Slava9
phpBB 2.0.2
Сообщения: 321
Зарегистрирован: 17 лет 8 месяцев
Откуда: Киев
Благодарил (а): 47 раз

Re: Уменьшение больших изображений

Сообщение Slava9 »

Татьяна5 :D торопыжка я, спасибо, сейчас разберусь
папа
phpBB 1.4.4
Сообщения: 106
Зарегистрирован: 14 лет 8 месяцев
Благодарил (а): 5 раз

Re: Уменьшение больших изображений

Сообщение папа »

***Blaze*** писал(а):Вот посмотрите вот этот мод Reimg Image Resizer
я заметил что этот мод конфликтует с модом уменьшающим вес изображения при закачке.
Потому что
1)изображения перестали уменьшаться
2)страницы с вложениями стали грузиться долго-по пол минуты.
разве не так?
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Зарегистрирован: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Уменьшение больших изображений

Сообщение Пчелкин »

Не так...конфликтов никаких...так как физическое уменьшение веса и настройки ресайзера - разные штуки и друг от друга не зависят....
Настройте все правильно...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
slavapril
phpBB 1.4.4
Сообщения: 126
Зарегистрирован: 13 лет 7 месяцев
Благодарил (а): 18 раз
Поблагодарили: 22 раза

Re: Уменьшение больших изображений

Сообщение slavapril »

nissin писал(а):Скажем так не мод, а просто хак:
http://www.phpbb.com/community/viewtopi ... 5#p9652285
После заливки данного мода/хака при загрузке фото получаю сообщение
[phpBB Debug] PHP Notice: in file [ROOT]/include/functions_upload.php on line 296: A non well formed numeric value encountered
[phpBB Debug] PHP Notice: in file [ROOT]/include/functions_upload.php on line 301: A non well formed numeric value encountered

Код: Выделить всё

строка 287 $hauteur = $hauteur / ($largeur / $limite_largeur);
$largeur = $limite_largeur;
}
if($hauteur > $limite_hauteur)
{
$largeur = $largeur / ($hauteur / $limite_hauteur);
$hauteur = $limite_hauteur;
}

строка 296 $destination = imagecreatetruecolor($largeur, $hauteur);
if ( $this->extension == "jpg" || $this->extension == "jpeg" ) $source = imagecreatefromjpeg($this->destination_file);
elseif ( $this->extension == "png" ) $source = imagecreatefrompng($this->destination_file);
elseif ( $this->extension == "gif" ) $source = imagecreatefromgif($this->destination_file);

строка 301 imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur, $hauteur, $size[0], $size[1]);
$black = imagecolorallocate($destination,255,255,255);
$str = "http://mysite.ru";
imagestring($destination,5,40,30,$str, $black);
if ( $this->extension == "jpg" || $this->extension == "jpeg" ) imagejpeg($destination, $this->destination_file,75);
Если есть мысли, то чего копать и куда...? и если можно, то объяснить для тех, кто на бронепоезде и родом из сельской местности :D
Shredder
Former team member
Сообщения: 2266
Зарегистрирован: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: Уменьшение больших изображений

Сообщение Shredder »

slavapril
Здесь улучшили этот мод.
[dev] Upload image resizer
Аватара пользователя
slavapril
phpBB 1.4.4
Сообщения: 126
Зарегистрирован: 13 лет 7 месяцев
Благодарил (а): 18 раз
Поблагодарили: 22 раза

Re: Уменьшение больших изображений

Сообщение slavapril »

Да...с этой версией работает без проблем
Аватара пользователя
Юрий5
phpBB 1.4.1
Сообщения: 45
Зарегистрирован: 15 лет 6 месяцев
Откуда: Киев
Благодарил (а): 7 раз

Уменьшение больших изображений

Сообщение Юрий5 »

Всем доброго времени суток!

Я может что то пропустил, но почитав несколько тем, ответа не нашел.
Как пишет SergeiS Уменьшение больших изображений , проблема загрузки с файлами, у многих возникает.

Меня интересует вот что:
Фото грузятся на бесплатный хост картинок (Радикал, контакт и т.д.), потом проcто заключают в теги [ img] ссылка на фото[/img]
Хоть и в инструкции написано 100-150 кб., но многие по не знанию вставляют фото разных размеров.
Поэтому приходилось редактировать вручную и уменьшать их и перезаливать.

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

Есть в природе мод, который может открыть фото в том же окне в том размере, в каком оно есть на самом деле?

Извините, может где то, что то не дочитал, но голова кругом.
Аватара пользователя
Djeday
phpBB 2.0.7a
Сообщения: 644
Зарегистрирован: 14 лет 8 месяцев
Благодарил (а): 108 раз
Поблагодарили: 68 раз

Re: Уменьшение больших изображений

Сообщение Djeday »

Юрий5, думаю ответ в данном посте: Как привязать lightbox к форуму?
(но не забываем скачать и подключить прежде сам highslide)
Я смею то, что можно человеку, кто смеет меньше - тот не человек.
Аватара пользователя
Strigops
phpBB 2.0.0
Сообщения: 203
Зарегистрирован: 14 лет 5 месяцев
Благодарил (а): 27 раз
Поблагодарили: 3 раза

Re: Уменьшение больших изображений

Сообщение Strigops »

Сделал, по инструкции, как в этом сообщении. Все прекрасно работает, но с изображениями весом до 1 мб. Больше 1-го не загружаются, пишет:

Изображение

Не подскажите, где можно увеличить размер, скажем, до 2 мб?
Аватара пользователя
bumbr
phpBB 1.4.4
Сообщения: 129
Зарегистрирован: 15 лет 3 месяца
Откуда: Беларусь
Благодарил (а): 44 раза
Поблагодарили: 24 раза

Re: Уменьшение больших изображений

Сообщение bumbr »

АСР -> Сообщения -> Группы расширений -> ищите зелную шестерёнку напротив группы Изображения, нажимаете и устанавливаете в соответствующем поле размер файла.
Аватара пользователя
Strigops
phpBB 2.0.0
Сообщения: 203
Зарегистрирован: 14 лет 5 месяцев
Благодарил (а): 27 раз
Поблагодарили: 3 раза

Re: Уменьшение больших изображений

Сообщение Strigops »

Это не то)), я уже пробовал. Вложения на моем форуме отключены вообще. То что я показывал на скрине выше, вылазит в галерее, если пробовать загрузить туда изображение больше одного мегабайта. В настройках галереи тоже уже все перерыл.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Зарегистрирован: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: Уменьшение больших изображений

Сообщение владимир1983 »

Strigops
А как твоя проблема относиться к данной теме? У тебя проблема с галереей, вот в ней и писал бы.
Смотри настройку "Максимальный размер файла (байт):" в конфигурации галереи.
Все остальные вопросы по галереи в соответствующей теме.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Аватара пользователя
Strigops
phpBB 2.0.0
Сообщения: 203
Зарегистрирован: 14 лет 5 месяцев
Благодарил (а): 27 раз
Поблагодарили: 3 раза

Re: Уменьшение больших изображений

Сообщение Strigops »

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

Открыть includes/function_upload.php, найти:

Код: Выделить всё

if (!$this->upload->valid_dimensions($this))
      {
         $this->error[] = sprintf($user->lang[$this->upload->error_prefix . 'WRONG_SIZE'], $this->upload->min_width, $this->upload->min_height, $this->upload->max_width, $this->upload->max_height, $this->width, $this->height);
         return false;
      }

      return true;
   }
и заменить на

Код: Выделить всё

if (!$this->upload->valid_dimensions($this))
      {
         $valid = $this->create_thumb();
         
         if (!$valid)
         {
            $this->error[] = sprintf($user->lang[$this->upload->error_prefix . 'WRONG_SIZE'], $this->upload->min_width, $this->upload->min_height, $this->upload->max_width, $this->upload->max_height, $this->width, $this->height);

            return false;
         }
      }

      return true;
   }

   /**
   * Create a thumb if uploaded image is too big.
   * This function was based mainly on MediaWiki's thumbnail creating process
   * and create_thumbnail function in functions_posting.php
   * @source MediaWiki
   */
   function create_thumb()
   {
      global $config;

      if ($this->width > $this->height) 
      {
         $thumb_width = $this->upload->max_width;
         $thumb_height = $this->height*($this->upload->max_height/$this->width);
      }
      else if ($this->width < $this->height) 
      {
         $thumb_width = $this->width*($this->upload->max_width/$this->height);
         $thumb_height = $this->upload->max_height;
      }
      else /* $this->width == $this->height */
      {
         $thumb_width = $this->upload->max_width;
         $thumb_height = $this->upload->max_height;
      }

      // Only use imagemagick if defined and the passthru function not disabled
      if ($config['img_imagick'] && function_exists('passthru'))
      {
         $quality = '';
         $sharpen = '';
         $frame = '';
         $animation = '';
         if ( $this->mimetype == 'image/jpeg' )
         {
            $quality = '-quality 80'; // 80%
            /** Reduction in linear dimensions below which sharpening will be enabled */
            if ( ( $thumb_width + $thumb_height ) / ( $this->width + $this->height ) < 0.85 )
            {
               $sharpen = '-sharpen 0x0.4';
            }
         }
         elseif ($this->mimetype == 'image/png')
         {
            $quality = '-quality 95'; // zlib 9, adaptive filtering
         }
         elseif ($this->mimetype == 'image/gif')
         {
            /**
             * Force thumbnailing of animated GIFs above this size to a single
             * frame instead of an animated thumbnail. ImageMagick seems to
             * get real unhappy and doesn't play well with resource limits. :P
             * Defaulting to 1 megapixel (1000x1000)
             */
            if($this->width * $this->height > 1.0e6)
            {
               // Extract initial frame only
               $frame = '[0]';
            }
            else
            {
               // Coalesce is needed to scale animated GIFs properly (MediaWiki bug 1017).
               $animation = ' -coalesce ';
            }
         }
         # Specify white background color, will be used for transparent images
         # in Internet Explorer/Windows instead of default black.

         # Note, we specify "-size {$this->width}" and NOT "-size {$this->width}x{$this->height}".
         # It seems that ImageMagick has a bug wherein it produces thumbnails of
         # the wrong size in the second case.

         if (substr($config['img_imagick'], -1) !== '/')
         {
            $config['img_imagick'] .= '/';
         }
         $cmd  = 
            escapeshellcmd($config['img_imagick']) . 'convert' . ((defined('PHP_OS') && preg_match('#^win#i', PHP_OS)) ? '.exe' : '') .
            " {$quality} -background white -size {$this->width} ".
            escapeshellarg($this->destination_file . $frame) .
            $animation .
            // For the -resize option a "!" is needed to force exact size,
            // or ImageMagick may decide your ratio is wrong and slice off
            // a pixel.
            ' -thumbnail ' . escapeshellarg( "{$thumb_width}x{$thumb_height}!" ) .
            " -depth 8 $sharpen " .
            escapeshellarg($this->destination_file) . ' 2>&1';

         @passthru($cmd);

         // after converting let's check the file dimensions again
         if (($this->image_info = @getimagesize($this->destination_file)) !== false)
         {
            $this->width = $this->image_info[0]; // the _real_ width
            $this->height = $this->image_info[1]; // the _real_ height
            if ($this->upload->valid_dimensions($this)) 
            {
               return true;
            }
         }
      }
      if (extension_loaded('gd'))
      {
         /* This code is greatly based on MediaWiki's thumbnail generation process */
         $typemap = array(
            'image/gif'          => array( 'imagecreatefromgif',  'palette',   'imagegif'  ),
            'image/jpeg'         => array( 'imagecreatefromjpeg', 'truecolor', array( __CLASS__, 'imagejpegwrapper' ) ),
            'image/png'          => array( 'imagecreatefrompng',  'bits',      'imagepng'  ),
            'image/vnd.wap.wbmp' => array( 'imagecreatefromwbmp', 'palette',   'imagewbmp'  ),
            'image/xbm'          => array( 'imagecreatefromxbm',  'palette',   'imagexbm'  ),
         );
         if (!isset( $typemap[$this->mimetype] ))
         {
            return false;
         }

         list($loader, $color_style, $save_type) = $typemap[$this->mimetype];
      
         if (!function_exists($loader))
         {
            return false;
         }
         $src_image = call_user_func( $loader, $this->destination_file );
         $thumb = imagecreatetruecolor($thumb_width, $thumb_height);

         // Initialise the destination image to transparent instead of
         // the default solid black, to support PNG and GIF transparency nicely
         $background = imagecolorallocate( $thumb, 0, 0, 0 );
         imagecolortransparent( $thumb, $background );
         imagealphablending( $thumb, false );
      
         if( $color_style == 'palette' ) {
            // Don't resample for paletted GIF images.
            // It may just uglify them, and completely breaks transparency.
            imagecopyresized( $thumb, $src_image,
               0,0,0,0,
               $thumb_width, $thumb_height, $this->width, $this->height );
         } else {
            imagecopyresampled( $thumb, $src_image,
               0,0,0,0,
               $thumb_width, $thumb_height, $this->width, $this->height );
         }

         imagesavealpha( $thumb, true );

         call_user_func( $save_type, $thumb, $this->destination_file );
         imagedestroy($thumb);
         imagedestroy($src_image);
         $this->width = $thumb_width;
         $this->height = $thumb_height;
         return true;
      }
      return false;
   }

   static function imagejpegwrapper( $dst_image, $thumb_path ) {
      imageinterlace( $dst_image );
      imagejpeg( $dst_image, $thumb_path, 95 );
   }

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Аватара пользователя
southklad
phpBB 3.1.0 RC4
Сообщения: 3467
Зарегистрирован: 14 лет 8 месяцев
Благодарил (а): 871 раз
Поблагодарили: 200 раз

Re: Уменьшение больших изображений

Сообщение southklad »

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

Вернуться в «Запросы модов для phpBB 3.0.x»