SdevLab – Exemplo de Código | Como redimensionar imagem em PHP

Fala galera!

Este post já devia ter saído faz tempo, mas como só lembrei dele agora, vai agora mesmo! Digo que deveria ter saído há um tempo porque eu tive que estudar manipulação de imagens em php, e como vocês podem perceber, saiu uma levada de posts aqui no blog sobre manipulação, menos este que ensina a redimensionar imagem…então lá vai!

boa leitura!

Como redimensionar imagem em PHP

Como a função não é minha (heehehe) e eu não lembro o site de origem, não vou comentar muito ela, mas garanto que já testei e funcionou direitinho!

Segue o código:


<?php
function redimensiona($origem,$destino,$maxlargura=100,$maxaltura=100,$qualidade=80)
{
if(!strstr($origem,"http") && !file_exists($origem)){
echo("Arquivo de origem da imagem inexistente");
return false;
}
$ext = strtolower(end(explode('.', $origem)));
if($ext == "jpg"|| $ext == "jpeg"){
$img_origem = @imagecreatefromjpeg($origem);
}
elseif ($ext == "gif"){
$img_origem = @imagecreatefromgif($origem);
}
elseif ($ext == "png"){
$img_origem = @imagecreatefrompng($origem);
}
if(!$img_origem){
echo("Erro ao carregar a imagem, talvez formato nao suportado");
return false;
}
$alt_origem = imagesy($img_origem);
$lar_origem = imagesx($img_origem);
$escala = min($maxaltura/$alt_origem, $maxlargura/$lar_origem);
if($escala < 1){
$alt_destino = floor($escala*$alt_origem);
$lar_destino = floor($escala*$lar_origem);
// Cria imagem de destino
$img_destino = imagecreatetruecolor($lar_destino,$alt_destino);
// Redimensiona
imagecopyresampled($img_destino, $img_origem, 0, 0, 0, 0, $lar_destino, $alt_destino, $lar_origem, $alt_origem);
imagedestroy($img_origem);
}
else {
$img_destino = $img_origem;
}
$ext = strtolower(end(explode(".", $destino)));
if($ext == "jpg" || $ext == "jpeg"){
imagejpeg($img_destino,$destino,$qualidade);
return true;
}
elseif ($ext == "gif"){
imagepng($img_destino,$destino);
return true;
}
elseif ($ext == "png"){
imagepng($img_destino,$destino);
return true;
}
else {
echo("Formato de destino nao suportado");
return false;
}
}
?>

Para utilizar a função, faça desta maneira:


$origem = "imagem.jpg";
$destino = "imagem1.jpg";
redimensiona($origem,$destino,$maxlargura=100,$maxaltura=100,$qualidade=80)

Até a próxima!
😉

2 comentários sobre “SdevLab – Exemplo de Código | Como redimensionar imagem em PHP

    • Oi Vinicius,

      passa estes valores como parametro na chamada da função redimensiona. Tipo exemplo abaixo:
      redimensiona($origem,$destino,$maxlargura=700,$maxaltura=400,$qualidade=80)

      Se não der certo me avisa…

      xD
      sanoj

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s