Чтобы опираться на этот вопрос:
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
Не обязательно, чтобы внутренняя часть стула тоже была прозрачной.Мне просто нужно, чтобы фон исчез.
У кого-нибудь есть идеи?
Спасибо за ваш ответ.