Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Recommended Posts

Масштабирование изображений


Масштабирование изображений


По дефолту, в OpenCart-е, когда система масштабирует изображение при создании превьюшек, попапов и т.д., она масштабирует его так, чтобы изображение полностью помещалось в указанные в админке размеры. Но часто бывает так, что в дизайне например под изображения предусмотрено например горизонтальное поле. А менеджер залил горизонтальное изображение. В результате на превью да и в попапах обнаруживаются неприятные беьые полосы по бокам изображения. Это терпимо, если фон этого самого изображения белый.

222.jpg

А вот если фон довольно контрастный белому - то эти полоски сильно бросаются в глаза.

33333.jpg

Модуль добавляет в админку возможность выбора из 2х способов масштабирования:

111111.jpg

1) Вместить - этот способ используется в OpenCart-е поумолчанию

2) Обрезать - новый способ. Он не пытается вместить картинку в заданные рамки, а увеличивает ее так, чтобы изображение заполнило собой все пространство. При этом само изображение центрируется, а те его части, которые не вместились в указанную область - обрезаются.

444.jpg

Тестировалось на ocstore 1.5.3.1, 1.5.1.3, 1.5.4.1


 

Link to post
Share on other sites

маловато способов. И "обрезать", на мой взгляд, не очень то ходовой способ. Я такое никогда не использовал, т. к. при этом теряется полезная информация.

 

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

 

Идея у вас правильная, но разных способов нужно побольше.

Link to post
Share on other sites

Еще столкнулся с необходимостью для главной картинки и дополнительных картинок товаров задавать разные алгоритмы.

А также разные алгоритмы для миниатюр и для полноразмерных изображений.

 

например, здесь: http://vd.sitecreator.pro/index.php?route=product/product&path=20&product_id=206

Link to post
Share on other sites
  • 3 weeks later...

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

 

Что-то я не понял если картинка остается прежней, то какая разница добавятся белые полосы по бокам или нет? Разницы то никакой, только картинка правильной формы будет, например вы добавляете 200х500px а с белыми полосами получиться 500х500px...

Link to post
Share on other sites

................

Если воспользоваться новым способом, что будет происходить с большой картинкой которая после нажатия в colorbox всплывает? Она тоже будет обрезанной? Я это спрашиваю потому, что подобный модуль я уже видел на оф сайте опенкарта, там он очень плохо работает - и привьюшки режет и оригинал и в админке настроек нет, а автор еще и 10$ берет - треш короче :-D

Link to post
Share on other sites
  • 2 years later...

С версией движка 1.5.6.4 не работает. Если кому нужно, вот адаптация https://yadi.sk/d/ahhTTWeinWA5A

 

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

Edited by ndr334
Link to post
Share on other sites

Я что-то не подумал, что модуль платный. Админ, если не сложно добавь доработку к архиву, а мое сообщение удали (у меня прав нет удалить)

Link to post
Share on other sites

  • 7 months later...
  • 5 months later...

Нужно как раз такое обрезание. Сделайте под 2.1 пожалуйста. Очень надо, в ближайшие дни.

Link to post
Share on other sites

  • 2 months later...

То же  буду просить под  2.1  очень нужно 

Link to post
Share on other sites

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

 

Находим в файле system/library/image.php это:

$scale = min($scale_w, $scale_h);

И заменяем на:

$scale = max($scale_w, $scale_h);

После этого чистим кэш картинок.

При желании можно реализовать только для определённого диапазана разеров. Например что бы не резалиь картинки больших размеров. Например больше 600 px.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By Anton9999
      Столкнулся с проблемой - размытое изображение товара в витрине товаров. При увеличении размера изображения в настройках шаблона, улучшается качество данного изображения, и вместе с ним увеличивается размер блока. Блоки получаются очень большими. Как сделать блоки небольшого размера с изображениями хорошего качества внутри?
    • By igorauscas
      Подскажите можно, как можно сделать ресайз изображения указав только один параметр (высоту или ширину). Стандартный ресайз требует указания обеих параметров. Хочу обработать фото от пользователей, но так как они могут быть разных форматов и что бы меньше занимали места на хостинге. Хочу привести их к одному виду. Что бы высота у всех фото была одинакова, а ширина пропорционально под высоту подстраивалась. Подскажите кто знает как это сделать.
    • By kur1977
      По дефолту, в OpenCart-е, когда система масштабирует изображение при создании превьюшек, попапов и т.д., она масштабирует его так, чтобы изображение полностью помещалось в указанные в админке размеры. Но часто бывает так, что в дизайне например под изображения предусмотрено например горизонтальное поле. А менеджер залил горизонтальное изображение. В результате на превью да и в попапах обнаруживаются неприятные беьые полосы по бокам изображения. Это терпимо, если фон этого самого изображения белый.

      А вот если фон довольно контрастный белому - то эти полоски сильно бросаются в глаза.

      Модуль добавляет в админку возможность выбора из 2х способов масштабирования:

      1) Вместить - этот способ используется в OpenCart-е поумолчанию
      2) Обрезать - новый способ. Он не пытается вместить картинку в заданные рамки, а увеличивает ее так, чтобы изображение заполнило собой все пространство. При этом само изображение центрируется, а те его части, которые не вместились в указанную область - обрезаются.

      Тестировалось на ocstore 1.5.3.1, 1.5.1.3, 1.5.4.1
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.