Конвертировать команду imagemagick в PHP - PullRequest
0 голосов
/ 25 января 2019

Чтобы опираться на этот вопрос:

Imagick: преобразовать команду bash в скрипт php

У меня есть команда, которая делает именно то, что я хочу:

convert input.jpg -alpha set -bordercolor "rgb(255,255,255)" 
  -border 1 -fill none -fuzz 5% -draw "color 0,0 floodfill" -shave 1x1 out.png

Поэтому я попытался сделать то же самое в PHP Imagick.

$backgroundColor = $image->getImagePixelColor(0, 0);

$image->setImageAlphaChannel(\Imagick::ALPHACHANNEL_SET);
$image->borderImage($backgroundColor->getColorAsString(), 1, 1);
$image->floodFillPaintImage(
     'transparent',
     $fuzz * \Imagick::getQuantum(),
     $backgroundColor->getColorAsString(),
     0, 0, 
     false);
$image->shaveImage(1, 1);

Мне нужно, чтобы это работало в PHP не как команда shell_exec().

Но результатмоего кода PHP это просто черное изображение.

Для тестирования я использую изображение с phpimagick.com

image: https://phpimagick.com/imageOriginal/Tutorial/backgroundMasking

Не обязательно, чтобы внутренняя часть стула тоже была прозрачной.Мне просто нужно, чтобы фон исчез.

У кого-нибудь есть идеи?

Спасибо за ваш ответ.

...