Ir para conteúdo
Fórum Script Brasil
  • 0

Pegar a altura proporcional a largura de uma imagem


Jefferson Oliveira

Pergunta

Olá pessoal estou empancado nesse problema, ele esta meio complicado, mais tem algumas imagens que vem distorcidas com a altura baixa e ai a imagem fica esticada. Esse sistema é uma sistema de thumbnail que eu criei. a parte que faz a medicao e essa aqui abaixo:

list($largura, $altura) = getimagesize($imagem);
#LARGURA DA MINIATUREA
$mini_largura     = $_GET["tam"];

if($largura > $altura){
#redmensiona pela largura
$mini_altura     =  ($altura * $mini_largura) / $largura;

}elseif($largura < $altura){

$mini_altura     =  ($largura * $mini_largura) / $altura;

}else{
$mini_altura     =  $mini_largura;
}

alguém já fez um parecido pra me ajudar?

OBS: algumas imagens ficam perfeitas outras não.

Editado por Jefferson Oliveira
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
<?php
$mini_largura = 100; // $_GET["tam"];

list($largura, $altura) = getimagesize($imagem);

$size_altura = ($mini_largura * $altura);
$size_altura = round($size_altura / $largura);

echo "Width: " . $mini_largura . " - Height: " . $size_altura;
?>

Editado por SK15
Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal vou postar o script que fiz

Agora salve como que quiser e pra chamar o script é simples

<img src="miniatura.php?imagem=img/noticias/foto.jpg&tam=100" >

Estou estudando pra suportar todos os tipos de imagens

E já estou fazendo ORIENTADO A OBJETOS

Veja o código do script:

<?php
// By: Jefferson Oliveira :D >> PROGRAMAR É ARTE

#header que diz que esse arquivo será uma imagem
header("Content-type: image/jpeg");

//recebe a url da imagem
$imagem = $_GET['imagem'];


#criando um array da largura e da altura da imagem
list($largura, $altura) = getimagesize($imagem);


#LARFURA DA MINIATUREA
$mini_largura     = $_GET["tam"];


if($largura > $altura){
#redmensiona pela largura
$mini_altura     =  ($altura * $mini_largura) / $largura;

}elseif($largura < $altura){

$mini_altura     =  ($largura * $mini_largura) / $altura;

}else{
$mini_altura     =  $mini_largura;
}

#GERANDO MINIATURA ^^
$miniatura         = imagecreatetruecolor($mini_largura, $mini_altura);
$imagemorigial     = imagecreatefromjpeg($imagem);
imagecopyresampled($miniatura, $imagemorigial, 0, 0, 0, 0, $mini_largura, $mini_altura, $largura, $altura);

#Qualidade da miniatura de 0 a 100
imagejpeg($miniatura, null, 100);
imagedestroy($miniatura);

?>

Editado por Jefferson Oliveira
Link para o comentário
Compartilhar em outros sites

  • 0

Jefferson Oliveira...

Mudei um pouco sei script pra que ficasse todas proporcionais , ver ai como ficou agr.

<?php
// By: Jefferson Oliveira :D >> PROGRAMAR É ARTE
//By: David Guilherme :D >> Participação Especial... kkk

#header que diz que esse arquivo será uma imagem
header("Content-type: image/jpeg");

//recebe a url da imagem
$imagem = $_GET['imagem'];


#criando um array da largura e da altura da imagem
list($largura, $altura) = getimagesize($imagem);


#DIMENSÃO DA MINIATURA
$mini_largura  = $_GET["tam"];
$mini_altura  = ($mini_largura * $altura) / $largura;

#GERANDO MINIATURA ^^
$miniatura         = imagecreatetruecolor($mini_largura, $mini_altura);
$imagemorigial     = imagecreatefromjpeg($imagem);
imagecopyresampled($miniatura, $imagemorigial, 0, 0, 0, 0, $mini_largura, $mini_altura, $largura, $altura);

#Qualidade da miniatura de 0 a 100
imagejpeg($miniatura, null, 100);
imagedestroy($miniatura);

?>

Editado por david.lyonnais
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...