I have a class that generates thumbnail correctly, but when sending photos vertically, it stretches. How would I go into this class to crop or resize the photo so that it fits the thumbnail dimensions?
/**
* Cria thumbnail das imagens
* @return $diretorioThumb.$codificarFoto
* @param $foto
*/
public function gerarThumb($foto){
$diretorioNormal = "produtos/";
$diretorioThumb = "produtos/thumb/";
$fotoDir = $diretorioNormal.$foto;
list($largura,$altura) = getimagesize($fotoDir);
$novaLargura = 240;
$novaAltura = 165;
$codificarFoto = $foto;
list($arquivo,$extensao) = explode(".",$foto);
if($extensao == "jpg" || $extensao == "jpeg" || $extensao == "JPG"){
$miniatura = imagecreatetruecolor($novaLargura, $novaAltura);
$imagem = imagecreatefromjpeg($fotoDir);
imagecopyresampled($miniatura, $imagem, 0, 0, 0, 0, $novaLargura, $novaAltura, $largura, $altura);
imagejpeg($miniatura,$diretorioThumb.$codificarFoto,90);
}
if($extensao == "png"){
$miniaturaPNG = imagecreatetruecolor($novaLargura, $novaAltura);
$imagemPNG = imagecreatefrompng($fotoDir);
imagecopyresampled($miniaturaPNG, $imagemPNG, 0, 0, 0, 0, $novaLargura, $novaAltura, $largura, $altura);
imagepng($miniaturaPNG,$diretorioThumb.$codificarFoto,null,90);
}
return $diretorioThumb.$codificarFoto;
} // fim do método gerarThumb