Jump to content


Photo

Tamanho Da Imagem


  • Faça o login para participar
2 replies to this topic

#1 dado182

dado182

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 16/05/2004, 01:38

Gostaria de saber como posso fazer pra quando eu fazer upload de uma foto ela vá sempre de um mesmo tamanho! Valeu! :blink:

#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 16/05/2004, 06:35

    // Obtendo as dimensões do arquivo recebido
    $dimensoes = getimagesize ($imagem["tmp_name"]);

    // Fazendo a redução do tamanho, caso necessário
    if (max ($dimensoes) > 250) {

      // Especificando uma saída de imagens
      header ("Content-type: image/png");

      //Verificando o tipo do arquivo.
      if (($imagem["type"] == "image/pjpeg") or ($imagem["type"] == "image/jpeg")) {
        $imagemMaior = imagecreatefromjpeg ($imagem["tmp_name"]);
      }
      elseif ($imagem["type"] == "image/gif") {
        $imagemMaior = imagecreatefromgif ($imagem["tmp_name"]);
      }

      // Obtendo a largura e altura originais
      $larguraMaior = $dimensoes[0];
      $alturaMaior = $dimensoes[1];

      // Calculando a porcentagem de redução
      $porcentagem = max ($dimensoes) / 250;

      // Calculando as medidas máximas
      $larguraAceitavel = floor ($dimensoes[0] / $porcentagem);
      $alturaAceitavel = floor ($dimensoes[1] / $porcentagem);

      // Criando uma nova imagem com base nas medidas obtidas
      $novaImagem = imagecreatetruecolor ($larguraAceitavel, $alturaAceitavel);

      // Fazendo uma cópia da imagem original em menor escala
      imagecopyresampled ($novaImagem, $imagemMaior, 0, 0, 0, 0, $larguraAceitavel, $alturaAceitavel, $larguraMaior, $alturaMaior);

      // Gerando um nome para a imagem
      $nomeImagem = md5 (microtime());

      // Localização da imagem
      $localizacao = "Assets/$nomeImagem.png";

      // Criando a imagem e limpando a memória
      imagepng ($novaImagem, $localizacao);
      imagedestroy ($novaImagem);
      imagedestroy ($imagemMaior);
    }


Esse código fui eu quem fiz, pois tinha um sistema de cadastro de produtos onde as fotos tinham de ter no máximo 250x250. Sendo assim ele já no começo testa se alguma dimensão é maior e vai redimensionar... Vá vendo as funções que usei, está tudo comentado. Qualquer coisa é só falar!
Klaus Paiva
Conheça também: Taperás

#3 dado182

dado182

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 16/05/2004, 13:59

Vo testa ele...

Valeu ae =)




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq