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

Ресайз оригинала и размеры кэш картинок


Recommended Posts

Здравствуйте.

 

Много прочитано про данную проблему, но мой вопрос немного расходится с созданными темами. Объясню на примере и покажу скриншот.

 

В настройках темы задан размер изображения товаров. Максимальный размер указал 650 * 650. Создал картинку с размером 650*650, "прокачал" её через оптимизацию, сжал. В итоге получилось ~40 Кб. Что ж, отправляем её к товару.

 

Создались уменьшенные копии этого изображения в кэше для других размеров. Посмотрел я эти размеры :huh:

 

b2JSssdhTLeQq8jg4FMAQg.jpeg

 

В итоге, моё оптимизированное изображение размером 650*650 при размере в 400 весит больше оригинала.

 

Совершенно никуда не годится. А размер в 228 чуть уступает оригиналу.

 

Как оптимизировать ресайз изображений, чтобы опенкарт не брался за пережатие своими алгоритмами?

 

Буду благодарен за содержательные мнения и решения.

 

С уважением.

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


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

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


55 минут назад, Shureg сказал:

system/library/image.php


	
public function save($file, $quality = 90)

качество картинок, по умолчанию 90%. Уменьшите - уменьшится размер... и качество)

 

Вы не внимательно прочитали тему. Дело не в качестве сейчас, а в размере уменьшенных автоматически в кэше изображений оригинала. От изменений 80 или 100 проблема не сдвигается с места.

 

Проблема в том, что при ресайзе размер изображения оригинального становится меньше, а "весит" больше.

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


15 минут назад, gavi сказал:

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

 

буду благодарен за правильное решение. Это необходимо будет сделать в model/tool/image.php как я понимаю...

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


4 минуты назад, Truth_Explorer сказал:

Вы не внимательно прочитали тему. Дело не в качестве сейчас, а в размере уменьшенных автоматически в кэше изображений оригинала

 

Все правильно вам указали. И внимательно прочитали, не вы первый с проблемой сталкиваетесь. Решения еще есть, но с серверной стороны нужны работы. Вам предложили самое простое решение на 5 минут. Замените 90 процентное сжатие на 80..75 и получите нормальные размеры, но качество...

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


Truth_Explorer, Да тут известная проблема я очень долго искал решение данной проблемы но УВЫ простого решения я не нашел. 
просто так средствами PHP нельзя оптимизировать картинку. Тут я нашел 2 выхода

1) Подключения платного модуля оптимизация по API который будет оптимизировать вашы картинки (есть проблема во времени создании кешированой картинки)

2) Если же у вас VPS/VDS тогда вы можете установить консольные утилиты и интегрировать с ними PHP скрипт.

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

Коллеги, благодарю всех отписавших.

Я хочу на данном этапе (в качестве эксперимента) сделать таким образом. По сути, моя задача сводится к тому, чтобы не создавались картинки ресайзов в кэш, а применялись только оригинальные размеры картинок.

 

Я себе это представляю следующим образом: в соответствующих разделах (карточка товара, производители, логотипы и т.д.) подставлялись не уменьшенные варианты картинок, а единственная с указанием атрибутов width и height.

 

Это обдуманное и взвешенное решение, т.к. каждое изображение я обрабатываю самостоятельно, мол, кто-то сможет возразить, что кэш нужен, т.к. большие картинки вставлять (допустим) в обёртку width:100px height:100px - это моветон. Но я повторю, что это осознанный шаг.

 

Поэтому, резюмируя, задача такая:

я создаю единственное изображение, и на ресурс в нужных разделах подставляется именно она одна с атрибутами высота/ширина. Я хочу исключить картинка-200x200.jpg / картинка-100x100.jpg и т.д.

 

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

 

Благодарю. 

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


Заменяйте во всех контроллерах ресайз на само изображение, какие тут еще соображения могут быть?

Например, в product.php

			if ($product_info['image']) {
				$data['popup'] = $this->model_tool_image->resize($product_info['image'], $this->config->get($this->config->get('config_theme') . '_image_popup_width'), $this->config->get($this->config->get('config_theme') . '_image_popup_height'));
			} else {
				$data['popup'] = '';
			}

станет

			if ($product_info['image']) {
				$data['popup'] = $product_info['image'];
			} else {
				$data['popup'] = '';
			}

и так далее..

Ломать  - не строить :D

ЗЫ: Это если размеры в шаблоне будете жестко задавать. Иначе еще их передать надо будет в шаблон и там, соответственно, подставить атрибутами, что-то типа

$data['image_popup_width'] = $this->config->get($this->config->get('config_theme') . '_image_popup_width'); 
$data['image_popup_height'] = $this->config->get($this->config->get('config_theme') . '_image_popup_height');

 

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

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

Important Information

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