PHP脚本计算图像宽高比?

3ks5zfa0  于 2023-01-01  发布在  PHP
关注(0)|答案(4)|浏览(120)

我正试图找到一种方法来计算图像的宽/高比,以调整它的大小并保持比例。
例如,我想调整500 x750图像的大小,并将其宽度减小到350。应使用与350成比例的什么高度?

8nuwlpux

8nuwlpux1#

使用Javascript。
请参阅本教程:http://www.ajaxblender.com/howto-resize-image-proportionally-using-javascript.html
使用另一个人发布的函数:

<?PHP

$imagePath = "images/your_image.png";

list($oldWidth, $height, $type, $attr) = getimagesize($image_path); 

$percentChange = $newWidth / $oldWidth;
$newHeight = round( ( $percentChange *$height ) );

echo '<img src="'.$imagePath.'" height="'.$new_height.'" width="'.$newWidth.'">';

?>
6mw9ycah

6mw9ycah2#

我想这就是你要找的php函数:getimagesize
来自手册:
返回一个包含7个元素的数组。
索引0和1分别包含图像的宽度和高度。
下面是一个简短的示例,说明如何使用它来解决您的问题:

// get the current size of your image
$data = getimagesize('link/your/image.jpg');

// your defined width
$new_width = 350;

// calculate the ratio
$ratio = $data[0] / $new_width;

// apply the ratio to get the new height of your image
$new_height = round($data[1] / $ratio);

......搞定!

t9aqgxwy

t9aqgxwy3#

使用getImagesize并通过除以纵横比获得新的高度。

list($width, $height, $type, $attr) = getimagesize("image.jpg");
$aspect = $width / $height;
$newWidth = 350;
$newHeight = $newWidth / $aspect;
wlzqhblo

wlzqhblo4#

您已经用PHP标记了您的问题,所以假设您想使用PHP:
要从图像资源获取图像的高度或宽度,请使用imagesx()imagesy()http://www.php.net/manual/en/function.imagesx.php
http://www.php.net/manual/en/function.imagesy.php
要从图像文件中获取图像的高度和宽度,请使用getimagesize()。该函数返回的数组中的第0项和第1项是图像的宽度和高度。http://www.php.net/manual/en/function.getimagesize.php
如果图像宽500像素,高750像素,容器宽350像素,则可以通过将所需宽度除以实际宽度来计算比率:也就是0.7,要计算高度,乘以这个比值(750 * 0.7525)。

相关问题