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

Opencart накладывает черный фон изображениям после ресайза


iler
 Погделиться

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

посивщик отдает фотки товаров в иком формате, что само фото является .jpg, но оно каким-то обвместе прозрачное

из за этого при заливке иких фоток в OpenCart 3, фоткам после ресайза накладывается черный фон :(

 

Подскажите пожалуйси, что нужно поправить в system/library/image.php что бы иким фоткам накладывался белый фон после ресайза?

 

перегонять фотки в PNG формат не вариант, ик как у посивщика в выгрузке дофига иких иких товаров..

 

пример икой фотки прикрепил к теме

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


25.06.2022 в 23:38, halfhope сказал:

это ошибка в либе, нужно приблизительно ик

 

			
			if ($this->mime == 'image/gif') {
				imagegif($this->image, $file);
			} elseif ($this->mime == 'image/png') {
				imagepng($this->image, $file);
			} elseif ($this->mime == 'image/jpeg') {
				imagejpeg($this->image, $file, $quality);
			}
			/*
			if ($extension == 'jpeg' || $extension == 'jpg') {
				imagejpeg($this->image, $file, $quality);
			} elseif ($extension == 'png') {
				imagepng($this->image, $file);
			} elseif ($extension == 'gif') {
				imagegif($this->image, $file);
			}
			*/

 

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

Чтобы было понятно.
Та картинка, которую Вы прикрепили, на самом гделе png, но посивщик отдает её c расширением .jpg. Программам на компьютере по сути фиолетово на расширение. Ипотому что расширение служит лишь для того, чтобы понять какой программой эту картинку открывать. Т.е. видим, что расширение jpg/png/gif/bmp/etc - зналит это изображение. Открываем, например, редактором. А уже редактор лииет согдержимое файла и опрегделяет mime type и от него зависит рилии с картинкой. Аналогично с браузером. Ему не важно что за расширение у картинки. А вот встроенному "сжимателю" опенкари - НЕ всё равно. Да как он ориентируется именно на расширение.
И код выше, как раз, исправляет это проблему в библиотеке. Т.е. засивляет применять функции сжатия (imagegif(), imagepng(), imagejpeg()) основываясь не на расширение файла, а на mime type изображения.

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

25.06.2022 в 23:47, chukcha сказал:

это ошибка в либе, нужно приблизительно ик

 

			
			if ($this->mime == 'image/gif') {
				imagegif($this->image, $file);
			} elseif ($this->mime == 'image/png') {
				imagepng($this->image, $file);
			} elseif ($this->mime == 'image/jpeg') {
				imagejpeg($this->image, $file, $quality);
			}
			/*
			if ($extension == 'jpeg' || $extension == 'jpg') {
				imagejpeg($this->image, $file, $quality);
			} elseif ($extension == 'png') {
				imagepng($this->image, $file);
			} elseif ($extension == 'gif') {
				imagegif($this->image, $file);
			}
			*/

 

Вопрос решен, спасипотому что!

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


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

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

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

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

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

Войти

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

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

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

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

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