[Resolvido] Problema em redimensionar imagem com PHP
Oi pessoal...
Fui neste tópico aqui do fórum Tópico e aí peguei uma função que redimensiona imagens. O problema é que quando passo a minha imagem para a função da um erro. O que eu pretendo é capturar uma imagem vinda de um formulário, usar uma função para redimensioná-la e então salvá-la no computador através do move_uploaded_file().
/**
* Verifica se é um resource identificador da imagem
*/
function error_image( $image )
{
if( ! is_resource( $image ) )
{
trigger_error( sprintf( '%s is not an image resource identifier!', $image ), E_USER_ERROR );
}
}/**
* Redimensiona a imagem proporcionalmente
*/
function resize_relative( $image, $new_width, $new_height )
{
error_image( $image );
$new_width = ( int ) $new_width;
$new_height = ( int ) $new_height;
$old_width = imagesx( $image );
$old_height = imagesy( $image );
$ratio_orig = ( $old_width / $old_height );
if( $new_width / $new_height > $ratio_orig )
{
$dif_w = ( $new_height * $ratio_orig );
$dif_h = $new_height;
}
else
{
$dif_w = $new_width;
$dif_h = ( $new_width / $ratio_orig );
}
$img = imagecreatetruecolor( $dif_w, $dif_h );
imagecopyresampled( $img, $image, 0, 0, 0, 0, $dif_w, $dif_h, $old_width, $old_height );
return $img;
}// ... E aí peguei a imagem que recebi por formulário e passei para a função ...
$imagem = $_FILES['minhaImagem']['tmp_name'];
$imRedim = resize_relative($imagem,100,75);
Eu suponho que meu erro seja porque arquivos temporários (.tmp) não sejam imagens. Aliás, não são. Mas então, como é que eu faço? Dá pra fazer o que eu quero por Javascript? No meu entender sería até mais aconselhável, já que é client side e não sobrecarregaria o servidor. Alguém me ajuda?
Discussão (3)
Carregando comentários...