Modificare DPI alle immagini con PHP

Mattepuffo's logo
Modificare DPI alle immagini con PHP

Modificare DPI alle immagini con PHP

Oggi vediamo come cambiare risoluzione ad una immagine (DPI) usando PHP.

Creeremo una copia del file, e visualizzeremo i DPI di entrambe.

Partiamo con una immagine a 300 DPI, per arrivare ad una uguale a 72 DPI.

Modificheremo solo la risoluzione, non le dimensioni.

Ecco il codice, "diviso" in 4 blocchi:

// BLOCCO 1
$input = imagecreatefrompng('test.png');
$width = imagesx($input);
$height = imagesy($input);

// BLOCCO 2
$output = imagecreatetruecolor($width, $height);
$newResolution = imageresolution($output, 72, 72);
imagecopy($output, $input, 0, 0, 0, 0, $width, $height);
imagepng($output, 'test_new.png');

// BLOCCO 3
var_dump(imageresolution($input));
var_dump(imageresolution($output));

// BLOCCO 4
imagedestroy($input);
imagedestroy($output);

Breve spiegazione:

  1. prendiamo le dimensioni dell'immagine di input, che ci servirà per la seconda
  2. creiamo una nuova immagine con imagecreatetruecolor, cambiamo risoluzione con imageresolution, copiamp il contenuto con imagecopy, e poi la salviamo con imagepng
  3. visualiziamo le risoluzioni delle due immagini
  4. facciamo pulizia con imagedestroy

La funzione imageresolution può essere usata sia in lettura, indicando solo la sorgente, che in scrittura indicando le dimensioni.

Enjoy!


Condividi

Commentami!