Olá, bom dia.
Estou com um problema com a clase GD, para redimensionamento de imagens.
Eu tenho um script que funciona com um valor fixo, por exempo 100x100 e tal.
Mas eu preciso de algo um pouco diferente.
Minha idéia é definir um tamanho máximo, por exemplo 500x500. Se a imagem
for maior que essa medida máxima, o script redimensiona proporcionalmente
até que as duas medidas (altura e largura) sejam menores que 500.
Quando um dos lados for menor que 500, por exemplo largura 300, e altura =
600, ele deve redimensionar proporcionamente para que a largura máxima seja
300, e a algura menor que 500. É aqui que a coisa ta pegando... não estou
conseguindo fazer esse algorítmo...
Alguem poderia me ajudar?
O script que eu tenho é o seguinte:
$dir = "../../imagens/noticias/".$_GET['id'];
$nome = $_GET['foto'].".jpg";
//cria
move_uploaded_file($_FILES["Filedata"]['tmp_name'], $dir."/". $nome);
////IMAGEM GRANDE
//aqui a url da imagem que sera criada a miniatura
$imagem = $dir."/". $nome;
$im = imagecreatefromjpeg($imagem); //criar uma amostra da imagem
original
$largurao = imagesx($im);// pegar a largura da amostra
$alturao = imagesy($im);// pegar a altura da amostra
//miniatura
$altura = 350;
$largura = 300;
$nova = imagecreatetruecolor($largura,$altura);//criar uma imagem em
branco
$largurad = ($largurao*$largura)/$alturao;
$alturad = ($alturao*$altura)/$largurao;
if($largurao < $alturao){
imagecopyresampled($nova,$im,0,0,0,0, $alturad, $altura,
$alturao, $largurao);
}else{
imagecopyresampled($nova,$im,0,0,0,0, $largurad, $altura,
$largurao, $alturao);
}
imagejpeg($nova, $imagem, 100);//cria imagem jpeg
//libera a memoria usada na miniatura
imagedestroy($nova);
--
Alexandre Bini
18 3641-4382
msn: [EMAIL PROTECTED]
--
Alexandre Bini
18 3641-4382
msn: [EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---