Questo è come vorrei farlo con Imagemagick e php:
// Canvas the same size as the final image
exec("convert -size 800x533 xc:white white.jpg");
// The mask
exec("convert -size 800x533 xc:none -draw \"fill black circle 400,265 400,50\" write_mask.png");
// Cut the whole out of the canvas
exec("composite -compose Dst_Out write_mask.png white.jpg -matte step.png");
// Put the canvas over the image and trim off excess white background
exec("convert IMG_5745.jpg step.png -composite -trim final.jpg");
si dovrebbe essere in grado di seguire il processo?
Ripulire le immagini temporanee in seguito - Tendo a salvare le immagini temporanee in formato .miff e quindi a scrivere un ciclo per eliminare tutte le immagini .miff in seguito. In alternativa, basta lasciarli e se si utilizza lo stesso nome per le immagini temporanee verranno sovrascritti ogni volta che viene eseguito il codice.
Come faresti questo con due immagini? Invece di un cerchio, con un'immagine trasparente –
Questa soluzione non funziona per un'immagine png con canale alfa – Dmitry