Alexandre,
Esta lista não é para discussão de php, a não ser que seja algo
relacionado ao Flex. Você está pedindo um algoritmo, além do mais em
php....
Contudo, no bom espirito de ajudar, este é o algoritmo:
larguraAtual;
alturaAtual;
novaLargura;
novaAltura;
se (larguraAtual >= alturaAtual)
{
razao = larguraAtual / alturaAtual;
novaLargura = *largura máxima que você quer*
novaAltura = novalLargura / razao;
}
Pronto.
On 17 jul, 09:29, "Alexandre Bini" <[EMAIL PROTECTED]> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---