Buongiorno
immaginate di avere un'immagine png su sfondo trasparente. Esiste un modo per ritagliare il "canvas" solo sulla parte viva dell'immagine, indipendentemente dalla sua misura in pixel?
![]()
Buongiorno
immaginate di avere un'immagine png su sfondo trasparente. Esiste un modo per ritagliare il "canvas" solo sulla parte viva dell'immagine, indipendentemente dalla sua misura in pixel?
![]()
shine on you!!
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.
Ho capito il metodo, mi metto al lavoro... nel mio caso la trasparenza è sui pixel.
Grazie davvero, sei stato gentilissimo.
shine on you!!