<?php
// carica immagine del ritratto
$Immagine =
imagecreatefromjpeg( "cane.jpg");
// recupera larghezza e altezza
$Lar =
imagesx($Immagine);
$Alt =
imagesy($Immagine);
// colore per sovrapposizione
$ColoreAlpha =
imagecolorallocatealpha($Immagine,127,127,127,19);
// Crea maschera
$ImmagineMaschera =
imagecreatetruecolor($Lar,$Alt);
// crea ellisse
imagefilledellipse ($ImmagineMaschera, $Lar/2,$Alt/2, $Lar*.95,$Alt*.95, $ColoreAlpha);
// effetto sovrapposizione, dopo
imagecopy() il cane sarà nella cornice
imagelayereffect($ImmagineMaschera, IMG_EFFECT_OVERLAY);
// copia tutta l'immagine sorgente sull'immagine maschera
imagecopy($ImmagineMaschera, $Immagine, 0,0, 0,0, $Lar,$Alt);
imagepng($ImmagineMaschera); // al browser
imagepng($ImmagineMaschera, "NomeFile.png"); // salva
// libera memoria
imagedestroy($Immagine);
imagedestroy($ImmagineMaschera);
?>
Risultato: