Всем привет. Есть задача из квадратного изображения сделать круглое силами 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);
После обрезки получаю такое:
![9b4cbb24cd064539a23c697efff35666.PNG](https://habrastorage.org/files/9b4/cbb/24c/9b4cbb24cd064539a23c697efff35666.PNG)
После наложения такое:
![3e4d74cad0aa48fca49f1a5ab86a039d.PNG](https://habrastorage.org/files/3e4/d74/cad/3e4d74cad0aa48fca49f1a5ab86a039d.PNG)
Может быть я недопонимаю саму механику создания изображений с прозрачным фоном или наложения. Подскажите, как правильно сделать кроп по окружности с прозрачным фоном, чтобы при наложении на другое иозбражение фон оставлся действительно прозрачным?