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 flexdev@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Responder a