Se la trasparenza è a livello di pixel (e non il canale alfa) puoi creare una semplice procedura che:

1. Trova il colore della trasparenza (http://www.php.net/imagecolortransparent)

2. Esegue 4 cicli:
da sx a dx, dall'alto al basso per trovare il primo pixel non trasparente (top)
da sx a dx, dal basso all'alto per trovare il primo pixel non trasparente (bottom)
dall'alto al basso, da sx a dx per trovare il primo pixel non trasparente (left)
dall'alto al basso, da dx a sx per trovare il primo pixel non trasparente (right)

3. Esegue un crop utilizzando top,left,bottom,right come delimitatori del box (http://www.php.net/imagecopy etc.)

Se la trasparenza è sul canale alpha potresti cercare un colore (A) non presente nell'immagine, fai un alpha blend dell'immagine originale e di una delle stesse dimensioni ma riempita del colore (A) trovato in precedenza. Poi esegui lo stesso procedimento di prima utilizzando il colore (A) al posto del colore della trasparenza.