我有一个上传图片的表单,但我想更改图像宽高比,使其成为正方形而不裁剪任何图像。
例如,如果图像是500px×600px,则图像将调整为500px×500px,而不会裁剪掉100px。
以下是上传表单:
$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);
}
这一切都很出色,但我想知道是否有一些代码可以实现调整大小,然后再发送到目录。
提前感谢您的任何帮助。
答案 0 :(得分:0)
您需要使用库函数来缩放图像。例如,Imagick::scaleImage。
考虑保持纵横比相同,只需将图像缩小到所需的范围内(如链接的scaleImage所做的那样)。