la funzione display() dell'oggetto $pie crea un'immagine con le funzioni di immagine, io credo che

codice:
header('Content-type: image/png');
        imagepng($final);
        ImageDestroy($this->pie);
        ImageDestroy($leg_img);
        ImageDestroy($final);
non permetta di creare un'altra immagine subito dopo, quelle sono le funzioni di immagine.

altrimenti guarda questi o cerca da qualche parte