Прозрачный круг обрезанное изображение с PHP

Я хочу обрезать изображение круга, используя PHP, но кажется, что у моего нового изображения есть несколько прозрачных пикселей. Конечно, я хочу, чтобы только внешняя область эллипса имела прозрачный фон

Мой код указан ниже:

        $image = imagecreatetruecolor($this->dst_w, $this->dst_h);
        imagealphablending($image,true);
        imagecopy ( $image , $image_s , 0, 0, $this->src_x, $this->src_y, $this->dst_w, $this->dst_h );
        $mask = imagecreatetruecolor($this->src_x, $this->src_y);
        $mask = imagecreatetruecolor($this->dst_w, $this->dst_h);
        $transparent = imagecolorallocate($mask, 255, 0, 0);
        imagecolortransparent($mask, $transparent);
        imagefilledellipse($mask, $this->dst_w/2, $this->dst_h/2, $this->dst_w, $this->dst_h, $transparent);
        $red = imagecolorallocate($mask, 0, 0, 0);
        imagecopymerge($image, $mask, 0, 0, 0, 0, $this->dst_w, $this->dst_h,100);
        imagecolortransparent($image, $red);
        imagefill($image,0,0, $red);

        if ($ext=="jpg" || $ext=="jpeg") {
            imagejpeg($image, $this->croppedImage);
        } else if ($ext=="png") {
            imagepng($image, $this->croppedImage);
        }           
        imagedestroy($image);
        imagedestroy($mask);
        // 

        //                
        $this->generateTransparentImage('circle');

......

Пример реального сгенерированного изображения здесь:

РЕДАКТИРОВАТЬ: функция generateTransparentImage не имеет ничего общего с кодом, перечисленным выше; эта функция генерирует это изображение:http://s7.postimage.org/byybq9163/Koala7_500x375_c_transparent.png

Ответы на вопрос(3)

Ваш ответ на вопрос