Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Поддержка] Масштабирование изображений


kur1977

Recommended Posts

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


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


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

http://i.piccy.info/i7/59c9b5fd7e25157559b3176861c91f24/4-57-813/35799346/222.jpg

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

http://i.piccy.info/i7/253b2f190fb0936e67d59ca526cb75e2/4-57-813/36033254/33333.jpg

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

http://i.piccy.info/i7/c319a8cec9c09a6899cc6ab7d623992e/4-57-813/46370639/111111.jpg

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

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

http://i.piccy.info/i7/b7e21ca2f1d496d8fad239820281d98e/4-57-813/37747087/444.jpg

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


  • Автор
  • долучення
    06.04.13
  • Категорія
  • Системные требования
  • Метод активации
    Без активации
  • Ioncube Loader
    Нет
  • ocStore
    1.5.4.1.2
    1.5.4.1.1
    1.5.4.1
    1.5.3.1
    1.5.1.3
  • OpenCart.Pro, ocShop
  • Звернення до сервера розробника
    Нет

 

Надіслати
Поділитися на інших сайтах

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

 

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

 

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

Надіслати
Поділитися на інших сайтах

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

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

 

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

Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

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

 

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

Надіслати
Поділитися на інших сайтах

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

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

Надіслати
Поділитися на інших сайтах

  • 2 years later...

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

 

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

Змінено користувачем ndr334
Надіслати
Поділитися на інших сайтах


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

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

 

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

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

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

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

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

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

Надіслати
Поділитися на інших сайтах

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

 

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

 

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

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.