Перейти к содержанию
Форум поддержки пользователей VamShop

Модуль XT для картинок


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

Есть ли смысл поставить проверку размера картинок перед тем как библиотека их нарезает?

То есть допустим в настройках стоит, что картинка на карточке товара должна быть 250 на 250. А если оригинальная картинка 200 на 200, то модуль ее увеличивает. В результате качество картинки падает. Проблема в том, чтобы в таком случае размеры картинки всегда оставались бы оригинальными, то есть 200 на 200 в независимости от того, что стоит в настройках.

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

Я так думаю в файлах product_info_images.php, product_popup_images.php, product_thumbnail_images.php.

Там есть функция vam_get_image_size, которая получает размер картинки. А new image_manipulation ее режет, как я понимаю

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

в файле \admin\includes\functions\trumbnails_add_funcs.php

Строчки:

function vam_get_image_size($src, $width, $height) {

if ( (CONFIG_CALCULATE_IMAGE_SIZE == 'true') && (empty($width) || empty($height)) ) {

if ($image_size = @getimagesize($src)) {

if (!vam_not_null($width) && vam_not_null($height)) {

$ratio = $height / $image_size[1];

$width = $image_size[0] * $ratio;

} elseif (vam_not_null($width) && !vam_not_null($height)) {

$ratio = $width / $image_size[0];

$height = $image_size[1] * $ratio;

} elseif (!vam_not_null($width) && !vam_not_null($height)) {

$width = $image_size[0];

$height = $image_size[1];

}

}

}

return(array((int)$width, (int)$height));

}

Заменить на:

  function vam_get_image_size($src, $width, $height) {

      if ( (CONFIG_CALCULATE_IMAGE_SIZE == 'true')  ) {

        if ($image_size = @getimagesize($src)) {

            if (!vam_not_null($width) && vam_not_null($height)) {

              $ratio = $height / $image_size[1];

              $width = $image_size[0] * $ratio;

            } elseif (vam_not_null($width) && !vam_not_null($height)) {

              $ratio = $width / $image_size[0];

              $height = $image_size[1] * $ratio;

            } elseif (!vam_not_null($width) && !vam_not_null($height) or ($width > $image_size[0] and $height > $image_size[1])) {

              $width = $image_size[0];

              $height = $image_size[1];

            }

        }

      }

      return(array((int)$width, (int)$height));

  }

Тогда маленькие картинки не будет увеличивать.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...