Indietro

Termine: Funzione pif_gdrid_x($nomefile, $nomemin, $dimx, $formato)

<?php
/////////////////////////////////////////////////
//Funzione per RIDIMENSIONARE immagini jpg e png fissando larghezza:
//Modifica: 11-10-2017 aggiunto formato png	
//$nomefile = nome file da ridimensionare
//$nomemin = nome miniatura
//$dimx = dimensione x ex: 800
//$dimy = calcolata proporzionalmente
//$formato = jpg o png
////////////////////////////////////////////////
function pif_gdrid_x($nomefile, $nomemin, $dimx, $formato)
{
 //$imginfo: Array ( [0] => 1600 [1] => 1200 [2] => 2 [3] => width="1600" 
 //height="1200" [bits] => 8 [channels] => 3 [mime] => image/jpeg )
 
 $imginfo = getimagesize($nomefile);
 //Larghezza: $imginfo[0]: Altezza: $imginfo[1]
 //Controllo se l'immagine è orizzontale (larghezza maggiore altezza)
 if ($imginfo[0] > $imginfo[1])
 { 
 //Con GD versione 2.0
  
 //Calcolo l'altezza dell'immagine ridimensionata 
 //in modo che sia proporzionale all'immagine originale
 $dimy=($imginfo[1]*$dimx)/$imginfo[0];
 
 //Creo la BASE della nuova immagne
 //**$img_out = imagecreate($dimx, $dimy);
 $img_out = imagecreatetruecolor($dimx, $dimy);
 }
 
 //L'immagine è verticale
 else
 {//Con GD versione 2.0
 //$img_out = imagecreatetruecolor($dimy, $dimx);
 //Calcolo l'altezza in modo che sia proporzionale all'immagine
 $dimy=($imginfo[1]*$dimx)/$imginfo[0];
 //echo ("Larghezza: ".$imginfo[0]." Altezza: ".$imginfo[1]);
 //**$img_out = imagecreate($dimx, $dimy); 
 $img_out = imagecreatetruecolor($dimx, $dimy);
 }
 
 //controllo esaurimento RAM se immagine troppo grande
 //if (!($img_in = @imagecreatefromjpeg($nomefile))) {$errore="immagine grande"; return($errore);};
 
 
 ini_set("memory_limit", "16M");
 
 if($formato =="jpg"){ $img_in = @imagecreatefromjpeg($nomefile);}
 if($formato =="png"){ $img_in = @imagecreatefrompng($nomefile);}
 
 if ($imginfo[0] > $imginfo[1])
 {
 //controllo se immagine orizzontale o verticale
    //**imagecopyresized ($img_out, $img_in, 0,0,0,0, $dimx, $dimy, $imginfo[0], $imginfo[1]);
    //Con GD versione 2.0
	if($formato =="jpg")
	{
		imagecopyresampled ($img_out, $img_in, 0,0,0,0, $dimx, $dimy, $imginfo[0], $imginfo[1]);
		imagejpeg ($img_out, $nomemin, 100); //$img_out viene nominato, con fattore compressione 100
  	}
	if($formato =="png")
	{
		imagecopyresampled ($img_out, $img_in, 0,0,0,0, $dimx, $dimy, $imginfo[0], $imginfo[1]);
		imagepng ($img_out, $nomemin); //$img_out viene nominato, con fattore compressione 100
  	} 
  } 
	
  else
  {
   //**imagecopyresized ($img_out, $img_in, 0,0,0,0, $dimx, $dimy, $imginfo[0], $imginfo[1]);
   //Con GD versione 2.0
   if($formato =="jpg")
	{
		imagecopyresampled ($img_out, $img_in, 0,0,0,0, $dimx, $dimy, $imginfo[0], $imginfo[1]);
		imagejpeg ($img_out, $nomemin, 100); //$img_out viene nominato, con fattore compressione 100
	}
	if($formato =="png")
	{
		imagecopyresampled ($img_out, $img_in, 0,0,0,0, $dimx, $dimy, $imginfo[0], $imginfo[1]);
		imagepng ($img_out, $nomemin); //$img_out viene nominato, con fattore compressione 100
	}
  }     
  

 }
////////////////////////////////////////////////
?>

Alessandro Piffero

Sviluppo applicazioni Web
Partita IVA: IT01557500038

CONTATTI

Via del Lauro, 10
28821 Cannero Riviera (VB) ITALY
alex@piffero.it
PEC: piffero@pec.it
348 8734510
Modulo contatto

POLICY

Privacy
Cookies

LINGUA

Italiano
English