【发布时间】:2013-12-17 08:48:07
【问题描述】:
我想防止添加到电子邮件附件中的 JPG 图像大小为 250kB 或更小。我发现,对于 JPG 图像,这是非常非线性的,所以我做了一些测试,并确定我可以允许的最大像素为 2000000。
所以现在,我需要将每个图像的大小调整为 2000000 像素或尽可能接近的值。然而,这听起来很不可能:
x2*y2 = 2000000
x2/y2 = x/y //The aspect ratio must be the same
那么有什么解决办法呢?
我对这个问题的看法:
- 对于
NxN图像,比率等于1。(当然是N=N) - 对于 9 个像素和比率 1:
x = y = sqrt(9) = 3 - 对于
NxM图像,其中N!=M和M∨N=1的比率为1/M 或N/1。对于p像素,图像将具有x=py=1或反之亦然。
从3.我知道X和Y都是1和sqrt(p)之间的值。
【问题讨论】:
-
您想将较大的图片重新处理成较小的图片,还是只是阻止用户上传超过您的大小限制的图片?
-
只有较大的图像才能调整大小。是的,它们必须调整大小,而不是拒绝。
-
感谢您的评论,但我知道如何在 PHP 中调整图像大小。您可能已经注意到,
imagecopyresized需要两个图像的宽度和高度,而不仅仅是源。
标签: php image-processing resize