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

kur1977    105

index.php?app=downloads&module=display&section=screenshot&id=1086

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

Добавил: kur1977

Добавлен: 06 апр. 2013

Категория: Модули

По дефолту, в 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

Нажмите здесь, чтобы скачать файл

Поделиться сообщением


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

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

 

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

 

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

Поделиться сообщением


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

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

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

 

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

Поделиться сообщением


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

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

 

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

Поделиться сообщением


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

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

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

Поделиться сообщением


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

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

 

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

Изменено пользователем ndr334

Поделиться сообщением


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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

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

 

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

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

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

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

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

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

Поделиться сообщением


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

разбирался в теме нашел два решения

 

http://annadvarri.blogspot.ru/2014/02/blog-post_2583.html

 

https://***/news/adaptivniy-resaiz-izobrazheniy

Себе последнее поставил, вариант 1, все работает

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

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

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

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

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

      Тестировалось на ocstore 1.5.3.1, 1.5.1.3, 1.5.4.1
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу