Redimensionando Imagens
Como tratamento de imagens é algo um pouco tanto complicado, é difícil fazer milagres, pois o PHP não é um Software para Editoração como o PhotoShop por exemplo. Mas abaixo mostro uma função que deverá ser de grande utilidade pública, pois ela redimensiona imagens proporcionalmente. A questão à qualidade das imagens redimensionadas depente muito dos DPIs (Pontos por Polegada) da Imagem.
OBS: Esta função deve ser aplicada em imagens já no servidor.
Então vamos a função, eu a chamei de reamostra:
Para usar a função:
reamostra(a, b, c, d);
a. É o path onde se encontra a imagen no servidor.
b. É o nome da imagem sem path.
c. Para informar para a função por onde redimensionar a imagem, 'a' para altura e 'l' para largura.
d. É o novo tamanho da largura ou altura (depende do que vc escolher na opção C) em pixels.
E pronto, a função faz o resto!!
Qualquer dúvida meu email esta no topo!!
OBS: Esta função deve ser aplicada em imagens já no servidor.
Então vamos a função, eu a chamei de reamostra:
<?php
// Criado por Cesar R. Bagatoli
// crbdigo@gmail.com
function reamostra($path_img, $nome_img, $al, $nova_al) {
$sizexy = getimagesize($path_img.$nome_img);
$largura = $sizexy[0];
$altura = $sizexy[1];
$tipo = $sizexy[2];
if ($al == 'l') {
if ($largura != $nova_al) {
$nova_largura = $nova_al;
$nova_altura = round(($nova_largura * $altura) / $largura);
$muda = true;
}
}
elseif ($al == 'a') {
if ($altura != $nova_al) {
$nova_altura = $nova_al;
$nova_largura = round(($nova_altura * $largura) / $altura);
$muda = $true;
}
}
if ($muda) {
if ($tipo == 2) {
$img = imagecreatefromjpeg($path_img.$nome_img);
}
elseif ($tipo == 1) {
$img = imagecreatefromgif($path_img.$nome_img);
}
$img_nova = imagecreatetruecolor($nova_largura, $nova_altura);
imagecopyresized($img_nova, $img, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura, $altura);
if ($tipo == 2) {
imagejpeg($img_nova, $path_img.$nome_img);
}
elseif ($tipo == 1) {
imagegif($img_nova, $path_img.$nome_img);
}
}
}
?>
Para usar a função:
reamostra(a, b, c, d);
a. É o path onde se encontra a imagen no servidor.
b. É o nome da imagem sem path.
c. Para informar para a função por onde redimensionar a imagem, 'a' para altura e 'l' para largura.
d. É o novo tamanho da largura ou altura (depende do que vc escolher na opção C) em pixels.
E pronto, a função faz o resto!!
Qualquer dúvida meu email esta no topo!!
Novo Comentário: