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.

Rispondi quotando