gli spazi neri sono dovuti al fatto che parti dell'immagine sono vuote, e imagecreatetruecolor quando la richiami imposta come sfondo dell'immagine il nero. L'immagine che ottieni è giusta, è sia ridimensionata che tagliata, dato ke le dimensioni dell'immagine risultante sono superiori gli spazi "vuoti" vengono colmati con il nero ke è il colore di sfondo. Per correggere devi creare un'immagine delle stesse dimensioni dell'immagine tagliata.... solo ke l'ultimo codice ke hai postato è differente, quello ridimensiona solamente, per ritaglire andava bene il codice di prima