0

当用户使用特定浏览器、操作系统或屏幕尺寸(用于区分移动设备和桌面用户)时,我想即时减小 jpeg 的图像大小(和质量)。我该怎么做呢?我想我会调用一个返回图像的脚本,例如

<img src="<?resize.php?file=test.jpg&quality=75?>" 

在我的 resize.php 中,我需要将 test.jpg 转换为 imagejpeg ()的$image资源,我可以使用它来设置图像质量。我该如何进行转换?也会

echo imagejpeg($img,NULL,$quality);

导致使用上面的 html 片段显示图像?

4

2 回答 2

2

您需要编写调整大小的例程,然后让它保存某人可通过网络访问。而且我会在您第一次调整文件大小时缓存文件,这样您就不必在每次有人加载页面时都调整它的大小。

于 2012-12-10T00:33:17.910 回答
1

两个反对意见:

  • img src需要一个 URL,而不是图像本身(实际上,可以是一个数据 URL,但这是非常错误的,尤其是在尝试压缩时)

  • 为什么要为每次点击重新渲染图像?那将是非常缓慢和低效的。只需预渲染它们并根据用户的规格选择其中一种变体。

如果您仍想即时调整大小,请使用脚本resize.php或类似工具来输出给定大小的图像。该脚本必须设置正确的Content-Type标题(image/jpg例如,您的示例)。然后将其用作标签:

<img src="resize.php?file=test.jpg&quality=75">

(注意:没有 PHP 标签,这只是一个链接!)

于 2012-12-10T00:28:45.660 回答