如何在保持宽高比的同时调整图像大小

how to resize an image while maintaining width and height ratio

我正在使用此功能调整上传图片的大小:

function imageResize($imageResourceId,$width,$height) {

    $targetWidth =750;
    $targetHeight =300;

    $targetLayer = imagecreatetruecolor($targetWidth,$targetHeight);
    imagecopyresampled($targetLayer,$imageResourceId,0,0,0,0,$targetWidth,$targetHeight, $width,$height);

    return $targetLayer;
}

但这会使图像的宽度为 750,高度为 300。高度应该是灵活的,取决于宽度。 所以我正在寻找这样的东西:

 $targetWidth = 750;
 $targetHeight = auto;

我真的不知道我应该怎么做...

您可以轻松计算原始图像的比例并将其应用于调整后的图像:

$targetHeight = ($height / $width) * $targetWidth