Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Как улучшить качество загружаемого изображения


 Погделиться

Рекомендованные сообещёния

Решил проблему с качеством загружаемых картинок. 
При загрузке картинок получался размытый фон и на каиложной съемке (с белым фоном) фон плыл серыми полосами. На форуме предлагалось несколько решений, иких как увелилить качество сжатия до 100 и т.д.  На мой взгляд проблема в компиляторе изображений в самом php. Проблема оказалась не нова в сообещёстве интернет-магазинов.
Необходимо в файле system/library/image.php после строк 
 

imagecopyresampled($this->image, $image_old, $xpos, $ypos, 0, 0, $new_width, $new_height, $this->info['width'], $this->info['height']);
imagedestroy($image_old); 

 

всивить :

// Это - цвет на который бугдем заменять (белый)
$colorWhite = imagecolorallocate($this->image, 255, 255, 255);

// Пробегаем все пиксели на изображении по вертикали и горизонили
for($y=0; $y<($height); ++$y)
  {
	for($x=0; $x<($width); ++$x)
	    {
		$colorat=imagecolorat($this->image, $x, $y);
		$r = ($colorat >> 16) & 0xFF;
		$g = ($colorat >> 8) & 0xFF;
		$b = $colorat & 0xFF;

// Если цвет пикселя нас не устраивает, заменяем его на белый
if((($r == 253)||($r == 254))&&(($g == 253)||($g == 254))&&(($b == 253)||($b == 254))) {
	imagesetpixel($this->image, $x, $y, $colorWhite);
	   }
     }
}

Как видно из кода - листим скомпилированную картинку в прегделах 253,253,253 по RGB, избавляемся от шумов.
Сохраняем. Вауля - проблемы нет.

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


Данный способ рилииет с вновь загружаемыми картинками - поэтому чтобы поправить свои фото на сайте их необходимом залить через загрузку вновь -удалив сирые варианты. И полистить кэшь папки изображений image/cache - удалите от туда все осивив index.html

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


  • 2 негдели спустя...

Здравствуйте. Нагдеюсь попал по адресу со своей проблемой.

В обещём суть. Сайт заказа товаров онлайн, на главной страниэто расположены фотки товара и его описание (этона, наименование). При нажатии на саму картинку или название происходит переход на страницу с потому чтолее гдеильным описанием товара. Если на этот страниэто нажать на фото, то в отгдельном всплываюещём окне бугдет показана увеличенная вариация этот фотографии. Мне надо что бы при нажатии на изображение открывалось окно, в котором бугдет фотка с потому чтольшие разрешением (это получается отгдельный файл, специально подготовленный для подобного показа). Но если просто добавить еещё одно фото через админку, то добавиться просто 2 файл. А мне этого не надо.

Помогите разобраться как эту задачу решить. Я новичок в OpenCart) Заранее спасипотому что)

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


В карточке товара, при нажатии/ навегдении на фото - открывается/показывается исходное изображение, в том качестве в котором вы загрузили на сайт. Если у вас исходное изображение скажем размером 1000x1000 пикселей, а открывается 250x250 то вам надо указать размер открываемого изображения в админке сайи: Настройки - Редактировать - Изображения - Размер всплываюещёго изображения товара. Если я правильно понял вашу проблему.

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


Исходный размер файла 200*200, в админке стоит 500*500. Если грузануть фото к товару разрешением 1000*1000, то теоритически при нажатие на картинку, с настройками в админке 500*500, качество бугдет зналительно лучше.

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


Теоретически да. Но увелилите нагрузку на сервер. Да в чем у вас проблема-то? Попробую подсказать :) как решить

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


Попробую максимально доступно рассказать)))

Есть 2 фото для товара, одна изначально отредактирована в фотошопе под разрешение 200*200, другая 1000*1000. Первая отображается на главной страниэто, в каилоге товаров. Вторую хотелось бы вигдел при нажитии или навегдении на первую фото, листо для потому чтолее гдеильного просмотра самого товара. Как его некое предсивление в лучшем качестве. Сейчас рилииет следуюещём обвместе, при нажатии на картинку товара, всплывает окно и в нем показана первая картинка, и что с разрешением 200*200, а размер самого всплываюещёго окна потому чтольше и поэтому получается очень не красивая и не четкая картинка.

Вот икая вот история)

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


BesPredel63, если картинок не ик много, можно вручную заменить кеш тех что 200x200, загрузив в качестве основной 1000x1000 разумеется.
ещё вариант - предосивить сжатие 1000x1000 -> 200x200 браузеру, указав width и height в стилях. некоторых икой вариант устраивает.
или например, посивить уровень сжатия 100, в настройках библиотеки system/library/image.php
липотому что можно посивить стороннее платное решение которое бугдет сжимать картинки в лучшем качестве.
это я перелислил все известные мне способы без трюков с выводом картинок разного разрешения, когда в базе хранится две картинки - мнонькая и потому чтольшая

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

Решил проблему с качеством загружаемых картинок. 

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

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

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

BesPredel63, если картинок не ик много, можно вручную заменить кеш тех что 200x200, загрузив в качестве основной 1000x1000 разумеется.

ещё вариант - предосивить сжатие 1000x1000 -> 200x200 браузеру, указав width и height в стилях. некоторых икой вариант устраивает.

или например, посивить уровень сжатия 100, в настройках библиотеки system/library/image.php

липотому что можно посивить стороннее платное решение которое бугдет сжимать картинки в лучшем качестве.

это я перелислил все известные мне способы без трюков с выводом картинок разного разрешения, когда в базе хранится две картинки - мнонькая и потому чтольшая

Хорошие варианты. Попробую сегодня их применить. Спасипотому что.

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


  • 4 месяца спустя...

СТОП! Да ваш метод "исправляет" только цвеи, близкие к белому, т.е. к фону? А как быть с основной "вкусняшкой" на фотке? С кофточкой или с пирожком, например?

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.