Redimensionar e reduzir a qualidade de uma imagem em php



:. Vou, de forma simples, mostrar como se pode redimensionar e reduzir a qualidade de uma imagem em php. .:



Vou, de forma simples, mostrar como se pode redimensionar e reduzir a qualidade de uma imagem em php. Temos de definir o caminho para a imagem origem, que pode ser uma url ou um directório num servidor, depois definimos a percentagem final e a qualidade pretendida. Temos de definir também o directório da imagem destino. No caso de o destino ser o ecrã é necessário fazer as alterações indicadas no programa.

<?

//ini_set('memory_limit', '200M');

//**** DADOS A ALTERAR PELO UTILIZADOR***

$filename = 'imagem_xxx.jpg';
$filename_destino = 'imagem_destino_xxx.jpg';
$imagem_destino='/home/user_xxx/public_html/directório_xxx/imagem_destino_xxx.jpg';
$percentagem   = 0.2; //
$qualidade = 75; // 100 = qualidade total e 50= metade

//**** DADOS A ALTERAR PELO UTILIZADOR***

//----------------  informar caminho de destino da imagem --------

//--se ecrâ         

                //header('Content-Type: image/jpeg');

//-- se ficheiro

               

// --------------- informar caminho de destino da imagem -----------

//-- Dimensões e tipo de imagem ---------

list($width, $height, $type_x) = getimagesize($filename);
$new_width = $width * $percentagem ;
$new_height = $height * $percentagem ;
switch ($type_x)
{
                case(1): $type="gif";
                break;

                case(2): $type="jpg";
                break;

                case(3): $type="png";
 
                break;

                default: echo("Tipo inválido");

}

// 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(orden de bytes intel), 8 = TIFF(orden de bytes motorola), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM.

//-- Dimensões e tipo de imagem ---------

// Resample

$image_p = imagecreatetruecolor($new_width, $new_height);
if ($type=='jpg') $image = imagecreatefromjpeg($filename);
if ($type=='gif') $image = imagecreatefromgif($filename);
if ($type=='png') $image = imagecreatefrompng($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

//-- Output

//--SE ECR       

                //  imagejpeg($image_p, null, 100);

//--SE FICHEIRO

                               if ($type=='jpg') imagejpeg($image_p, $imagem_destino, $qualidade); 
  
                             if ($type=='gif') imagegif($image_p, $imagem_destino, $qualidade);  
                               if ($type=='png') imagepng($image_p, $imagem_destino, $qualidade);             

?>

Autor: Isabel Maria
Data: 2014-05-23


Contato: mail@artigosenoticias.com   |   SAPO MAIL   |   HOTMAIL  |   GMAIL