I have an image upload system and as a result follows as below:
HowwouldIdothat,regardlessofthesizeoftheimage,itcutandfittothesizeallowed,withoutstretchingtheimage.TheinitialcodeImadefollows:
publicfunctiongerarThumb($id,$modulos,$diretorio,$foto){$diretorioNormal=$diretorioUsuario."/imagens/";
$diretorioThumb = $diretorio."/imagens/thumb/";
$fotoDir = $diretorioNormal.$foto;
list($largura,$altura) = getimagesize($fotoDir);
list($arquivo,$extensao) = explode(".",$foto);
if($extensao == "jpg" || $extensao == "jpeg" || $extensao == "JPG"){
if($largura > $altura){
$novaLargura = 500; // 296
$novaAltura = 300; //219
$miniatura = imagecreatetruecolor($novaLargura, $novaAltura);
$imagem = imagecreatefromjpeg($fotoDir);
imagecopyresampled($miniatura, $imagem, 0, 0, 0, 0, $novaLargura, $novaAltura, $largura, $altura);
imagejpeg($miniatura,$diretorioThumb.$foto,90);
}
if($altura > $largura){
$novaLargura = 170;
$novaAltura = 240;
$miniatura = imagecreatetruecolor($novaLargura, $novaAltura);
$imagem = imagecreatefromjpeg($fotoDir);
imagecopyresampled($miniatura, $imagem, 0, 0, 0, 0, $novaLargura, $novaAltura, $largura, $altura);
imagejpeg($miniatura,$diretorioThumb.$foto,90);
}
if($altura == $largura){
$novaLargura = 240;
$novaAltura = 240;
$miniatura = imagecreatetruecolor($novaLargura, $novaAltura);
$imagem = imagecreatefromjpeg($fotoDir);
imagecopyresampled($miniatura, $imagem, 0, 0, 0, 0, $novaLargura, $novaAltura, $largura, $altura);
imagejpeg($miniatura,$diretorioThumb.$foto,90);
}
}
if($extensao == "png"){
if($largura > $altura){
$novaLargura = 500;
$novaAltura = 300;
$miniaturaPNG = imagecreatetruecolor($novaLargura, $novaAltura);
$imagemPNG = imagecreatefrompng($fotoDir);
imagecopyresampled($miniaturaPNG, $imagemPNG, 0, 0, 0, 0, $novaLargura, $novaAltura, $largura, $altura);
imagepng($miniaturaPNG,$diretorioThumb.$foto,null,90);
}
if($altura > $largura){
$novaLargura = 170;
$novaAltura = 240;
$miniaturaPNG = imagecreatetruecolor($novaLargura, $novaAltura);
$imagemPNG = imagecreatefrompng($fotoDir);
imagecopyresampled($miniaturaPNG, $imagemPNG, 0, 0, 0, 0, $novaLargura, $novaAltura, $largura, $altura);
imagepng($miniaturaPNG,$diretorioThumb.$foto,null,90);
}
if($altura == $largura){
$novaLargura = 240;
$novaAltura = 240;
$miniaturaPNG = imagecreatetruecolor($novaLargura, $novaAltura);
$imagemPNG = imagecreatefrompng($fotoDir);
imagecopyresampled($miniaturaPNG, $imagemPNG, 0, 0, 0, 0, $novaLargura, $novaAltura, $largura, $altura);
imagepng($miniaturaPNG,$diretorioThumb.$foto,null,90);
}
}
list($excluir,$diretorio) = explode("../",$diretorio);
$caminhoAbsoluto = "".$this->caminhoAbsoluto($http = 'off')."/".$diretorio."/imagens/thumb/";
return $caminhoAbsoluto.$foto;
}