如何调整要上传的图像

问题描述:

我有一个表单来上传图像,但我想更改图像宽高比,使其为正方形而不裁剪任何图像。如何调整要上传的图像

例如,如果图像是500像素×600像素,图像将被调整为500像素×500像素,而没有裁剪出100像素。

这里是上传表单:

$target_dir = "Uploads/"; 
$name = $_FILES["image"]["name"]; 
$name = md5($name); 
$name = $name . uniqid($name); 
$path = $_FILES["image"]["name"]; 
$ext = pathinfo($path, PATHINFO_EXTENSION); 
$name = $name.".".$ext; 
$target_file = $target_dir . $name; 

if(isset($_POST['submit'])) 
{ 
move_uploaded_file($_FILES["image"]["tmp_name"], $target_file); 

$SQL = "INSERT INTO Posts (image) VALUES ('$target_file')"; 
$result = mysql_query($SQL); 
} 

这一切工作出色,但我想知道,如果有我可以实现做调整大小,然后发送到目录的代码一点点。

在此先感谢您的帮助。

您需要使用库函数来缩放图像。例如,Imagick::scaleImage

考虑保持纵横比相同,并简单地将图像缩小到所需的范围内(如链接的scaleImage)。