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

Конвертация png в jpg для yandex-маркета


Recommended Posts

Коллеги,

есть модуль экспорта в yml, уже не помню какой и где брал. в общем работает норм.

Одна проблема - яндексу не нравятся фотки в png, он их делает с черным некрасивым фоном.

Знаю есть такая функция:

imagejpeg(imagecreatefrompng('картинка.png'),'картинка.jpeg',100);

Вот часть кода в оригинальном yandex-экспорте:

if ($product['image']) {
          $data['picture'] = $this->model_tool_image->resize($product['image'], 100, 100);
			}

Собственно как правильно добавить конвертацию к этому коду при условии что он является изначально png-файлом?

 

Буду примного благодарен за помощь

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


Конкретно Яндекс с вашими фотками вобще ничего не делает, только выводит у себя по ссылкам из файла yml.

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

 

Смотрите, что у вас в ней - должно быть так:

        if (isset($this->info['mime']) && $this->info['mime'] == 'image/png') {        
            imagealphablending($this->image, false);
            imagesavealpha($this->image, true);
            $background = imagecolorallocatealpha($this->image, 255, 255, 255, 127);
            imagecolortransparent($this->image, $background);
        } else {
            $background = imagecolorallocate($this->image, 255, 255, 255);
        }

где 255 три раза подряд указывают цвет фона при создании/обрезке изображения - белый

 

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

где 255 три раза подряд указывают цвет фона при создании/обрезке изображения - белый

Это понятно, но это не работает на изображения png где нет фона. Да и не должно работать. Весь смысл красивых png без фона тогда теряется.

 

А вот функция resize, которая используется в модуле экспорта ($this->model_tool_image->resize) как раз указывает как и где сохранить файл в кеше изображений.

Вопрос не в том, что бы сделать фон белым для всех изображений, вопрос в том, как отдать только яндексу ссылки на сконвертированные в кеш изображения (png->jpg) с белым фоном.

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


  • 2 weeks later...
  • 1 month later...
  • 1 year later...

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

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

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

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

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

Вхід

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

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

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

Important Information

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