Php 如何限制上传时的图像宽度或高度
我想以类似的方式操作/调整图像大小,但我不确定什么是最好的方法。目标是允许肖像和风景图像的混合,但对最大高度和宽度施加一些限制 我看到的问题是,如果我调整到某个宽度,肖像图像可能会变得太薄,而风景图像则相反Php 如何限制上传时的图像宽度或高度,php,image-processing,height,width,Php,Image Processing,Height,Width,我想以类似的方式操作/调整图像大小,但我不确定什么是最好的方法。目标是允许肖像和风景图像的混合,但对最大高度和宽度施加一些限制 我看到的问题是,如果我调整到某个宽度,肖像图像可能会变得太薄,而风景图像则相反 关于如何使用PHP实现这些结果,您有什么想法吗?您只需要了解图像的两条边中哪一条更长,然后按比例计算其他维度。如果最大长egde为1024,则如果两条边中的一条较大,则将其设置为1024,然后计算另一条以适合比例。然后将这两个值传递给图像管理函数 就像这里: 或在此: 检查最大尺寸,然后根
关于如何使用PHP实现这些结果,您有什么想法吗?您只需要了解图像的两条边中哪一条更长,然后按比例计算其他维度。如果最大长egde为1024,则如果两条边中的一条较大,则将其设置为1024,然后计算另一条以适合比例。然后将这两个值传递给图像管理函数 就像这里: 或在此:
检查最大尺寸,然后根据比率调整大小。下面是一个伪代码示例:
if($imageHeight > $maxHeight) {
$newHeight = $maxHeight;
$newWidth = $imageWidth * ($maxHeight / $imageHeight);
}
if($imageWidth > $maxWidth) {
$newWidth = $maxWidth;
$newHeight = $imageHeight * ($maxWidth / $imageWidth);
}
resize($image, $newWidth, $newHeight);
它首先检查高度,如果高度更大,它会将其缩小。然后检查宽度。如果宽度太大,它会再次缩小。最终结果,高度和宽度都将在您的范围内。它使用比率进行缩放
注意,这是伪密码。实际的resize函数调用将取决于您的图像处理库——获取图像大小的调用也是如此。试试这个
$needheight = 1000;
$needwidth = 1000;
$arrtest = getimagesize($upload_image_physical_path);
$actualwidth = $arrtest[0];
$actualheight = $arrtest[1];
if($needwidth > $actualwidth || $needheight > $actualheight){
//uplaod code
}
干杯