【发布时间】:2014-12-01 14:17:27
【问题描述】:
我允许我的用户发布不同分辨率的图像。然后我使用 php 来适应所需的大小并减小为这些图像拍摄的大小。图像为 400x360 像素。但问题在于调整大小后的图像。图像缩小如下:
如果图像的比例相同。然后图像不受影响。是否有完美的图像策略或php函数。我知道不同大小的图像只能以这种方式调整大小。我想知道有没有办法显示图片?
【问题讨论】:
我允许我的用户发布不同分辨率的图像。然后我使用 php 来适应所需的大小并减小为这些图像拍摄的大小。图像为 400x360 像素。但问题在于调整大小后的图像。图像缩小如下:
如果图像的比例相同。然后图像不受影响。是否有完美的图像策略或php函数。我知道不同大小的图像只能以这种方式调整大小。我想知道有没有办法显示图片?
【问题讨论】:
你可以计算
$factor = $imgheight / $imgwidth;
而且,如果您希望图像始终保持不变,例如 300 像素宽度,只需拍摄
$widthnew = 300;
$heightnew = $widthnew * $factor;
因此您将始终正确显示图像。
作为一个简单的函数:
function imageheight($widthnew, $imgheight, $imgwidth) {
$factor = $imgheight / $imgwidth;
$heightnew = $widthnew * $factor;
return $heightnew;
}
【讨论】:
你想要的是裁剪它。
尝试调整图像大小,直到高度达到您想要的高度。然后,完全忽略宽度,而是剪掉部分宽度。
例如收缩
##############################
# #
# #
# #
# #
# #
# #
# #
# #
##############################
到
###############
# #
# #
# #
###############
然后裁剪:
### ------- ###
# | , , | #
# | _ | #
# | __/ | #
### ------- ###
【讨论】: