Ciao,
a questo link c'è uno script open che ti permette di fare quello che vuoi, non l'ho testato, ma ho visto che in pratica si appoggia ad un eseguibile chiamato tramite la funzione exec().
Poi per ridimensionare l'immagine lo fa con le GD Libraries.