Jump to content

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


 

Share this post


Link to post
Share on other sites

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

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

Edited by ndr334

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • 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.

×

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.