Olá pessoal, fiz uma pequena página para upload de imagens, porém quando faço o crop utilizando do comando imagecopyresampled ele corta a imagem mas deixa um espaço preto no local cortado, como resolver? Meu código: move_uploaded_file($_FILES['file']['tmp_name'], $path.$name.".jpg");
$getimg = imagecreatefromjpeg($path.$name.".jpg");
$width = imagesx($getimg);
$height = imagesy($getimg);
if ($height > $width) $cut = $height/2; else $cut = 0;
$new_height_mini = (130*$height)/$width;
if ($new_height_mini > 90) $new_height_mini = 90;
$create_mini = imagecreatetruecolor(130, $new_height_mini);
imagecopyresampled($create_mini, $getimg, 0, 0, 0, $cut, 130, $new_height_mini, $width, $height);
$pathm = "../../".$pathm;
imagejpeg($create_mini, $pathm.$name.".jpg"); A idéia do código é criar uma minitura e manter uma largura padrão para elas de 130px e uma altura máxima de 90px de forma que todas possam ser exibidas em widescreen, mesmo aquelas fotos que foram tiradas em pé (onde a altura é maior que a largura) mas sem distorcer essas. Agora segue exemplo do que se passa e do que eu quero: Miniatura com o corte negro: Miniatura como eu gostaria que ficasse: Imagem original: Agradeço desde já e peço desculpas pela imagem grande.