Blupixel IT Blog – Articoli e Tutorial Informatica e Programmazione

Blog ufficiale di Blupixel IT Srl

Convertire con PHP i colori da HEX in RGB

Per convertire un colore dal formato HEX al formato RGB in PHP è sufficiente una funzione php come questa:

    function hex2rgb($color) {
        if ($color[0] == '#')
             $color = substr($color, 1);

        if (strlen($color) == 6)
            list($r, $g, $b) = array($color[0].$color[1],
                                     $color[2].$color[3],
                                     $color[4].$color[5]);
        else if (strlen($color) == 3)
            list($r, $g, $b) = array($color[0].$color[0],
                                     $color[1].$color[1],
                                     $color[2].$color[2]);
        else
            return false;

        $r = hexdec($r); $g = hexdec($g); $b = hexdec($b);

        return $r . '-' . $g . '-' . $b;
    }

La funzione elimina il cancelleto come primo simbolo nel caso ci fosse, dopodichè fa una distinzione tra un colore scritto con 3 caratteri (es. FFF) e uno scritto con 6 (es. FFFFFF).

Mediante il comando list mette nelle tre variabili $r, $g e $b i valori esadecimali delle tre componenti. Quindi le trasforma con il comando hexdec() di php.

Ritorna i tre canali in una stringa nel formato R-G-B (es. 127-255-100).

Volessimo ritonare un array basterebbe sostituire la riga del return con:

    return array(‘R’ => $r , ‘G’ => $g, ‘B’ => $b);

A presto

Ruotare le immagini con PHP

Per ruotare un’immagine con PHP potete usare questa semplice funzione:

    function imgRotate($src, $dst, $degrees = 90) {
    	$source = imagecreatefromjpeg($src);
    	$rotate = imagerotate($source, $degrees, 0);
    	imagejpeg($rotate, $dst);
    }

La funzione accetta 3 argomenti in input:

  • $src che è il nome del file dell’immagine (ad es. ‘images/paesaggi/roma.jpeg’)
  • $dst che è il nome del file di destinazione (può essere anche lo stesso di $src)
  • $degrees che è il numero di gradi del quale si vuole fare la rotazione. Di default è 90°, quindi se chiamate la funzione senza il terzo argomento girerà l’immagine di 90°)

Descrizione comandi:

  • Con il primo comando si crea un oggetto immagine copia di quella sorgente.
  • Col secondo lo si ruota di $degrees gradi. Il terzo argomento indica il colore usato per coprire le zone che restano scoperte.
  • Con l’ultimo comando si crea una nuova immagine prendendola da quella ruotata.

A presto