per cominciare usi imagecreatefromjpeg() sull'immagine JPEG d'origine, poi fai imagecreatefrompng() sull'immagine filtro e poi usi imagecopy() per sovrapporre il filtro all'immagine originale e poi per finire con imagejpeg puoi restituire l'immagine ottenuta dalla sovrapposizione.
Ti rimando alla doc PHP per i dettagli sull'utilizzo delle funzioni menzionate

Rispondi quotando