Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cassiano óliver

[Resolvido] Cálculo de largura proporcional de uma imagem...

Recommended Posts

Pessoal, to com um probleminha...

 

tenho esse script pra redimensionar imagem...

PHP
<?php

header("Content-type: image/jpeg");

 

# Informa a imagem a ser redimensionada

$img      = imagecreatefromjpeg($_GET['imagem']);

 

# Informações originais sobre a imagem

$largurao = imagesx ($img); // largura original

$alturao  = imagesy ($img); // altura original

$larguran = 400; // largura nova

$alturan  = 300; // altura nova

 

#Criando a nova imagem

$nova     = imagecreatetruecolor ($larguran, $alturan);

imagecopyresized ($nova, $img, 0, 0, 0, 0, $larguran, $alturan, $largurao, $alturao);

imagejpeg ($nova);

imagedestroy ($nova);

imagedestroy ($img);

?>

 

Do jeito que está aí, tá funcionando...

 

Mas quero mudar a $larguran, deixando seu valor sempre proporcional, independente do tamanho original da imagem...

 

fiz o cálculo da seguinte forma...

 

PHP
$larguran = ($largurao * $alturan) / $alturao

 

mas dá dando erro no script, o cálculo está correto...

mas o script não ta funcionando....

 

dá o seguinte erro...

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\Arquivos de programas\Apache Group\Apache\htdocs\v2.0\administracao\galerias\redimensiona_foto.php on line 14

 

Warning: imagecopyresized(): supplied argument is not a valid Image resource in C:\Arquivos de programas\Apache Group\Apache\htdocs\v2.0\administracao\galerias\redimensiona_foto.php on line 15

 

Warning: imagejpeg(): supplied argument is not a valid Image resource in C:\Arquivos de programas\Apache Group\Apache\htdocs\v2.0\administracao\galerias\redimensiona_foto.php on line 16

 

Warning: imagedestroy(): supplied argument is not a valid Image resource in C:\Arquivos de programas\Apache Group\Apache\htdocs\v2.0\administracao\galerias\redimensiona_foto.php on line 17

Ah, e outra coisa, as imagens estão ficando com a qualidade não muito boa...

tem como ajustar isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mesmo erro...

mas me deu uma louca aqui e mudei isso...

PHP
$larguran = $larguran = ($largurao * $alturan) / $alturao; // largura nova

$alturan  = 300; // altura nova

 

para isso...

PHP
$alturan   = 300; // altura nova

$larguran = $larguran = ($largurao * $alturan) / $alturao; // largura nova

isso mesmo hahaha

só troquei as variáveis posição...

agora funcionou...

 

e sobre a qualidade da imagem também achei a solução...

PHP
imagejpeg ($nova, '', 95);

 

vlw pela atenção beraldo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como é que voCê ia chamar $alturan antes de declarar?

A sua f´rmula tava sendo feita assim 0/alturao

o resultado daria 0 e a função de redimensionamento falhava

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.