计算图像尺寸比率以调整大小

计算图像尺寸比率以调整大小,第1张

计算图像尺寸比率以调整大小

这是我个人抓取图像大小调整代码的代码。首先,您需要的数据:

list($originalWidth, $originalHeight) = getimagesize($imageFile);$ratio = $originalWidth / $originalHeight;

然后,此算法会尽最大可能使图像适合目标尺寸,同时保持原始宽高比,而不会拉伸大于原始图像的尺寸:

$targetWidth = $targetHeight = min($size, max($originalWidth, $originalHeight));if ($ratio < 1) {    $targetWidth = $targetHeight * $ratio;} else {    $targetHeight = $targetWidth / $ratio;}$srcWidth = $originalWidth;$srcHeight = $originalHeight;$srcX = $srcY = 0;

这会裁剪图像以完全填充目标尺寸,而不是拉伸图像:

$targetWidth = $targetHeight = min($originalWidth, $originalHeight, $size);if ($ratio < 1) {    $srcX = 0;    $srcY = ($originalHeight / 2) - ($originalWidth / 2);    $srcWidth = $srcHeight = $originalWidth;} else {    $srcY = 0;    $srcX = ($originalWidth / 2) - ($originalHeight / 2);    $srcWidth = $srcHeight = $originalHeight;}

这实际上是调整大小:

$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);imagecopyresampled($targetImage, $originalImage, 0, 0, $srcX, $srcY, $targetWidth, $targetHeight, $srcWidth, $srcHeight);

在这种情况下,

$size
宽度和高度(目标尺寸的平方)只是一个数字。我确定您可以修改它以使用非正方形目标。它还应该给您启发,您可以使用其他调整大小的算法。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5602498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存