php — gd — Как я могу загрузить jpg, удалить его фон, поместить его поверх другого jpg и сохранить?

#php #transparency #gd

#php #прозрачность #gd

Вопрос:

Я использую библиотеку gd php, и задача, которую я пытаюсь выполнить, заключается в следующем:

  1. Загрузить background.jpg , который является просто градиентным фоном.
  2. Загрузка product.jpg с белым фоном.
  3. Удалить цвет фона из product.jpg
  4. Поместить отредактированный product.jpg файл поверх background.jpg
  5. И сохранить как jpg

Пока я могу:

  1. открыть background.jpg и поместить product.jpg поверх него, не удаляя фон (простой способ)
  2. чтобы открыть product.jpg и удалить цвет фона и сохранить его как png

Последнее, что я пробовал, но безуспешно, это:

  1. загрузить background.jpg
  2. load product_image.php , который загружает product.jpg , удаляет фон и возвращает png с прозрачным фоном.
  3. поместите его поверх background.jpg

Возможно ли этого добиться, или я должен сначала сохранить его в формате png, а затем преобразовать в jpg?

Я был бы признателен, если бы кто-нибудь мог указать мне правильное направление. Какие ключевые команды я должен использовать для выполнения этого?

Комментарии:

1. Пожалуйста, вставьте какой-нибудь код, чтобы я мог видеть, где вы создаете окончательное изображение

Ответ №1:

Я верю, что это возможно, и я предполагаю, что вам придется использовать PHP Imagick:

http://php.net/manual/en/book.imagick.php

Вот одна функция, которая может быть тем, что вы ищете:

http://www.php.net/manual/en/function.imagick-painttransparentimage.php