Проблемы альфа-канала в ver7 - PullRequest
0 голосов
/ 05 января 2019

Я использую PHP-модуль Imagick для перекрашивания деталей, и до сих пор я использовал версию 6.9.6-2 без проблем с задачей, но после обновления до 7.0.7-11 setImageAlphaChannel(Imagick::ALPHACHANNEL_SHAPE) не работает должным образом .

Выход в ver6: https://i.imgur.com/QaxNKwq.png

Выход в ver7: https://i.imgur.com/xujoiDu.png

Если я извлекаю альфу только с ALPHACHANNEL_EXTRACT, она сохраняет все детали изображения, но как только я изменю его после изменения цвета, это ухудшает качество.

function colorLayers($color,$path,$name,$detailCounter) {
    $imagedata = $path.'\\'.$name.'\\color'.$detailCounter.'.png';
    $imagick = new Imagick($imagedata);
    $imagick->setImageAlphaChannel(Imagick::ALPHACHANNEL_EXTRACT);
    $imagick->setImageBackgroundColor($color);
    $imagick->setImageAlphaChannel(Imagick::ALPHACHANNEL_SHAPE);
    $base64 = base64_encode($imagick);
    return $base64;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...