PHP按比例调整大小
可能重复:PHP按比例调整大小,php,upload,Php,Upload,可能重复: 所以我有一个简单的上传脚本,可以调整上传图片的大小,我想强制调整宽度大小,让高度自动成比例 这是我的上传脚本: if (isset($_POST['upload'])) { $dirupload = "../images/"; $dirupload = $dirupload . basename( $_FILES['image-upload']['name']); $useless = $_POST['useless'];
所以我有一个简单的上传脚本,可以调整上传图片的大小,我想强制调整宽度大小,让高度自动成比例 这是我的上传脚本:
if (isset($_POST['upload'])) {
$dirupload = "../images/";
$dirupload = $dirupload . basename( $_FILES['image-upload']['name']);
$useless = $_POST['useless'];
$imageupload = ($_FILES['image-upload']['name']);
$uploadedfileupload = $_FILES['image-upload']['tmp_name'];
$uploadedfiletypeupload = $_FILES['image-upload']['type'];
$query_add="SELECT * FROM produits ORDER BY position";
$result_add=mysql_query($query_add);
$num_add=mysql_num_rows($result_add);
$add_add=$num_add+1;
if (!($uploadedfiletypeupload =="image/pjpeg" OR $uploadedfiletypeupload =="image/jpeg" OR $uploadedfiletypeupload =="image/jpg")){
echo "L'image doit être en .jpg ou .jpeg";
}else if (move_uploaded_file($_FILES['image-upload']['tmp_name'], $dirupload)){
$sql="INSERT INTO produits (position) VALUES ('$add_add')";
if (!mysql_query($sql,$con)){
die('Error: ' . mysql_error());
}
$newnameupload = "../images/produit" . mysql_insert_id() . ".jpg";
rename ("../images/$imageupload","$newnameupload");
$orig_imageupload = imagecreatefromjpeg("../image/$newnameupload");
$sm_imageupload = imagecreatetruecolor(274,219);
imagecopyresampled($sm_imageupload,$orig_imageupload,0,0,0,0,274,219,imagesx($orig_imageupload),imagesy($orig_imageupload));
imagejpeg($sm_imageupload, $newnameupload, 100);
}else{
echo "Un probleme est survenue";
}
}
有没有办法让这一切顺利进行?(是的,我现在在脚本中设置了高度)
提前谢谢 我认为,最好的方法是使用一些图像处理库。因为这是一种裁剪和调整大小的选择。有时,如果不进行裁剪,图像无法按比例缩小到所需大小 看看:
它们都有您需要的内置功能,并且非常友好和灵活。计算宽度到高度的系数,如
$factor=$height/$width代码>
然后
你的脚本有什么问题?脚本没有问题,我只是想看看如何只设置宽度,让高度自动成比例。PHP有很多图像控制库,你可以寻找一个并使用它。它将按比例调整大小或裁剪以填充空白,等等。
$newHeight = $newWidth * $factor;