Всем привет. Есть задача из квадратного изображения сделать круглое силами php и наложить получившееся изображение на подложку. Нашёл кучу готовых решений, но проблема у всех из них в том, что при наложении png-ого изображения на подложку, у изображения проявляется маска, хз как это назвать правильно.
Такой код:
$mask = imagecreatetruecolor($this->width, $this->height);
$black = imagecolorallocate($mask, 0, 0, 0);
$magenta = imagecolorallocate($mask, 255, 0, 255);
imagefill($mask, 0, 0, $magenta);
imagefilledellipse(
$mask,
($this->width / 2),
($this->height / 2),
$this->width,
$this->height,
$black
);
imagecolortransparent($mask, $black);
imagecopymerge($this->img, $mask, 0, 0, 0, 0, $this->width, $this->height, 100);
imagedestroy($mask);
После обрезки получаю такое:
После наложения такое:
Может быть я недопонимаю саму механику создания изображений с прозрачным фоном или наложения. Подскажите, как правильно сделать кроп по окружности с прозрачным фоном, чтобы при наложении на другое иозбражение фон оставлся действительно прозрачным?